浏览器中的深度学习框架 Paddle.js

Apache-2.0
JavaScript 查看源码»
跨平台
百度
2020-07-02
编辑部的故事

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

主要特点

模块化

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* (二进制权重文件的集合)
的码云指数为
超过 的项目
加载中
此软件有 4 条评论,请先登录后再查看。

Paddle.js 1.0 发布,浏览器中的深度学习框架

Paddle.js 1.0 发布了。Paddle.js 是百度 Paddle 的 web 方向子项目,是一个运行在浏览器中的开源深度学习框架。Paddle.js 可以加载提前训练好的 paddle 模型,或者将 paddle hub 中的模型通...

07/03 07:52

没有更多内容

加载失败,请刷新页面

没有更多内容

暂无问答

[js]javascript索引

js&jq总结的还是挺棒的: http://www.cnblogs.com/yuanchenqi/articles/5980312.html http://www.cnblogs.com/yuanchenqi/articles/6070667.html 我学了很久没把js学会, 我发现我的路子错了,...

2018/04/28 23:11
121
0
JavaScript(js)笔记

js注释 JavaScript注释与Java注释相同 // 单行注释 /* 多行注释 */ js五大基本类型:   number(数值型)、string(字符串性)、boolean(布尔型)、undefined类型、null类型 numb...

2019/08/30 13:29
215
0
js 封装 js

define(['jquery'], function($) { var orderSummary = { $el: $('.summary-totals'), updateUrl : '../checkout/orderSummaryContentJson.jsp', cartRemoveUpdateUrl : '../cartridges/cart...

2014/11/07 14:33
151
0
Javascript---Javascript简介

Javascript学习记录 读Javascript高级程序设计(3版)记录

2014/09/26 16:08
112
0
浅谈JS之text/javascript和application/javascript

问题描述: JS在IE8以下浏览器运行异常 代码: <script>标签是这样子写的: <script type="application/javascript"> //执行语句 </script> 这是书写的时候Dreamweaver自动补全的。但是...

2019/04/02 15:17
57
0
JS 有趣的JS

一、 var arr = []; for (var i = 0; i < 3; i++) { arr[i] = function() { console.log(i+'__') // 3 3 3 } } arr[0](); arr[1](); arr[2](); 执行上下文...

2019/03/26 11:22
74
0
javaScript(引入外部js/补充js)

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript"></script> <!--一般js都是使用外部引用(共用性好)--> <scr......

2019/10/04 14:59
357
0
JS(JavaScript)初始

day43 JS初识 今日内容: HTML: 文档结构 CSS: 修改文档的外观样式 JS:实现页面上的动态 JS文件的引入方式:   1.script标签内写代码 <script> //在这里写你的代码 </script>   2.引入...

2018/09/04 17:47
64
0
[JavaScript]-JavaScript的this原理.

一、问题的由来 学懂 JavaScript 语言,一个标志就是理解下面两种写法,可能有不一样的结果。 var obj = { foo: function () {} }; var foo = obj.foo; // 写法一 obj.foo() // 写法二 foo(...

2018/06/27 15:45
836
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部