喜欢就关注我们吧!
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 pathfileCount: 4, // model data file countfeedShape: { // input shapefw: 256,fh: 256
},fetchShape: [1, 1, 1920, 10], // output shapefill: '#fff', // fill color when resize imageneedBatch: true, // whether need to complete the shape to 4 dimensioninputType: 'image' // whether is image or video
});// load paddlejs model and preheatawait paddlejs.loadModel();// run modelawait paddlejs.predict(img, postProcess);function postProcee(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
▼ 往期精彩回顾 ▼ 千万别惹程序员!思科前员工离职后删库,直接损失达 240 万美元微软代表:是时候改变 Linux 内核贡献方式了送书 10 本丨敢跟我 PK 接球游戏吗?让你两只手!两个月新增 80 万行代码,Linux 内核维护为什么不会崩?TypeScript 4.0 发布觉得不错,请点个在看呀