Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The Clojure package uses a code generator process with reflection that looks at the Java NDarray and Symbol classes and produces Clojure files from it. This process is not an automatic runtime process, but an on-demand one and the resulting code is checked into the repo.   The rationale behind this is to provide the user with actual files so that the functions can be browsed and inspected as well as documentation can be generated with them.

The update process consists of a single command line lein run -m dev.generatorThe running of this update process is envisioned as an optional manual step for each release. The git diff will provide documentation of exactly what functions with added or changed and regressions tests can be run to identity any problemsprocess is automatic and at compile time - the generated files are not checked into git, but reside in org/apache/clojure-mxnet/gen and are packaged into the jar artifact.

The bulk of the NDArray and Symbol clojure functions are generated, but there are still some handcrafted ones as well. This is achieved by having a main namespace import the generated functions from a separate file.

...

  • cnn-text-classification
  • imclassification
  • multi-label
  • pre-trained-models
  • rnn
  • tutorial
  • gan
  • module
  • neural-style
  • profiler
  • visualization

Testing Repo

In order to facilitate rapid testing, feedback, and stabilization of the package. A repo has been opened here https://github.com/gigasquid/clojure-mxnet

...