写点什么

deeplearn.js:浏览器端机器智能框架

  • 2017-08-10
  • 本文字数:949 字

    阅读完需:约 3 分钟

deeplearn.js 最初由 Google Brain PAIR 开发,是一款基于硬件加速的开源 JavaScript 库,可被用在机器智能领域。该库将高性能的机器学习构建模块引入到 web 开发领域。PAIR 是 People Plus AI Research 的简称,意为“人 + 人工智能研究”,目标在于“使 AI 更加注重人性”。通过 deeplearn.js,可以实现在浏览器中训练神经网络模型,也可在推理阶段运行预训练模型。

deeplearn.js 目前已经开源,地址是: https://github.com/PAIR-code/deeplearnjs

deeplearn.js 以 TypeScript 作为首选语言,提供了可用于构建可微数据流图的 API,以及一系列可以直接使用的数学函数。该库有两个 API 模型,一个是即时执行模型(可认为是 NumPy),另一个是基于 TensorFlow 的 API 镜像的延时执行模型。该库还支持从 TensorFlow 检查点将权重转储为可以导入 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 为浏览器构建了强大的交互式机器学习工具,几乎可以被用在任何领域,包括教育、模型的理解、艺术项目等。


感谢徐川对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017-08-10 19:006353

评论

发布
暂无评论
发现更多内容

reFX Nexus for Mac 专业的音乐制作软件 其丰富的音色库包含大量高质量预设

理理

【稳定性】上线三板斧(可灰度、可验证、可回滚)

京东科技开发者

VMware Integrated OpenStack 7.3 现已支持 vSphere 8.0U3 和 NSX 4.2 互操作性

sysin

vmware OpenStack

MES在传统制造业中的核心作用与应用策略

万界星空科技

数字化 mes 万界星空科技 制造业工厂 制造业转型

一本书精通复杂的后端系统

博文视点Broadview

Imagenomic Noiseware破解版 (ps图像降噪滤镜) mac/win

理理

小小的日志,大大的坑

京东科技开发者

Nexpose 7.0.0 for Linux & Windows - 漏洞扫描

sysin

Nexpose

AI与低代码技术融合:如何加速企业智能化应用开发?

天津汇柏科技有限公司

低代码 AI人工智能

Plugin Alliance Brainworx Mäag Audio EQ4 for Mac(人声均衡器)

理理

NineData云原生智能数据管理平台新功能发布|2024年11月版

NineData

TDengine 签约安徽智质,助力海螺水泥智慧工厂升级

TDengine

数据库 tdengine 时序数据库

利用mybatis的typeHandler解决手动拆分拼接数据的麻烦

六哥是全栈

mybatis TypeHandler

宿迁等保测评机构有吗?在哪里?

行云管家

等保 等保测评 网龄安全 宿迁

扫盲Kafka?看这一篇就够了!

京东科技开发者

《Hive编程指南》读书笔记

京东科技开发者

2025史上最全Java面试题:初级-中级-高级!

程序员高级码农

Java 程序员 java面试 面试八股文 Java面试题

合合信息智能图像处理技术,让你的设备更智能

合合技术团队

人工智能 图像识别 图像处理 打印

保险业怎么定义?是否需要用到堡垒机?

行云管家

保险 堡垒机 等保合规 网龄安全

Arturia V Collection X for mac(经典合成器和键盘合集)

理理

“百度搜索们”会被“Kimi们”取代吗?

趣解商业

百度 互联网 科技 AI搜索

50款Vsco滤镜胶片Lightroom预设

理理

QT软件外包开发的注意事项

北京木奇移动技术有限公司

qt Qt Creator

即时通讯技术文集(第45期):微信、QQ技术精华合集(Part2) [共14篇]

JackJiang

即时通讯;IM;网络编程

C4D流体模拟插件NextLimit RealFlow汉化版下载 mac/win

理理

AE三维粒子插件 Trapcode Form 安装教程

理理

摄影师必备神器:Nik Collection滤镜套装全新升级

理理

测试开发工程师的福音:测试开发高薪私教进阶班,名企导师一对一,职场技能飞速提升!

测吧(北京)科技有限公司

测试

500种专业级Lut调色集合包-lut预设教程

理理

炫酷机车摄影调色Lightroom预设

理理

新回坡通过区块链技术实现商品溯源系统

北京木奇移动技术有限公司

区块链技术应用 区块链技术开发

deeplearn.js:浏览器端机器智能框架_语言 & 开发_愚一_InfoQ精选文章