ChaiBapchya commented on a change in pull request #12881: Improve the Clojure Package README to Make it Easier to Get Started URL: https://github.com/apache/incubator-mxnet/pull/12881#discussion_r226808411
########## File path: contrib/clojure-package/README.md ########## @@ -118,37 +121,41 @@ Checkout the latest SHA from the main package: If you need to checkout a particular release you can do it with: -`git checkout tags/1.3.0 -b release-1.3.0` +`git checkout tags/<tag_name> -b <branch_name>` `git submodule update --init --recursive` -Sometimes it useful to use this script to clean hard -https://gist.github.com/nicktoumpelis/11214362 +Sometimes it useful to use this script to clean hard using this [gist](https://gist.github.com/nicktoumpelis/11214362) -Go here to do the base package installation https://mxnet.incubator.apache.org/install/index.html +Go here to do the base package installation https://mxnet.incubator.apache.org/install/index.html. +This will create an `lib/libmxnet.so` file that is the c api we need for the next step. - Run `make scalapkg` then `make scalainstall` +Run `make scalapkg` then `make scalainstall`. This will create the Scala jars and install them in your local maven. + +Next, `cd contrib/clojure` and edit the project.clj to include the Scala jar that was just created and installed in your maven. Example `[org.apache.mxnet/mxnet-full_2.11-osx-x86_64-cpu "1.3.0-SNAPSHOT"]`. -then replace the correct jar for your architecture in the project.clj, example `[org.apache.mxnet/mxnet-full_2.11-osx-x86_64-cpu "1.3.0-SNAPSHOT"]` +- run `lein test`. All the tests should run without an error +- At this point you can do `lein install` to build and install the clojure jar locally. Now, you can run the examples by doing `cd examples/imclassification` and then `lein run` or `lein run :cpu 2` (for 2 cpus) (for gpu `lein run :gpu`) -#### Test your installation -To test your installation, you should run `lein test`. This will run the test suite (CPU) for the clojure package. +## Docker Files +There are Dockerfiles available as well. -#### Generation of NDArray and Symbol apis +- [Community Provided by Magnet](https://hub.docker.com/u/magnetcoop/) +- [MXNet CI](https://github.com/apache/incubator-mxnet/blob/master/ci/docker/Dockerfile.build.ubuntu_cpu) and the install scripts + - [ubuntu core](https://github.com/apache/incubator-mxnet/blob/master/ci/docker/install/ubuntu_core.sh) + - [ubuntu scala](https://github.com/apache/incubator-mxnet/blob/master/ci/docker/install/ubuntu_scala.sh) + - [ubuntu clojure](https://github.com/apache/incubator-mxnet/blob/master/ci/docker/install/ubuntu_clojure.sh) -The bulk of the ndarray and symbol apis are generated via java reflection into the Scala classes. The files are generated as a compile time step (AOT) in the `dev.generator` namespace. +## Need Help? -You may also run this manually with the repl functions: +If you are having trouble getting started or have a question, feel free to reach out at: -`(generate-ndarray-file)` -and -`(generate-symbol-file)` - - -These will generate the files under `src/org.apache.clojure-mxnet/gen/` that are loaded by the `src/org.apache.clojure-mxnet/ndarray.clj` and `src/org.apache.clojure-mxnet/symbol.clj` files. +- Clojurian Slack #mxnet channel Review comment: How to join this channel? ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected] With regards, Apache Git Services
