22
33# Paddle.js
44
5+ <p >
6+ <img src =" https://travis-ci.org/PaddlePaddle/Paddle.js.svg?branch=master " alt =" building " > <img src =" https://github.com/paddlepaddle/paddle.js/actions/workflows/ut.yml/badge.svg " alt =" UnitTest " > <img src =" https://img.shields.io/github/commit-activity/m/paddlepaddle/paddle.js/master?color=important " alt =" commit-activity " > <img src =" https://img.shields.io/github/license/paddlepaddle/paddle.js " alt =" license " > <img src =" https://img.shields.io/github/package-json/v/paddlepaddle/paddle.js/master?color=yellow " alt =" license " > <img src =" https://img.shields.io/github/v/release/paddlepaddle/paddle.js?color=skyblue " alt =" license " > <img src =" https://img.shields.io/pypi/pyversions/paddlejsconverter " alt =" python " >
7+ </p >
8+
59Paddle.js is a web project for Baidu PaddlePaddle, which is an open source deep learning framework running in the browser. Paddle.js can either load a pre-trained model, or transforming a model from paddle-hub with model transforming tools provided by Paddle.js. It could run in every browser with WebGL/WebGPU/WebAssembly supported. It could also run in Baidu Smartprogram and WX miniprogram.
610
7- [ ![ Build Status] ( https://travis-ci.org/PaddlePaddle/Paddle.js.svg?branch=beta )] ( https://travis-ci.org/PaddlePaddle/Paddle.js.svg?branch=beta ) <img src =" https://github.com/paddlepaddle/paddle.js/actions/workflows/ut.yml/badge.svg " alt =" UnitTest " > <img src =" https://img.shields.io/github/commit-activity/m/paddlepaddle/paddle.js/master?color=important " alt =" commit-activity " > <img src =" https://img.shields.io/github/license/paddlepaddle/paddle.js " alt =" license " > <img src =" https://img.shields.io/github/package-json/v/paddlepaddle/paddle.js/master?color=yellow " alt =" license " > <img src =" https://img.shields.io/github/v/release/paddlepaddle/paddle.js?color=skyblue " alt =" license " > <img src =" https://img.shields.io/pypi/pyversions/paddlejsconverter " alt =" python " >
11+ ## Ecosystem
12+
13+ | Project | version | Description |
14+ | ------------------------ | ---------------------- | --------------------|
15+ | [ paddlejs-core] | [ ![ paddlejs-core-status]] [ paddlejs-core-package ] | inference engine |
16+ | [ paddlejs-backend-webgl] | [ ![ paddlejs-backend-webgl-status]] [ paddlejs-backend-webgl-package ] | webgl backend |
17+ | [ paddlejs-backend-wasm] | [ ![ paddlejs-backend-wasm-status]] [ paddlejs-backend-wasm-package ] | wasm backend |
18+ | [ paddlejs-backend-webgpu] | [ ![ paddlejs-backend-webgpu-status]] [ paddlejs-backend-webgpu-package ] | webgpu backend |
19+ | [ paddlejsconverter] | [ ![ paddlejsconverter-status]] [ paddlejsconverter-package ] | convert paddlepaddle model |
20+ | [ humanseg] | [ ![ humanseg-status]] [ humanseg-package ] | human segmentation library |
21+ | [ ocr] | [ ![ ocr-status]] [ ocr-package ] | optical character recognition library |
22+ | [ gesture] | [ ![ gesture-status]] [ gesture-package ] | gesture recognition library |
23+ | [ mobilenet] | [ ![ mobilenet-status]] [ mobilenet-package ] | image classification library |
24+ | [ ocr detection] | [ ![ ocr-detection-status]] [ ocr-detection-package ] | optical character detection library |
25+ | [ facedetect] | [ ![ facedetect-status]] [ facedetect-package ] | face detection library |
26+
27+ [ paddlejs-core ] : ./packages/paddlejs-core/README.md
28+ [ paddlejs-core-status ] : https://img.shields.io/npm/v/@paddlejs/paddlejs-core
29+ [ paddlejs-core-package ] : https://npmjs.com/package/@paddlejs/paddlejs-core
30+
31+ [ paddlejs-backend-webgl ] : ./packages/paddlejs-backend-webgl/README.md
32+ [ paddlejs-backend-webgl-status ] : https://img.shields.io/npm/v/@paddlejs/paddlejs-backend-webgl
33+ [ paddlejs-backend-webgl-package ] : https://npmjs.com/package/@paddlejs/paddlejs-backend-webgl
34+
35+ [ paddlejs-backend-wasm ] : ./packages/paddlejs-backend-wasm/README.md
36+ [ paddlejs-backend-wasm-status ] : https://img.shields.io/npm/v/@paddlejs/paddlejs-backend-wasm
37+ [ paddlejs-backend-wasm-package ] : https://npmjs.com/package/@paddlejs/paddlejs-backend-wasm
38+
39+ [ paddlejs-backend-webgpu ] : ./packages/paddlejs-backend-webgpu/README.md
40+ [ paddlejs-backend-webgpu-status ] : https://img.shields.io/npm/v/@paddlejs/paddlejs-backend-webgpu
41+ [ paddlejs-backend-webgpu-package ] : https://npmjs.com/package/@paddlejs/paddlejs-backend-webgpu
42+
43+ [ paddlejsconverter ] : ./packages/paddlejs-converter/README.md
44+ [ paddlejsconverter-status ] : https://img.shields.io/pypi/v/paddlejsconverter
45+ [ paddlejsconverter-package ] : https://pypi.org/project/paddlejsconverter/
46+
47+ [ humanseg ] : ./packages/paddlejs-models/humanseg/README.md
48+ [ humanseg-status ] : https://img.shields.io/npm/v/@paddlejs-models/humanseg
49+ [ humanseg-package ] : https://npmjs.com/package/@paddlejs-models/humanseg
50+
51+ [ ocr ] : ./packages/paddlejs-models/ocr/README.md
52+ [ ocr-status ] : https://img.shields.io/npm/v/@paddlejs-models/ocr
53+ [ ocr-package ] : https://npmjs.com/package/@paddlejs-models/ocr
54+
55+ [ gesture ] : ./packages/paddlejs-models/gesture/README.md
56+ [ gesture-status ] : https://img.shields.io/npm/v/@paddlejs-models/gesture
57+ [ gesture-package ] : https://npmjs.com/package/@paddlejs-models/gesture
58+
59+ [ mobilenet ] : ./packages/paddlejs-models/mobilenet/README.md
60+ [ mobilenet-status ] : https://img.shields.io/npm/v/@paddlejs-models/mobilenet
61+ [ mobilenet-package ] : https://npmjs.com/package/@paddlejs-models/mobilenet
62+
63+ [ ocr detection ] : ./packages/paddlejs-models/ocrdetection/README.md
64+ [ ocr-detection-status ] : https://img.shields.io/npm/v/@paddlejs-models/ocrdet
65+ [ ocr-detection-package ] : https://npmjs.com/package/@paddlejs-models/ocrdet
66+
67+
68+ [ facedetect ] : ./packages/paddlejs-models/facedetect/README.md
69+ [ facedetect-status ] : https://img.shields.io/npm/v/@paddlejs-models/facedetect
70+ [ facedetect-package ] : https://npmjs.com/package/@paddlejs-models/facedetect
71+
72+ ## Website
73+ https://paddlejs.baidu.com
74+
875## Key Features
976
1077### Module
1178
1279* [ paddlejs-core] ( ./packages/paddlejs-core/README.md ) , the core part of the Paddle.js ecosystem, which is responsible for the operation of the inference process of the entire engine.
13- < img src = " https://img.shields.io/npm/v/@paddlejs/paddlejs-core?color=success " alt = " version " > <img src =" https://img.shields.io/bundlephobia/min/@paddlejs/paddlejs-core " alt =" size " > <img src =" https://img.shields.io/npm/dm/@paddlejs/paddlejs-core?color=orange " alt =" downloads " > <img src =" https://img.shields.io/npm/dt/@paddlejs/paddlejs-core " alt =" downloads " >
14- * [ paddlejs-converter ] ( ./packages/paddlejs-converter/README.md ) , model transformation tool for Paddle.js, convert PaddlePaddle models (also known as fluid models) into a browser-friendly format.
15- * [ paddlejs-models] ( ./packages/paddlejs-models/ ) , model projects, supply flexible low-level APIs for users to implement their AI scenario.
80+ <img src =" https://img.shields.io/bundlephobia/min/@paddlejs/paddlejs-core " alt =" size " > <img src =" https://img.shields.io/npm/dm/@paddlejs/paddlejs-core?color=orange " alt =" downloads " > <img src =" https://img.shields.io/npm/dt/@paddlejs/paddlejs-core " alt =" downloads " >
81+ * [ paddlejsconverter ] ( ./packages/paddlejs-converter/README.md ) , model transformation tool for Paddle.js, convert PaddlePaddle models (also known as fluid models) into a browser-friendly format.
82+ * [ paddlejs-models] ( ./packages/paddlejs-models/ ) , model projects, supply flexible low-level APIs for users to implement their AI scenario.
1683* [ paddlejs-examples] ( ./packages/paddlejs-examples/ ) , Paddle.js AI examples
1784* [ paddlejs-mediapipe] ( ./packages/paddlejs-mediapipe/ ) , tools for live and streaming media, support webrtc camera and a lightweight opencv package
1885### Backends
1986* [ paddlejs-backend-webgl] ( ./packages/paddlejs-backend-webgl/README.md ) , webgl backend, the main backend for Paddle.js, [ ops supported] ( ./packages/paddlejs-backend-webgl/src/ops/index.ts )
20- <img src =" https://img.shields.io/npm/v/@paddlejs/paddlejs-backend-webgl?color=success " alt = " version " > < img src = " https://img.shields.io/ bundlephobia/min/@paddlejs/paddlejs-backend-webgl" alt =" size " > <img src =" https://img.shields.io/npm/dm/@paddlejs/paddlejs-backend-webgl?color=orange " alt =" downloads " > <img src =" https://img.shields.io/npm/dt/@paddlejs/paddlejs-backend-webgl " alt =" downloads " >
87+ <img src =" https://img.shields.io/bundlephobia/min/@paddlejs/paddlejs-backend-webgl " alt =" size " > <img src =" https://img.shields.io/npm/dm/@paddlejs/paddlejs-backend-webgl?color=orange " alt =" downloads " > <img src =" https://img.shields.io/npm/dt/@paddlejs/paddlejs-backend-webgl " alt =" downloads " >
2188* [ paddlejs-backend-webgpu] ( ./packages/paddlejs-backend-webgpu/README.md ) , webgpu backend, an experimental backend, [ WebGPU draft] ( https://gpuweb.github.io/gpuweb/ ) , [ ops supported] ( ./packages/paddlejs-backend-webgpu/src/ops/index.ts )
2289* [ paddlejs-backend-wasm] ( ./packages/paddlejs-backend-wasm/README_cn.md ) , WebAssembly backend, [ ops supported] ( ./packages/paddlejs-backend-wasm/src/ops.ts )
2390* [ paddlejs-backend-cpu] ( ./packages/paddlejs-backend-cpu/README.md ) , cpu backend, [ ops supported] ( ./packages/paddlejs-backend-cpu/src/ops/index.ts )
2491* [ paddlejs-backend-nodegl] ( ./packages/paddlejs-backend-nodegl/README.md ) , nodegl backend, a backend in Node.js for Paddle.js, using the webgl backend ops. [ ops supported] ( ./packages/paddlejs-backend-webgl/src/ops/index.ts )
2592
93+
94+ ## Examples
95+ - [ image classification game] ( ./packages/paddlejs-examples/clasGame/README.md ) image classification game example in wx miniprogram
96+ - [ gesture] ( ./packages/paddlejs-examples/gesture/README.md ) gesture recognition example [ online experience] ( https://paddlejs.baidu.com/gesture )
97+ - [ humanStream] ( ./packages/paddlejs-examples/humanStream/README.md ) video-streaming human segmentation [ online experience] ( https://paddlejs.baidu.com/humanStream )
98+ - [ humanseg] ( ./packages/paddlejs-examples/humanseg/README.md ) human segmentation example [ online experience] ( https://paddlejs.baidu.com/humanseg )
99+ - [ ocr] ( ./packages/paddlejs-examples/ocr/README.md ) optical character recognition example [ online experience] ( https://paddlejs.baidu.com/ocr )
100+ - [ ocr detection] ( ./packages/paddlejs-examples/ocrdetection/README.md ) optical character detection example [ online experience] ( https://paddlejs.baidu.com/ocrdet )
101+ - [ mobilenet] ( ./packages/paddlejs-examples/mobilenet ) classify images into 1000 object categories [ online experience] ( https://paddlejs.baidu.com/mobilenet )
102+ - [ wine] ( ./packages/paddlejs-examples/wine ) classify bottles into 7 categories [ online experience] ( https://paddlejs.baidu.com/wine )
103+ - [ webglworker] ( ./packages/paddlejs-examples/webglWorker ) This demo help us to use Paddle.js in WebWorker.
104+
105+ <p >
106+ <a target =" _blank " href =" ./packages/paddlejs-examples/clasGame/README.md " >
107+ <img alt="clasGame" src="./packages/paddlejs-examples/clasGame/exampleImage/demo1.gif" style="width: 20%">
108+ </a >
109+ <a target =" _blank " href =" ./packages/paddlejs-examples/wine/README.md " >
110+ <img alt="wine" src="https://user-images.githubusercontent.com/43414102/156372713-d07e190f-bdb6-433e-a5cd-866fffbbb5d6.gif" style="width: 20%">
111+ </a >
112+ <a target =" _blank " href =" ./packages/paddlejs-examples/gesture/README.md " >
113+ <img alt="gesture" src="https://user-images.githubusercontent.com/43414102/156379706-065a4f57-cc75-4457-857a-18619589492f.gif" style="width: 20%">
114+ </a >
115+ </p >
116+ <p >
117+ <a target =" _blank " href =" ./packages/paddlejs-examples/ocr/README.md " >
118+ <img alt="ocr" src="https://user-images.githubusercontent.com/43414102/156380942-2ee5ad8d-d023-4cd3-872c-b18ebdcbb3f3.gif" style="width: 60%">
119+ </a >
120+ </p >
121+ <p >
122+ <a target =" _blank " href =" ./packages/paddlejs-examples/humanseg/README.md " >
123+ <img alt="humanseg" src="https://user-images.githubusercontent.com/43414102/156384741-83f42d25-7062-49e1-9106-677bbbefbcfb.jpg" style="width: 32%">
124+ </a >
125+ <a target =" _blank " href =" ./packages/paddlejs-models/facedetect/README.md " >
126+ <img alt="facedetect" src="https://user-images.githubusercontent.com/43414102/156384732-cb053df6-826e-42d7-92ba-536ab67011c4.jpg" style="width: 28%">
127+ </a >
128+ </p >
129+
130+
26131### Browser/Platforms Coverage
27132
28133* PC: Chrome, Safari, Firefox
@@ -45,24 +150,6 @@ Paddle.js is a web project for Baidu PaddlePaddle, which is an open source deep
45150
46151If you dont' want to put model on the network, you can use method 2.
47152
48- ## Models Sdk
49- - [ humanseg model] ( ./packages/paddlejs-models/humanseg/README.md ) human segmentation library <img src =" https://img.shields.io/npm/v/@paddlejs-models/humanseg?color=success " alt =" version " > <img src =" https://img.shields.io/bundlephobia/min/@paddlejs-models/humanseg " alt =" size " > <img src =" https://img.shields.io/npm/dm/@paddlejs-models/humanseg?color=orange " alt =" downloads " > <img src =" https://img.shields.io/npm/dt/@paddlejs-models/humanseg " alt =" downloads " >
50- - [ ocr model] ( ./packages/paddlejs-models/ocr/README.md ) optical character recognition library <img src =" https://img.shields.io/npm/v/@paddlejs-models/ocr?color=success " alt =" version " > <img src =" https://img.shields.io/bundlephobia/min/@paddlejs-models/ocr " alt =" size " > <img src =" https://img.shields.io/npm/dm/@paddlejs-models/ocr?color=orange " alt =" downloads " > <img src =" https://img.shields.io/npm/dt/@paddlejs-models/ocr " alt =" downloads " >
51- - [ gesture model] ( ./packages/paddlejs-models/gesture/README.md ) gesture recognition library <img src =" https://img.shields.io/npm/v/@paddlejs-models/gesture?color=success " alt =" version " > <img src =" https://img.shields.io/bundlephobia/min/@paddlejs-models/gesture " alt =" size " > <img src =" https://img.shields.io/npm/dm/@paddlejs-models/gesture?color=orange " alt =" downloads " > <img src =" https://img.shields.io/npm/dt/@paddlejs-models/gesture " alt =" downloads " >
52- - [ mobilenet model] ( ./packages/paddlejs-models/mobilenet/README.md ) image classification library <img src =" https://img.shields.io/npm/v/@paddlejs-models/mobilenet?color=success " alt =" version " > <img src =" https://img.shields.io/bundlephobia/min/@paddlejs-models/mobilenet " alt =" size " > <img src =" https://img.shields.io/npm/dm/@paddlejs-models/mobilenet?color=orange " alt =" downloads " > <img src =" https://img.shields.io/npm/dt/@paddlejs-models/mobilenet " alt =" downloads " >
53- - [ ocr detection model] ( ./packages/paddlejs-models/ocrdetection/README.md ) optical character detection library <img src =" https://img.shields.io/npm/v/@paddlejs-models/ocrdet?color=success " alt =" version " > <img src =" https://img.shields.io/bundlephobia/min/@paddlejs-models/ocrdet " alt =" size " > <img src =" https://img.shields.io/npm/dm/@paddlejs-models/ocrdet?color=orange " alt =" downloads " > <img src =" https://img.shields.io/npm/dt/@paddlejs-models/ocrdet " alt =" downloads " >
54- - [ facedetect model] ( ./packages/paddlejs-models/facedetect/README.md ) face detection library <img src =" https://img.shields.io/npm/v/@paddlejs-models/facedetect?color=success " alt =" version " > <img src =" https://img.shields.io/bundlephobia/min/@paddlejs-models/facedetect " alt =" size " > <img src =" https://img.shields.io/npm/dm/@paddlejs-models/facedetect?color=orange " alt =" downloads " > <img src =" https://img.shields.io/npm/dt/@paddlejs-models/facedetect " alt =" downloads " >
55-
56- ## Examples
57- - [ image classification game] ( ./packages/paddlejs-examples/clasGame/README.md ) image classification game example in wx miniprogram
58- - [ gesture] ( ./packages/paddlejs-examples/gesture/README.md ) gesture recognition example
59- - [ humanStream] ( ./packages/paddlejs-examples/humanStream/README.md ) video-streaming human segmentation
60- - [ humanseg] ( ./packages/paddlejs-examples/humanseg/README.md ) human segmentation example
61- - [ ocr] ( ./packages/paddlejs-examples/ocr/README.md ) optical character recognition example
62- - [ ocr detection] ( ./packages/paddlejs-examples/ocrdetection/README.md ) optical character detection example
63- - [ mobilenet] ( ./packages/paddlejs-examples/mobilenet ) classify images into 1000 object categories
64- - [ wine] ( ./packages/paddlejs-examples/wine ) classify bottles into 7 categories
65-
66153
67154## Feedback and Community Support
68155- Online video tutorial [ start video] ( https://www.bilibili.com/video/BV1gZ4y1H7UA?p=6 )
0 commit comments