写点什么

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

评论

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

Java 字符串 split 的一个反直觉陷阱

mylxsw

Java 字符串 基础 陷阱

混沌工程之ChaosBlade利刃出鞘

柠檬汁Code(binbin0325)

混沌工程 故障注入 ChaosBlade Chaos Mesh

架构--模块六作业

李某人

架构训练营

Python 操作 lxml库与Xpath

度假的小鱼

11月月更 Python 操作 lxml库 UI自动化例子

第七章TCP/IP——ARP网络攻击与欺骗

初学者

网络 11月月更

阿里P8大牛刷算法的正确姿态!女朋友再也不用担心我刷不动力扣了

小二,上酒上酒

Java 编程 算法 LeetCode

分布式技术难学?谷歌大神首发纯手撸ZK+Dubbo笔记,网友看完直呼NB

程序知音

Java zookeeper 分布式 java架构 后端技术

你敢信?清华毕业大佬用了一个坦克大战项目就讲完了23种设计模式

小二,上酒上酒

Java 编程 设计模式 马士兵 编程开发

啃完这35个Java技术栈,冲刺大厂offer

小二,上酒上酒

Java 编程 JVM 技术栈 编程开发

MongoDB 新手入门 - CRUD

mylxsw

mongo database 入门教程

Alien Skin Exposure2023最新版下载

茶色酒

Alien Skin Exposure

架构实战训练营模块6作业

atcgnu

架构误区系列7:删除+更新的缓存刷新机制

agnostic

缓存

【Python 函数】-参数-返回值

度假的小鱼

11月月更 Python函数参数使用

【Python 函数】-嵌套使用,变量的作用域

度假的小鱼

11月月更 Python局不变量 Python全局变量

花一周时间,啃完这套京东架构师独家微服务笔记,成功面进字节

小二,上酒上酒

Java 负载均衡 编程 架构 SpringCloud

刨根问底 Kafka,面试过程真好使

蔡农曰

Java kafka 面试 后端

终于有好心的人把高性能MySQL「第三版」电子版分享出来了

小二,上酒上酒

Java MySQL 编程 计算机

Linux 磁盘管理

芯动大师

11月月更 Linux系统 Linux磁盘管理

金九银十结束了,各大公司Java后端开发真题汇总,明年再战

小二,上酒上酒

Java MySQL 编程 分布式 算法

熬夜也要肝完的阿里内部面试官手册,吃透直接拿下大厂心仪offer

小二,上酒上酒

Java 数据库 架构 分布式 高并发

Sentinel Go-揭秘[流量控制]的实现原理

柠檬汁Code(binbin0325)

源码 sentinel 熔断 限流 冷启动

耗时3个月啃烂了这份Redis技术笔记,我成功上岸进了字节

程序知音

Java 数据库 redis java架构 后端技术

阿里高工内产的 SpringBoot 保姆级笔记,面面俱到,太全了

程序知音

Java spring springboot java架构 后端技术

MySQL 数据库索引技术原理初探

mylxsw

MySQL 数据库 索引 B树

python利用open3d可视化npy文件

Studying_swz

Python 11月月更

第六章TCP/IP——网络传输硬件设备

初学者

11月月更

吃透互联网必问的100道Spring全家桶高频真题,金九银十稳了

小二,上酒上酒

Java spring 编程 springboot SpringCloud

MongoDB 新手入门 - Aggregation

mylxsw

mongo database 入门教程

数据结构分析_Inception_GNN_GCN

Studying_swz

人工智能 深度学习 11月月更

模块六作业 - 拆分电商系统为微服务

小虎

架构训练营

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