70+专家分享实战经验,2024年度AI最佳实践都在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:006272

评论

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

API商品数据接口调用

Noah

API 文档

[大厂实践] Zuul连接控制实践

俞凡

架构 netflix 大厂实践

探索AI世界:机器学习和深度学习

麦田的守望者

机器学习 深度学习、

Web3新手、DeFi爱好者和资深用户的钱包首选

大瞿科技

智能合约dapp开发 dapp定制开发

V\TG【ch3nguang】

十一假期带上HUAWEI Mate 60系列,HarmonyOS 4让旅行更精彩!

最新动态

如何搭建一个专属的认证中心(二)

Kevin_913

spring security springboot OAuth 2.0

【中秋国庆不断更】OpenHarmony定义可动画属性:@AnimatableExtend装饰器

OpenHarmony开发者

Python 布尔类型

小万哥

Python 开源 程序员 软件 后端

2023 年 Bitget Wallet 测评:这个钱包到底靠不靠谱?

石头财经

【玩转 EdgeOne】边缘行者,速必达

指剑

腾讯云 CDN EdgeOne

Dapp开发技术团队——通过智能合约来打造创新性的去中心化应用

V\TG【ch3nguang】

我设计的免费小程序不香吗,欢迎评论交流

一点点小创意

【中秋国庆不断更】XML在HarmonyOS中的生成,解析与转换(下)

HarmonyOS开发者

Eclipse 主网即将上线迎空投预期,Zepoch 节点或率先受益

大瞿科技

自动群发节日祝福,1行Python代码搞定!

程序员晚枫

Python 微信 开源 机器人

Web3钱包大比拼:Metamask、Trust Wallet、Bitget Wallet 和 Coinbase Wallet

小哈区块

玩 DeFi 必备的钱包!教你快速学会玩转 Web3 应用!

BlockChain先知

Web3钱包大比拼:Metamask、Trust Wallet、Bitget Wallet 和 Coinbase Wallet

西柚子

智能文字识别技术——AI赋能古彝文保护

陈橘又青

人工智能

商业版 Plus '遥遥领先' | 相约10月

开源物联卡管理平台-设备管理

物联网 IoT 国际化 物联网应用 国产开源

哪家强?Bitget Wallet vs Metamask 从安全性能角度全方位 PK!

股市老人

免费 AI 代码生成器 Amazon CodeWhisperer 初体验

亚马逊云科技 (Amazon Web Services)

人工智能 亚马逊云科技

海信电视U8“死磕”技术,家庭影音娱乐的体验突围

脑极体

电视

如何搭建一个专属的认证中心(一)

Kevin_913

spring security OAuth 2.0 java 架构

[大厂实践] 零配置服务网格与按需集群发现

俞凡

架构 netflix 大厂实践

三力四总线,为智能世界画一张蓝图

脑极体

华为

【原理篇】Supabase的API Key工作机制和使用场景

张文平

权限 Supabase API Key

NFT 智能合约开发搭建

V\TG【ch3nguang】

我来聊聊面向组件的前端开发

欧雷

软件工程 前端开发 前端架构 组件化 前端工程化

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