THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
- Have guidelines about developing Gluon API for JVM langs.
- Any new JNI binding development needs to go into the Scala package first to avoid divergence and packaging issues in other packages.
- If a contributor wants to add a package to the Clojure package first (for example https://mxnet.incubator.apache.org/api/python/gluon/model_zoo.html) that doesn't touch the JNI bindings, that development can happen in Clojure first and then when it arrives in the Scala package can be converted over if desired to have a single implementation. This will allow some decoupling of development.
- The API should follow as closely as possible to the Gluon API and live under the same namespace.
- Example: The model zoo API in the Clojure package would be org.apache.clojure-mxnet.gluon.model-zoo
- Use the existing code when possible to build out the Gluon API.
- If implementing gluon.model.zoo or gluon.data before core functionality, have it work with existing module code.
Questions
- Autograd is an interesting area. Currently there are no good JVM autograd options. To get this to work would be exciting for many users. But need to look into how it could actually work.
TODO: Gluon API Analysis
Gluon package | Description | Comments | Can be supported with current JNI? | Covered in Dive into Deep Learning? | Benefit | Effort |
---|---|---|---|---|---|---|
gluon.base | Base Package | Dynamic Graph support? Autograd | ? | Just about everywhere | ||
gluon.model_zoo | Provides pre-defined and pre-trained models to help bootstrap machine learning applications | yes |
| High | Low | |
gluon.data | Provides useful dataset loading and processing tools, as well as common public datasets. |
| ||||
gluon.loss | Commonly used loss functions in neural networks |
| ||||
gluon.nn | Neural network blocks |
| ||||
gluon.rnn | Recurrent neural network API |
| ||||
gluon.contrib | Provides many useful experimental APIs for new features. | None |
...