写点什么

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:006264

评论

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

软件测试基础概念与原则

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

测试

从零到一:如何使用亮数据代理快速收集训练数据打造自己的AIGC大模型

热爱编程的小白白

活动报名 | 如何进行全增量一体的异构数据库实时同步

tapdata

oracle cdc 数据总线

云手机养号与传统的养号模式有何不同

Ogcloud

云手机 海外云手机 云手机海外版 国外云手机 社媒运营

持续集成与持续交付:概念与实践

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

测试

单元测试的重要性与实践方法

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

测试

卓越的声音控制软件SoundSource for mac激活版下载

iMac小白

视频无损放大修复工具:Topaz Video AI v5.0.1激活版

iMac小白

天池酒瓶瑕疵检测数据集分析及完整baseline

阿里云天池

阿里云

面试官:为什么忘记密码要重置而不是告诉你原密码?

不在线第一只蜗牛

Java 程序员 面试 密码管理

软件测试学习笔记丨业务架构分析思路

测试人

软件测试

百度赵世奇:人人都是「超级个体」时代来临

Geek_2d6073

你的数据库用对索引了吗?一文揭秘PolarDB XPlan索引选择

阿里云瑶池数据库

数据库 阿里云 polarDB 分布式,

朝着抵抗力最大的路径走-Rank16-强化学习、黑盒攻击、Baseline-SecurityAI

阿里云天池

阿里云

软件测试学习笔记丨Web自动化测试价值与体系

测试人

软件测试 测试开发 Web自动化测试

白盒测试:原理与实际操作

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

测试

Typora for Mac(Markdown文本编辑器)v1.8.10中文激活版

iMac小白

MacDroid pro for mac(安卓设备文件传输助手)1.8中文激活版

iMac小白

云手机助力舆情监测,智慧引领信息时代

Ogcloud

云手机 海外云手机 舆情监测 群控 云手机群控

企业IT部门在集成类项目中扮演的角色

RestCloud

数字化转型 IT ipaas

软件开发流程简介及优化方法论:SCRUM、XP、DevOps

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

测试

测试流程体系:传统、左移与右移的比较

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

测试

聊聊大模型的屏蔽词工程

快乐非自愿限量之名

前端 大模型 屏蔽词

PWA应用的核心技术都有哪些?

Geek_2305a8

多IP美国服务器:提升在线业务灵活性与安全性的最佳选择

一只扑棱蛾子

多IP服务器

借助jd.item_get API优化商品名称以提升用户购买意愿

技术冰糖葫芦

api 货币化 API 测试 API 策略

分层测试体系与各类测试技术

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

测试

UI 测试与接口测试的区别与应用

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

测试

王海峰:百度500万AI人才培养目标已提前达成

飞桨PaddlePaddle

人工智能 百度 AI BAIDU 文心一言

缺陷管理与软件测试的作用

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

测试

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