开源软件丨百度浏览器中的深度学习框架 Paddle.js

Posted OSC开源社区

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了开源软件丨百度浏览器中的深度学习框架 Paddle.js相关的知识,希望对你有一定的参考价值。

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);

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* (二进制权重文件的集合)


▼  往期精彩回顾 



                  

觉得不错,请点个在看

以上是关于开源软件丨百度浏览器中的深度学习框架 Paddle.js的主要内容,如果未能解决你的问题,请参考以下文章

运行在浏览器中的深度学习框架,开源了

Paddle v0.11.0 发布,百度深度学习开源平台

Paddle-Mobile 百度嵌入式深度学习框架

百度嵌入式深度学习框架Paddle-Mobile介绍

百度正式宣布推出深度学习开源平台PaddlePaddle

如何评价百度刚刚开源的Paddle平台?