Skip to content

dmlc/mxnet.js

Repository files navigation

MXNetJS Deep Learning in Browser

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.

Try it in your browser

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.

Speed

On Microsoft Edge and Firefox, performance is at least 8 times better than Google Chrome. We assume it is optimization difference on ASM.js.

Use Your Own Model

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)

Library Code

  • 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.

Unit Tests

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

Resources

Machine Eye -http://rupeshs.github.io/machineye/ Web service for local image file/image URL classification without uploading.

Contrbute to MXNetJS

Contribution is more than welcomed!

About

MXNetJS: Javascript Package for Deep Learning in Browser (without server)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published