JS神经网络deeplearn.js:浏览器端机器智能框架

JS神经网络deeplearn.js:浏览器端机器智能框架

通过 deeplearn.js,可以实现在浏览器中训练神经网络模型,也可在推理阶段运行预训练模型。

deeplearn.js 以 TypeScript 作为首选语言,提供了可用于构建可微数据流图的 API,以及一系列可以直接使用的数学函数。该库有两个 API 模型,一个是即时执行模型(可认为是 NumPy),另一个是基于 TensorFlow 的 API 镜像的延时执行模型。该库还支持从 TensorFlow 检查点将权重转储为可以导入 deeplearn.js 的格式,但开发者必须在 deeplearn.js 中重新创建模型,并使用该检查点的权重。

deeplearn.js 正计划建立一种可以直接从 TensorFlow 将模型端口从 GraphDef 自动传输到 deeplearn.js 的方法。同时该库使用 OES_texture_float 扩展以定位支持 WebGL 1.0 和 WebGL 2.0 的设备,对于不支持 WebGL 的设备,deeplearn.js 还提出了 CPU 回退机制。

在 deeplearn.js 中,NDArray 是其核心数据单元,包括一系列浮点值,可以用于将其构建为任意维数的数组。NDArray 也拥有一个用来定义形状的 shape 属性。例如一个 3*2 的矩阵用法如下:

const shape = [3,2]; // 3 行,2 列 const matrix = Array2D.new(shape,[1.0,2.0,4.0,6.0,3.0,2.0]);
该库还提供了一个 NDArrayMath 基类,定义了一系列在 NDArray 上运行的数学函数,为模型内数据操作提供方便。在 deeplearn.js 中,可微数据流图和 TensorFlow 一样,使用的是延迟执行模型。通过 FeedEntrys 提供的输入 NDArray 构建一个计算图,然后再在上面进行训练或推断。其中 FeedEntry 对象和 TensorFlow 中的 feed_dict 类似,用来提供运行所需的数据。

在当前深度学习的浪潮下,deeplearn.js 为浏览器构建了强大的交互式机器学习工具,几乎可以被用在任何领域,包括教育、模型的理解、艺术项目等。

目前在官网上推出了 4 个 Demo:

Model Builder:可以不用编程在浏览器上构建神经网络。

Webcam Imagenet:在浏览器上运行的 Squeezenet,可使用多种模式识别图像中的物体。

NNArt:一个动画显示的 CPPN,可调节颜色等多种参数。

Benchmarks:针对该库的一个性能测试。

 

posted @   大自然的流风  阅读(2337)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
历史上的今天:
2016-09-09 bootstrap实现 手机端滑动效果,滑动到下一页,jgestures.js插件
2015-09-09 Mysql初始化root密码和允许远程访问
点击右上角即可分享
微信分享提示