Skip to content

Commit

Permalink
add examples and fix the dependency problem (apache#13620)
Browse files Browse the repository at this point in the history
* add examples and fix the dependency problem

* add Nightly run and optimized script

* add explanation for the line
  • Loading branch information
lanking520 authored and haohuw committed Jun 23, 2019
1 parent db8fa85 commit 307c8a1
Show file tree
Hide file tree
Showing 7 changed files with 30 additions and 3 deletions.
8 changes: 8 additions & 0 deletions ci/docker/runtime_functions.sh
Original file line number Diff line number Diff line change
Expand Up @@ -1213,6 +1213,14 @@ nightly_tutorial_test_ubuntu_python2_gpu() {
nosetests-3.4 $NOSE_TIMER_ARGUMENTS --with-xunit --xunit-file nosetests_tutorials.xml test_tutorials.py --nologcapture
}

nightly_java_demo_test_cpu() {
set -ex
cd /work/mxnet/scala-package/mxnet-demo/java-demo
make javademo
./bin/java_sample.sh
./bin/run_od.sh
}


# Deploy

Expand Down
2 changes: 1 addition & 1 deletion scala-package/mxnet-demo/java-demo/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
# under the License.

SCALA_VERSION_PROFILE := 2.11
MXNET_VERSION := 1.4.0-SNAPSHOT
MXNET_VERSION := [1.4.0-SNAPSHOT,\)

ifeq ($(OS),Windows_NT)
UNAME_S := Windows
Expand Down
7 changes: 7 additions & 0 deletions scala-package/mxnet-demo/java-demo/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,13 @@ However, you have to define the Classpath before you run the demo code. More inf
The `CLASSPATH` should point to the jar file you have downloaded.

It will load the library automatically and run the example

In order to use the `Param Object`. We requires user to place this line in the front:
```
static NDArray$ NDArray = NDArray$.MODULE$;
```
It would help to have the NDArray companion object static and accessable from the outside.

### Object Detection using Inference API
We also provide an example to do object detection, which downloads a ImageNet trained resnet50 model and runs inference on an image to return the classification result as
```Bash
Expand Down
2 changes: 1 addition & 1 deletion scala-package/mxnet-demo/java-demo/bin/java_sample.sh
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,5 @@
# under the License.
#!/bin/bash
CURR_DIR=$(cd $(dirname $0)/../; pwd)
CLASSPATH=$CLASSPATH:$CURR_DIR/target/*:$CLASSPATH:$CURR_DIR/target/classes/lib/*
CLASSPATH=$CLASSPATH:$CURR_DIR/target/*:$CLASSPATH:$CURR_DIR/target/dependency/*
java -Xmx8G -cp $CLASSPATH mxnet.HelloWorld
2 changes: 1 addition & 1 deletion scala-package/mxnet-demo/java-demo/bin/run_od.sh
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,5 @@
# under the License.
#!/bin/bash
CURR_DIR=$(cd $(dirname $0)/../; pwd)
CLASSPATH=$CLASSPATH:$CURR_DIR/target/*:$CLASSPATH:$CURR_DIR/target/classes/lib/*
CLASSPATH=$CLASSPATH:$CURR_DIR/target/*:$CLASSPATH:$CURR_DIR/target/dependency/*
java -Xmx8G -cp $CLASSPATH mxnet.ObjectDetection
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,13 @@
import java.util.Arrays;

public class HelloWorld {
static NDArray$ NDArray = NDArray$.MODULE$;

public static void main(String[] args) {
System.out.println("Hello World!");
NDArray nd = new NDArray(new float[]{2.0f, 3.0f}, new Shape(new int[]{1, 2}), Context.cpu());
System.out.println(nd.shape());
NDArray nd2 = NDArray.dot(NDArray.new dotParam(nd, nd.T()))[0];
System.out.println(Arrays.toString(nd2.toArray()));
}
}
8 changes: 8 additions & 0 deletions tests/nightly/Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,14 @@ core_logic: {
}
}
},
'Java Demo: CPU': {
node(NODE_LINUX_CPU) {
ws('workspace/java-demo') {
utils.init_git()
utils.docker_run('ubuntu_nightly_cpu', 'nightly_java_demo_test_cpu', false)
}
}
},
'MXNetJS: CPU': {
node(NODE_LINUX_CPU) {
ws('workspace/nt-mxnetjs') {
Expand Down

0 comments on commit 307c8a1

Please sign in to comment.