HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

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

评论

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

从反脆弱角度说一说:技术系统高可用性策略

做梦都在改BUG

Java 高可用

智能公厕应用人工智能技术,实现智慧化管理与服务

光明源智慧厕所

智慧城市

策略 | 通过 NFTScan 进行 NFT 投资组合的管理和信息追踪

NFT Research

NFT NFTScan

保利威1号演播厅重磅亮相,「新品+标准」引领企业进入元宇宙直播

ToB行业头条

Mac苹果电脑怎么调整磁盘分区大小

互联网搬砖工作者

分享:数据库存储与索引技术(二) 分布式数据库基石——LSM树

OceanBase 数据库

数据库 oceanbase

尚硅谷数据湖Iceberg视频教程发布

小谷哥

MobTech|场景唤醒的实现

MobTech袤博科技

终于学完国内算法牛人10年经验总结的数据结构与算法详解文档

做梦都在改BUG

Java 数据结构 算法

OceanBase发布全新Logo,寓意「流动的数据」

OceanBase 数据库

数据库 oceanbase

用AI回忆起曾被忘却的语言

脑极体

AI

分享:数据库存储与索引技术(三)LSM树实现案例

OceanBase 数据库

数据库 oceanbase

Koordinator 助力 ACK 容器调度升级,提升应用性能,节约资源成本

阿里巴巴云原生

阿里云 容器 云原生 Koordinator

云端集成更便捷,得帆云iPaaS助力企业上云更成功!

得帆信息

平台 云产品

业界首发丨《云原生网络数据面可观测性最佳实践》重磅来袭

阿里巴巴云原生

阿里云 云原生 可观测

从底层操作系统到容器云平台:OpenCloudOS与秒云构筑完美兼容链

OpenCloudOS

Linux 云平台

OpenHarmony关系型数据库查询结果呈现

白晓明

关系型数据库 数据库查询 OpenHarmony

Gogs/Gitea 环境搭建

流火

git gogs Gitea

CNStack 云边协同平台:实现原生边缘竟能如此简单

阿里巴巴云原生

阿里云 云原生 CNStack

Tapdata 赋能敏捷转型:头部知识付费应用如何搭载实时数据快速提升人效,创造业务增长点

tapdata

数据库

MobTech|什么是SDK

MobTech袤博科技

2+1链动模式商城开发系统案例

薇電13242772558

NFT

mac电脑打开应用“意外退出”的问题

互联网搬砖工作者

如何在容器服务 ACK 玩转 MSE Ingress

阿里巴巴云原生

阿里云 容器 微服务 云原生

天津市人工智能计算中心揭牌 天下津梁融汇AI之力

脑极体

算力

Python之configparser模块详解和使用

Python 测试 自动化测试 pytest 测试报告

flutter系列之:在flutter中使用媒体播放器

程序那些事

flutter 架构 大前端 程序那些事

2023最新最全Java面试速成指南,面试骚操作都在里面了

程序员小毕

程序员 后端 高并发 架构师 java面试

Spring 源码解析-从源码角度看bean的循环依赖

做梦都在改BUG

Java spring 源码

自学网络安全不知道这些,劝你提早放弃

喀拉峻

黑客 网络安全 自学

数智转型助力建筑业全产业链升级,你了解多少?

加入高科技仿生人

低代码 数字孪生 数智化 建筑业

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