...
Currently the Scala package supports the Module and the Feed Forward API. The Clojure package builds on the Scala package and supports the Module API. The Gluon API is only supported so far in the Python package, however it is more full featured and all of the newer documentation and books and online resources like Dive into Deep Learning use the Gluon API. Supporting this API would allow the JVM packages to grow and to eventually share a common API for documentation and tutorials.
For example - Dive Into Deep Learning could have parallel texts and exercises for Scala and Clojure (and others ...)
Challenges
- Keeping the MXNet JVM packages coordinated, so there is a minimum of code duplication and no divergence in the jni bindings which would complicate deployment. However allow interested contributors to pick up areas of development that interest them independently.
- The Gluon API is large so finding a good area to tackle.
- The Current Scala native bindings might not be sufficient to support the Gluon API.
- How to build out pieces one by one instead of all at once.
- Some syntax will be different in different langs.
...