Paddle.js 浏览器中的深度学习框架开源项目

我要开发同款
匿名用户2020年07月02日
38阅读
开发技术JavaScript
所属分类人工智能、机器学习/深度学习
授权协议Apache-2.0

作品详情

Paddle.js是百度Paddle的web方向子项目,是一个运行在浏览器中的开源深度学习框架。Paddle.js可以加载提前训练好的paddle模型,或者将paddlehub中的模型通过paddle.js的模型转换工具变成浏览器友好的模型进行在线推理预测使用。目前,paddle.js仅可以在支持webGL的浏览器中运行。

##CPU版本安装命令pipinstall-fhttps://paddlepaddle.org.cn/pip/oschina/cpupaddlepaddle##GPU版本安装命令pipinstall-fhttps://paddlepaddle.org.cn/pip/oschina/gpupaddlepaddle-gpu主要特点模块化

Paddle.js项目基于Atom系统构建,该系统是一个通用框架,可支持WebGL上的GPGPU操作。它非常模块化,可以通过利用WebGL来更快地执行计算任务。

浏览器覆盖范围PC:Chrome,firefoxMac:Chrome,SafariAndroid:BaiduApp,UC,ChromeandQQBrowser支持的操作

目前,Paddle.js只支持有限的一组算子操作。如果模型中使用了不支持的操作,那么padde.js将运行失败并提示模型中有哪些op算子目前还不支持。

加载和运行模型

如果原始模型是浏览器友好的model格式,使用paddle.load()接在模型。

import{runnerasPaddlejs}from'paddlejs';constpaddlejs=newPaddlejs({modelPath:'model/mobilenetv2',//modelpathfileCount:4,//modeldatafilecountfeedShape:{//inputshapefw:256,fh:256},fetchShape:[1,1,1920,10],//outputshapefill:'#fff',//fillcolorwhenresizeimageneedBatch:true,//whetherneedtocompletetheshapeto4dimensioninputType:'image'//whetherisimageorvideo});//loadpaddlejsmodelandpreheatawaitpaddlejs.loadModel();//runmodelawaitpaddlejs.predict(img,postProcess);functionpostProcee(data){//data为预测结果console.log(data);}

对于前输入处理的有关详细信息,请参阅feed文档。

对于得到结果后输出处理的有关详细信息,请参阅fetch文档。

运行Paddle.js提供的转换器脚本

模型转换器需要输入一个Paddle格式的model,可以是PaddleHub中的model,运行转换器将会得到paddle.js的JSON格式model。

Web友好的model格式

上面的转换脚本生成两种类型的文件:

model.json(数据流图和权重清单文件)group1-shard*of*(二进制权重文件的集合)
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论