【AICon】探索八个行业创新案例,教你在教育、金融、医疗、法律等领域实践大模型技术! >>> 了解详情
写点什么

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

评论

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

【遇见Doris】4.13线下开发者沙龙分享--Doris主创团队

ApacheDoris

打通混合云网络孤岛,EBN助力企业灵活构建云骨干网

UCloud技术

多云架构 混合云

2021年Android面试心得,大厂面经合集

欢喜学安卓

android 程序员 面试 移动开发

简单快速搭建,全新语聊方案

anyRTC开发者

ios android 音视频 WebRTC RTC

Doris简史 - 为分析而生的11年

ApacheDoris

RUOYI框架教程1 |小白都能学会的3分钟搭建框架教程

Java_若依框架教程

Java 技术 Ruoyi 框架 若依

[C++总结记录]struct与class注意点

图解AI

c++

20天内看完这套GitHub标星18k+的Android资料,含泪整理面经

欢喜学安卓

android 程序员 面试 移动开发

NA公链(Nirvana)解决的六大问题在众多公链中脱颖而出NAC公链

区块链第一资讯

golang设置时区的多种方式

happlyfox

学习 3月日更 Go 语言

MapReduce中shuffle阶段的数据压缩机制

大数据技术指南

大数据 hadoop 3月日更

[C++总结记录]函数相关细节注意点

图解AI

c++

RUOYI 框架教程 2 |小白都能学会的 3 分钟搭建框架教程

Java_若依框架教程

Java 技术 Ruoyi 框架 若依

2021出海社交必看:产品、技术、运营指南

拍乐云Pano

音视频 RTC 社交APP出海 出海社交 社交泛娱乐

开抢| 华为开发者大会2021(Cloud)早鸟票来了!

华为云开发者联盟

华为 开发者

遇见Doris:Apache Doris (incubating)0.10.0开发者沙龙

ApacheDoris

[C++总结记录]构造函数与析构函数注意点

图解AI

别再说你不懂规则引起啦

比伯

Java 编程 程序员 架构 计算机

音视频开发——通信直播协议和视频推流丨RTMP-RTSP

Linux服务器开发

音视频 WebRTC ffmpeg 直播推流 SRS流媒体服务器

【遇见Doris】Apache Doris在一点资讯自媒体平台的应用

ApacheDoris

【遇见Doris】

Apache Doris(incubating) 0.12.0版本正式发布

ApacheDoris

K8s 原生 Serverless 实践:ASK 与 Knative

Serverless Devs

阿里云 Serverless Kubernetes 云原生

【遇见Doris】4.13线下开发者沙龙分享--搜狐团队

ApacheDoris

【遇见Doris】

【遇见Doris】4.13线下开发者沙龙分享--微博团队

ApacheDoris

【遇见Doris】

【遇见Doris】Apache Doris Parquet文件读取的设计与实现

ApacheDoris

【遇见Doris】

EGG Network构建千万级应用的聚合型永动金融公链 EFTalk

币圈那点事

【遇见Doris】Apache Doris 在京东广告平台的应用

ApacheDoris

【遇见Doris】

10种下载YouTube视频的方法-包含网站软件插件app等

Space空间

软件 网站 下载youtube视频

Spark性能调优-Shuffle调优及故障排除篇

五分钟学大数据

大数据 spark 3月日更

2021最新分享支付宝/美团/拼多多面经总结

比伯

Java 编程 架构 面试 程序人生

RUOYI 框架教程 0 | 我和RuoYi框架

Java_若依框架教程

Java 技术 Ruoyi 框架 若依

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