Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/PaddlePaddle/Paddle.js
Paddle.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.
https://github.com/PaddlePaddle/Paddle.js
deep-learning inference-engine model ocr paddlepaddle webassembly webgl webgpu
Last synced: 7 days ago
JSON representation
Paddle.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.
- Host: GitHub
- URL: https://github.com/PaddlePaddle/Paddle.js
- Owner: PaddlePaddle
- License: apache-2.0
- Created: 2020-03-26T03:43:58.000Z (over 4 years ago)
- Default Branch: release/v2.2.5
- Last Pushed: 2024-04-03T03:25:39.000Z (7 months ago)
- Last Synced: 2024-10-01T07:29:14.329Z (about 1 month ago)
- Topics: deep-learning, inference-engine, model, ocr, paddlepaddle, webassembly, webgl, webgpu
- Language: JavaScript
- Homepage: https://paddlejs.baidu.com
- Size: 90.7 MB
- Stars: 981
- Watchers: 91
- Forks: 138
- Open Issues: 101
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- awesome - PaddlePaddle/Paddle.js - Paddle.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. (JavaScript)
- awesome-list - Paddle.js - An open source deep learning framework running in the browser based on PaddlePaddle (Deep Learning Framework / High-Level DL APIs)
README
[中文版](./README_cn.md)
# Paddle.js
Paddle.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.
## Ecosystem
| Project | version | Description |
| ------------------------ | ---------------------- | --------------------|
| [paddlejs-core] | [![paddlejs-core-status]][paddlejs-core-package] | inference engine |
| [paddlejs-backend-webgl] | [![paddlejs-backend-webgl-status]][paddlejs-backend-webgl-package] | webgl backend |
| [paddlejs-backend-wasm] | [![paddlejs-backend-wasm-status]][paddlejs-backend-wasm-package] | wasm backend |
| [paddlejs-backend-webgpu] | [![paddlejs-backend-webgpu-status]][paddlejs-backend-webgpu-package] | webgpu backend |
| [paddlejsconverter] | [![paddlejsconverter-status]][paddlejsconverter-package] | convert paddlepaddle model |
| [humanseg] | [![humanseg-status]][humanseg-package] | human segmentation library |
| [ocr] | [![ocr-status]][ocr-package] | optical character recognition library |
| [gesture] | [![gesture-status]][gesture-package] | gesture recognition library |
| [mobilenet] | [![mobilenet-status]][mobilenet-package] | image classification library |
| [ocr detection] | [![ocr-detection-status]][ocr-detection-package] | optical character detection library |
| [facedetect] | [![facedetect-status]][facedetect-package] | face detection library |[paddlejs-core]: ./packages/paddlejs-core/README.md
[paddlejs-core-status]: https://img.shields.io/npm/v/@paddlejs/paddlejs-core
[paddlejs-core-package]: https://npmjs.com/package/@paddlejs/paddlejs-core[paddlejs-backend-webgl]: ./packages/paddlejs-backend-webgl/README.md
[paddlejs-backend-webgl-status]: https://img.shields.io/npm/v/@paddlejs/paddlejs-backend-webgl
[paddlejs-backend-webgl-package]: https://npmjs.com/package/@paddlejs/paddlejs-backend-webgl[paddlejs-backend-wasm]: ./packages/paddlejs-backend-wasm/README.md
[paddlejs-backend-wasm-status]: https://img.shields.io/npm/v/@paddlejs/paddlejs-backend-wasm
[paddlejs-backend-wasm-package]: https://npmjs.com/package/@paddlejs/paddlejs-backend-wasm[paddlejs-backend-webgpu]: ./packages/paddlejs-backend-webgpu/README.md
[paddlejs-backend-webgpu-status]: https://img.shields.io/npm/v/@paddlejs/paddlejs-backend-webgpu
[paddlejs-backend-webgpu-package]: https://npmjs.com/package/@paddlejs/paddlejs-backend-webgpu[paddlejsconverter]: ./packages/paddlejs-converter/README.md
[paddlejsconverter-status]: https://img.shields.io/pypi/v/paddlejsconverter
[paddlejsconverter-package]: https://pypi.org/project/paddlejsconverter/[humanseg]: ./packages/paddlejs-models/humanseg/README.md
[humanseg-status]: https://img.shields.io/npm/v/@paddlejs-models/humanseg
[humanseg-package]: https://npmjs.com/package/@paddlejs-models/humanseg[ocr]: ./packages/paddlejs-models/ocr/README.md
[ocr-status]: https://img.shields.io/npm/v/@paddlejs-models/ocr
[ocr-package]: https://npmjs.com/package/@paddlejs-models/ocr[gesture]: ./packages/paddlejs-models/gesture/README.md
[gesture-status]: https://img.shields.io/npm/v/@paddlejs-models/gesture
[gesture-package]: https://npmjs.com/package/@paddlejs-models/gesture[mobilenet]: ./packages/paddlejs-models/mobilenet/README.md
[mobilenet-status]: https://img.shields.io/npm/v/@paddlejs-models/mobilenet
[mobilenet-package]: https://npmjs.com/package/@paddlejs-models/mobilenet[ocr detection]: ./packages/paddlejs-models/ocrdetection/README.md
[ocr-detection-status]: https://img.shields.io/npm/v/@paddlejs-models/ocrdet
[ocr-detection-package]: https://npmjs.com/package/@paddlejs-models/ocrdet[facedetect]: ./packages/paddlejs-models/facedetect/README.md
[facedetect-status]: https://img.shields.io/npm/v/@paddlejs-models/facedetect
[facedetect-package]: https://npmjs.com/package/@paddlejs-models/facedetect## Website
https://paddlejs.baidu.com## Key Features
### Module
* [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.
* [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.
* [paddlejs-models](./packages/paddlejs-models/), model projects, supply flexible low-level APIs for users to implement their AI scenario.
* [paddlejs-examples](./packages/paddlejs-examples/), Paddle.js AI examples
* [paddlejs-mediapipe](./packages/paddlejs-mediapipe/), tools for live and streaming media, support webrtc camera and a lightweight opencv package
### Backends
* [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)
* [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)
* [paddlejs-backend-wasm](./packages/paddlejs-backend-wasm/README_cn.md), WebAssembly backend, [ops supported](./packages/paddlejs-backend-wasm/src/ops.ts)
* [paddlejs-backend-cpu](./packages/paddlejs-backend-cpu/README.md), cpu backend, [ops supported](./packages/paddlejs-backend-cpu/src/ops/index.ts)
* [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)## Examples
- [image classification game](./packages/paddlejs-examples/clasGame/README.md) image classification game example in wx miniprogram
- [gesture](./packages/paddlejs-examples/gesture/README.md) gesture recognition example [online experience](https://paddlejs.baidu.com/gesture)
- [humanStream](./packages/paddlejs-examples/humanStream/README.md) video-streaming human segmentation [online experience](https://paddlejs.baidu.com/humanStream)
- [humanseg](./packages/paddlejs-examples/humanseg/README.md) human segmentation example [online experience](https://paddlejs.baidu.com/humanseg)
- [ocr](./packages/paddlejs-examples/ocr/README.md) optical character recognition example [online experience](https://paddlejs.baidu.com/ocr)
- [ocr detection](./packages/paddlejs-examples/ocrdetection/README.md) optical character detection example [online experience](https://paddlejs.baidu.com/ocrdet)
- [mobilenet](./packages/paddlejs-examples/mobilenet) classify images into 1000 object categories [online experience](https://paddlejs.baidu.com/mobilenet)
- [wine](./packages/paddlejs-examples/wine) classify bottles into 7 categories [online experience](https://paddlejs.baidu.com/wine)
- [webglworker](./packages/paddlejs-examples/webglWorker) This demo help us to use Paddle.js in WebWorker.
### Browser/Platforms Coverage
* PC: Chrome, Safari, Firefox
* Phone: Baidu App , Chrome , UC and QQ Browser
* Smartprogram: Baidu Smartprogram, WX miniprogram
* Platform: macOS, Windows## Load Model
1. Support load model files on the network:
- model.json (model structure and operators' attributes)
- chunk_x.dat (model params binary data)2. Support use model obj
- modelObj.model (model structure json object)
- modelObj.params(model params Float32Array data)If you dont' want to put model on the network, you can use method 2.
## Feedback and Community Support
- Online video tutorial [start video](https://www.bilibili.com/video/BV1gZ4y1H7UA?p=6)
- Questions, reports, and suggestions are welcome through Github Issues!
- Forum: Opinions and questions are welcome at our [PaddlePaddle Forum](https://ai.baidu.com/forum/topic/list/168)!
- QQ group chat: 696965088