deeplearn.js入门

本文译自:GitHub开源项目deeplearn.js

入门

deeplearn.js 是一款用于机器智能领域的基于硬件加速的JavaScript库。该库将高性能的机器学习构建模块引入到web开发领域,允许我们在浏览器中训练神经网络模型或在推理模式下运行预训练的模型。
该库提供了两个API模型:一个是立即执行模型(可认为是NumPy),另一个是基于TensorFlow API镜像的延期执行模型。deeplearn.js最初是由Google Brain PAIR团队开发的,目的是为了构建强大的基于浏览器的交互式机器学习工具,几乎可以被应用于任何领域,包括教育、模型理解、艺术项目等。

用法

TypeScript/ES6 JavaScript
npm install deeplearn

(译者注:该命令的作用是安装deeplearn的依赖包,在运行该命令之前,确保您的电脑上安装了node.js以及node.js的包管理工具npm)

一个简单的用标量求数组之和的例子:

import {Array1D, NDArrayMathGPU, Scalar} from 'deeplearn';

const math = new NDArrayMathGPU();
const a = Array1D.new([1, 2, 3]);
const b = Scalar.new(2);
math.scope(() => {
  const result = math.add(a, b);
  console.log(result.getValues());  // Float32Array([3, 4, 5])
});
ES3/ES5 JavaScript

您也可以在普通的JavaScript平台上使用,直接从Google CDN上加载最新的版本库:

<script src="https://storage.googleapis.com/learnjs-data/deeplearn-latest.js"></script>

您可以在GitHub的发布页寻找到特定的版本替换一个新的版本号(例如:deeplearn-0.1.0.js)。在导入该库后,可以在全局命名空间使用该API,名称为deeplearn:

var math = new deeplearn.NDArrayMathGPU();
var a = deeplearn.Array1D.new([1, 2, 3]);
var b = deeplearn.Scalar.new(2);
math.scope(function() {
  var result = math.add(a, b);
  console.log(result.getValues());  // Float32Array([3, 4, 5])
});

开发

从源代码构建deeplearn.js,我们需要克隆该项目以准备好开发环境:

$ git clone https://github.com/PAIR-code/deeplearnjs.git
$ cd deeplearnjs
$ npm run prep #安装node模块和bower组件。

我们需要用Visual Studio Code作为我们的开发工具。确保安装了 clang-format 命令行工具以及自动格式化工具Clang-Format VSCode extension
demos中的任意demo都可以用以下方法运行(例如:demos/nn-art/):

$ ./scripts/watch-demo demos/nn-art/nn-art.ts

(译者注:在deeplearn根目录下运行该命令)
运行成功后命令行会出现如下内容:

>> Starting up http-server, serving ./
>> Available on:
>>   http://127.0.0.1:8080
>> Hit CTRL-C to stop the server
>> 1357589 bytes written to dist/demos/nn-art/bundle.js (0.85 seconds) at 10:34:45 AM

然后,在浏览器中访问http://localhost:8080/demos/nn-art/nn-art-demo.htmlwatch-demo 的脚本监视代码增量编译(~200-400ms),因此用户可以在开发应用程序的过程中有一个快速编辑刷新周期。
在提交请求的时候,通过以下命令确保您的代码通过所有测试以及对程序进行了错误分析:

$ npm run test
$ npm run lint

构建一个独立的可以用script 标签导入到浏览器的ES5库:

$ ./scripts/build-standalone.sh VERSION # 构建独立的库
>> Stored standalone library at dist/deeplearn-VERSION(.min).js

构建一个仅运行和测试的npm包:

$ ./scripts/build-npm.sh

>> Stored npm package at dist/deeplearn-VERSION.tgz

在本地安装,运行npm install ./dist/deeplearn-VERSION.tgz

在Windows上,用Git bash使用上面的脚本。

支持环境

WebGL1.0设备(具备OES_texture_float 扩展)和WebGL2.0设备。对于那些没有WebGL的平台,提供了CPU回退机制。
然而,目前演示案例不支持手机、火狐以及Safari浏览器。请在PC端用谷歌浏览器进行浏览。

资源

教程
参考文档
演示案例
目标

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值