喜欢就关注我们吧!
Paddle.js是百度Paddle的web方向子项目,是一个运行在浏览器中的开源深度学习框架。Paddle.js可以加载提前训练好的paddle模型

或者将paddle hub中的模型通过paddle.js的模型转换工具变成浏览器友好的模型进行在线推理预测使用。目前,paddle.js仅可以在支持webGL的浏览器中运行。
## CPU版本安装命令
pip install -f
https:
/
/paddlepaddle.org.cn/pip/oschina/cpu
paddlepaddle


## GPU版本安装命令
pip install -f
https:
/
/paddlepaddle.org.cn/pip/oschina/gpu
paddlepaddle-gpu
软件基本信息
序号维度详情
1软件类型机器学习/深度学习
2开发语言
JavaScript
3

授权协议
Apache-2.0
4开发厂商
百度
主要特点
模块化
Paddle.js项目基于Atom系统构建,该系统是一个通用框架,可支持WebGL上的GPGPU操作。它非常模块化,可以通过利用WebGL来更快地执行计算任务。

浏览器覆盖范围

  • PC: Chrome, firefox
  • Mac: Chrome, Safari
  • Android: Baidu App , UC, Chrome and QQ Browser

支持的操作

目前,Paddle.js只支持有限的一组算子操作。如果模型中使用了不支持的操作,那么padde.js将运行失败并提示模型中有哪些op算子目前还不支持。
加载和运行模型
如果原始模型是浏览器友好的model格式, 使用 paddle.load()接在模型。
import
{runner
as
Paddlejs}
from'paddlejs'
;


const
paddlejs =
new
Paddlejs({

modelPath
:
'model/mobilenetv2'
,
// model path
fileCount
:
4
,
// model data file count
feedShape
: {
// input shape
fw
:
256
,

fh
:
256
},

fetchShape
: [
1
,
1
,
1920
,
10
],
// output shape
fill
:
'#fff'
,
// fill color when resize image
needBatch
:
true
,
// whether need to complete the shape to 4 dimension
inputType
:
'image'// whether is image or video
});


// load paddlejs model and preheat
await
paddlejs.loadModel();


// run model
await
paddlejs.predict(img, postProcess);


functionpostProcee(data)
{

// data为预测结果
console
.log(data);

}

对于前输入处理的有关详细信息,请参阅feed文档。
对于得到结果后输出处理的有关详细信息,请参阅fetch文档。
运行Paddle.js提供的转换器脚本
模型转换器需要输入一个Paddle格式的model,可以是Paddle Hub中的model,运行转换器将会得到paddle.js的JSON格式model。
Web友好的model格式
上面的转换脚本生成两种类型的文件:
  • model.json (数据流图和权重清单文件)
  • group1-shard*of* (二进制权重文件的集合)
PS:更多关于 Paddle.js的信息及源码下载,请在“开源中国”公众号对话框回复关键词:0830
▼  往期精彩回顾 
觉得不错,请点个在看
继续阅读
阅读原文