MXNetJS is the Apache MXNet Javascript package. MXNetJS brings state of art deep learning inference API to the browser. It is generated with Emscripten and MXNet Amalgamation. MXNetJS allows you to run prediction of state-of-art deep learning models in any computational graph, and brings the fun of deep learning to the client side.
This requires Python 2:
python -m SimpleHTTPServer
Then open browser http://localhost:8000/classify.html
NodeJS User:
npm install http-server -g
http-server
Then open browser http://127.0.0.1:8080/classify.html
See classify_image.js for how it works.
On Microsoft Edge and Firefox, performance is at least 8 times better than Google Chrome. We assume it is optimization difference on ASM.js.
MXNetJS can take any model trained with mxnet, use tools/model2json.py to convert the model into json format and you are ready to go (note that only Python 2 is supported currently)
- mxnet_predict.js contains documented library code and provides convenient APIs to use in your JS application.
- This is the API code your application should use. test_on_node.js shows an example.
- libmxnet_predict.js is automatically generated by running
./build.sh
and should not be modified by hand.
test_on_node.js will exercise the forward pass inference for a few models available at the MXNet Model gallery. The model JSON files are prepared by running the script ./prepare_models.sh -all
from the ./model
folder. Currently the test exercises the following models
- InceptionBN
- SqueezeNET
- ResNET18
- NiN
Machine Eye -http://rupeshs.github.io/machineye/ Web service for local image file/image URL classification without uploading.
Contribution is more than welcomed!