All Projects → mil-tokyo → Webdnn

mil-tokyo / Webdnn

Licence: other
The Fastest DNN Running Framework on Web Browser

Programming Languages

javascript
184084 projects - #8 most used programming language
python
139335 projects - #7 most used programming language
typescript
32286 projects
HTML
75241 projects
GLSL
2045 projects
C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to Webdnn

Tiramisu
A polyhedral compiler for expressing fast and portable data parallel algorithms
Stars: ✭ 685 (-62.97%)
Mutual labels:  deep-neural-networks, optimization
Awesome System For Machine Learning
A curated list of research in machine learning system. I also summarize some papers if I think they are really interesting.
Stars: ✭ 1,185 (-35.95%)
Mutual labels:  deep-neural-networks, optimization
Deep Learning Drizzle
Drench yourself in Deep Learning, Reinforcement Learning, Machine Learning, Computer Vision, and NLP by learning from these exciting lectures!!
Stars: ✭ 9,717 (+425.24%)
Mutual labels:  deep-neural-networks, optimization
Awesome Deepneuroimage
A curated list of awesome deep learning applications in the field of neurological image analysis
Stars: ✭ 145 (-92.16%)
Mutual labels:  deep-neural-networks
Axel
Axel tries to accelerate the download process by using multiple connections per file, and can also balance the load between different servers.
Stars: ✭ 1,997 (+7.95%)
Mutual labels:  accelerate
P2pala
Page to PAGE Layout Analysis Tool
Stars: ✭ 147 (-92.05%)
Mutual labels:  deep-neural-networks
Tutorial separation
This repo summarizes the tutorials, datasets, papers, codes and tools for speech separation and speaker extraction task. You are kindly invited to pull requests.
Stars: ✭ 151 (-91.84%)
Mutual labels:  deep-neural-networks
Multihead Siamese Nets
Implementation of Siamese Neural Networks built upon multihead attention mechanism for text semantic similarity task.
Stars: ✭ 144 (-92.22%)
Mutual labels:  deep-neural-networks
Densenet Sdr
repo that holds code for improving on dropout using Stochastic Delta Rule
Stars: ✭ 148 (-92%)
Mutual labels:  deep-neural-networks
Collaborative Experts
Video embeddings for retrieval with natural language queries
Stars: ✭ 147 (-92.05%)
Mutual labels:  deep-neural-networks
Easy Neural Ode
Code for the paper "Learning Differential Equations that are Easy to Solve"
Stars: ✭ 146 (-92.11%)
Mutual labels:  deep-neural-networks
Machine Learning Tutorials
machine learning and deep learning tutorials, articles and other resources
Stars: ✭ 11,692 (+532%)
Mutual labels:  deep-neural-networks
Arc Pytorch
The first public PyTorch implementation of Attentive Recurrent Comparators
Stars: ✭ 147 (-92.05%)
Mutual labels:  deep-neural-networks
Georaptor
Python Geohash Compression Tool
Stars: ✭ 143 (-92.27%)
Mutual labels:  optimization
Easyengine
Command-line control panel for Nginx Server to manage WordPress sites running on Nginx, PHP, MySQL, and Let's Encrypt
Stars: ✭ 1,881 (+1.68%)
Mutual labels:  optimization
Gestureai Coreml Ios
Hand-gesture recognition on iOS app using CoreML
Stars: ✭ 145 (-92.16%)
Mutual labels:  deep-neural-networks
Models Comparison.pytorch
Code for the paper Benchmark Analysis of Representative Deep Neural Network Architectures
Stars: ✭ 148 (-92%)
Mutual labels:  deep-neural-networks
Djl
An Engine-Agnostic Deep Learning Framework in Java
Stars: ✭ 2,262 (+22.27%)
Mutual labels:  deep-neural-networks
Fantasy Basketball
Scraping statistics, predicting NBA player performance with neural networks and boosting algorithms, and optimising lineups for Draft Kings with genetic algorithm. Capstone Project for Machine Learning Engineer Nanodegree by Udacity.
Stars: ✭ 146 (-92.11%)
Mutual labels:  optimization
Deep Learning Specialization Coursera
Deep Learning Specialization courses by Andrew Ng, deeplearning.ai
Stars: ✭ 146 (-92.11%)
Mutual labels:  optimization

WebDNN

日本語

This is the alpha version of WebDNN version 2. The main difference between WebDNN 1.x and WebDNN 2.x is that WebDNN 2.x only accepts ONNX models as input, allowing ONNX models to be loaded directly into a web browser without Python preprocessing. In addition, offline model optimization is also possible.

Version 1.x

Supported backends (acceleration technologies)

WebGL is available in most modern browsers.

  • WebGPU
    • The draft version implemented in Chrome Canary.
    • The WebGPU in iOS13 is not supported because it requires shaders based on the deprecated WSL language.
  • WebGL
    • Use WebGL2 if available; also supports Safari, which only supports WebGL1.
  • WebAssembly

Environment setting

The environment which runs node.js 14, python 3.6+ and emscripten 2.0+.

yarn
python setup.py develop

Build

yarn build:all

Build outputs:

  • dist/webdnn.js
    • Library that can load unoptimized ONNX models
  • dist/webdnn-core.js
    • Library that can load optimized ONNX models by WebDNN

Basic usage

Load dist/webdnn.js with the <script> tag to globally add a WebDNN object. Assuming that the ONNX model model_directory/model.onnx exists, and run the model with a input tensor of the shape [1, 2].

const runner = await WebDNN.load("model_directory/");
const inputDataArray = new Float32Array([5.1, -2.3]);
const inputTensor = new WebDNN.CPUTensor([1, 2], "float32", inputDataArray);
const [outputTensor] = await runner.run([inputTensor]);

console.log(outputTensor.data);  // Float32Array

See example/minimum for the complete minimal code that works.

Test

Generate ONNX models and input/output tensors to be tested

python test/model_test/make_models.py

Run on web browser

yarn server

Open http://localhost:8080/test/model_test/runner/standard.html with web browser, check the backend you want to test, and click the Test button to run the test.

Use

python test/model_test/make_models.py --optimize

http://localhost:8080/test/model_test/runner/optimized.html

when testing, including model optimization. However, the execution time of make_models.py takes a long time.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].