diff --git a/.gitmodules b/.gitmodules index 6a34ae2..71702a4 100644 --- a/.gitmodules +++ b/.gitmodules @@ -13,4 +13,17 @@ path = runtime/thirdparty/jsmn url = https://github.com/gwsystems/jsmn.git [submodule "runtime/tests/gocr"] path = runtime/tests/gocr - url = https://github.com/gwsystems/gocr + url = https://github.com/gwsystems/gocr.git + branch = sledge +[submodule "runtime/tests/TinyEKF"] + path = runtime/tests/TinyEKF + url = https://github.com/gwsystems/TinyEKF.git + branch = sledge +[submodule "runtime/tests/CMSIS_5_NN"] + path = runtime/tests/CMSIS_5_NN + url = https://github.com/gwsystems/CMSIS_5_NN.git + branch = sledge +[submodule "runtime/tests/sod"] + path = runtime/tests/sod + url = https://github.com/gwsystems/sod.git + branch = sledge \ No newline at end of file diff --git a/README.md b/README.md index 0629c32..f947596 100644 --- a/README.md +++ b/README.md @@ -116,6 +116,10 @@ Content-type: text/plain When done, terminal the SLEdge runtime with `Ctrl+c` +## Running Test Workloads + +Various synthetic and real-world tests can be found in `runtime/experiments`. Generally, each experiment can be run be executing the `run.sh` script. + ## Removing the SLEdge Runtime If you are finished working with the SLEdge runtime and wish to remove it, run the following command to delete our Docker build and runtime images. diff --git a/runtime/experiments/applications/ekf/.gitignore b/runtime/experiments/applications/ekf/.gitignore new file mode 100644 index 0000000..f66ff46 --- /dev/null +++ b/runtime/experiments/applications/ekf/.gitignore @@ -0,0 +1 @@ +result.dat diff --git a/runtime/experiments/applications/ekf/README.md b/runtime/experiments/applications/ekf/README.md new file mode 100644 index 0000000..20079c5 --- /dev/null +++ b/runtime/experiments/applications/ekf/README.md @@ -0,0 +1,9 @@ +# EKF + +Executes TinyEKF as shows by [You Chong's GPS example](http://www.mathworks.com/matlabcentral/fileexchange/31487-extended-kalman-filter-ekf--for-gps) + +In order to be compatible with the stdin/stdout model of serverless, the input and output files are binary concatenations of various C structs. + +See `main()` in `runtime/tests/TinyEKF/extras/c/gps_ekf_fn.c` for specifics. + +This test executes multiple iterations, comparing the binary result against a known memoized result stored at `expected_result.dat`. diff --git a/runtime/experiments/applications/ekf/debug.sh b/runtime/experiments/applications/ekf/debug.sh new file mode 100755 index 0000000..a561392 --- /dev/null +++ b/runtime/experiments/applications/ekf/debug.sh @@ -0,0 +1,19 @@ +#!/bin/bash +# Executes the runtime in GDB +# Substitutes the absolute path from the container with a path relatively derived from the location of this script +# This allows debugging outside of the Docker container +# Also disables pagination and stopping on SIGUSR1 + +experiment_directory=$(pwd) +project_directory=$(cd ../../.. && pwd) +binary_directory=$(cd "$project_directory"/bin && pwd) + +export LD_LIBRARY_PATH="$binary_directory:$LD_LIBRARY_PATH" +export PATH="$binary_directory:$PATH" + +gdb --eval-command="handle SIGUSR1 nostop" \ + --eval-command="handle SIGPIPE nostop" \ + --eval-command="set pagination off" \ + --eval-command="set substitute-path /sledge/runtime $project_directory" \ + --eval-command="run $experiment_directory/spec.json" \ + sledgert diff --git a/runtime/experiments/applications/ekf/ekf_raw.dat b/runtime/experiments/applications/ekf/ekf_raw.dat new file mode 100644 index 0000000..9a960e1 Binary files /dev/null and b/runtime/experiments/applications/ekf/ekf_raw.dat differ diff --git a/runtime/experiments/applications/ekf/expected_result.dat b/runtime/experiments/applications/ekf/expected_result.dat new file mode 100644 index 0000000..1229f11 Binary files /dev/null and b/runtime/experiments/applications/ekf/expected_result.dat differ diff --git a/runtime/experiments/applications/ekf/run.sh b/runtime/experiments/applications/ekf/run.sh new file mode 100755 index 0000000..dde0d66 --- /dev/null +++ b/runtime/experiments/applications/ekf/run.sh @@ -0,0 +1,45 @@ +#!/bin/bash +# Executes the runtime in GDB +# Substitutes the absolute path from the container with a path relatively derived from the location of this script +# This allows debugging outside of the Docker container +# Also disables pagination and stopping on SIGUSR1 + +experiment_directory=$(pwd) +project_directory=$(cd ../../.. && pwd) +binary_directory=$(cd "$project_directory"/bin && pwd) + +# Copy data if not here +if [[ ! -f "./ekf_raw.dat" ]]; then + cp ../../../tests/TinyEKF/extras/c/ekf_raw.dat ./ekf_raw.dat +fi + +if [ "$1" != "-d" ]; then + PATH="$binary_directory:$PATH" LD_LIBRARY_PATH="$binary_directory:$LD_LIBRARY_PATH" sledgert "$experiment_directory/spec.json" & + sleep 1 +else + echo "Running under gdb" +fi + +expected_result="$(tr -d '\0' <./expected_result.dat)" + +success_count=0 +total_count=50 + +for ((i = 0; i < total_count; i++)); do + echo "$i" + result="$(curl -H 'Expect:' -H "Content-Type: application/octet-stream" --data-binary "@ekf_raw.dat" localhost:10000 2>/dev/null | tr -d '\0')" + if [[ "$expected_result" == "$result" ]]; then + success_count=$((success_count + 1)) + else + echo "FAIL" + fi +done + +echo "$success_count / $total_count" + +if [ "$1" != "-d" ]; then + sleep 5 + echo -n "Running Cleanup: " + pkill sledgert >/dev/null 2>/dev/null + echo "[DONE]" +fi diff --git a/runtime/experiments/applications/ekf/spec.json b/runtime/experiments/applications/ekf/spec.json new file mode 100644 index 0000000..de317c7 --- /dev/null +++ b/runtime/experiments/applications/ekf/spec.json @@ -0,0 +1,14 @@ +{ + "active": "yes", + "name": "resize", + "path": "ekf_wasm.so", + "port": 10000, + "relative-deadline-us": 50000, + "argsize": 1, + "http-req-headers": [], + "http-req-content-type": "application/octet-stream", + "http-req-size": 1024000, + "http-resp-headers": [], + "http-resp-size": 1024000, + "http-resp-content-type": "application/octet-stream" +} diff --git a/runtime/experiments/applications/fivebyeight/spec.json b/runtime/experiments/applications/fivebyeight/spec.json index 49677a1..85e5d4b 100644 --- a/runtime/experiments/applications/fivebyeight/spec.json +++ b/runtime/experiments/applications/fivebyeight/spec.json @@ -1,7 +1,7 @@ { "active": "yes", "name": "gocr", - "path": "gocr.aso", + "path": "gocr_wasm.so", "port": 10000, "relative-deadline-us": 500000000, "expected-execution-us": 5000000, diff --git a/runtime/experiments/applications/handwriting/spec.json b/runtime/experiments/applications/handwriting/spec.json index e1357f3..8e06a18 100644 --- a/runtime/experiments/applications/handwriting/spec.json +++ b/runtime/experiments/applications/handwriting/spec.json @@ -1,7 +1,7 @@ { "active": "yes", "name": "gocr", - "path": "gocr.aso", + "path": "gocr_wasm.so", "port": 10000, "relative-deadline-us": 50000000000, "argsize": 1, diff --git a/runtime/experiments/applications/hyde/spec.json b/runtime/experiments/applications/hyde/spec.json index a175600..818179e 100644 --- a/runtime/experiments/applications/hyde/spec.json +++ b/runtime/experiments/applications/hyde/spec.json @@ -1,7 +1,7 @@ { "active": "yes", "name": "gocr", - "path": "gocr.aso", + "path": "gocr_wasm.so", "port": 10000, "relative-deadline-us": 50000000000, "argsize": 1, diff --git a/runtime/experiments/applications/imageclassification/.gitignore b/runtime/experiments/applications/imageclassification/.gitignore new file mode 100644 index 0000000..34cb46d --- /dev/null +++ b/runtime/experiments/applications/imageclassification/.gitignore @@ -0,0 +1 @@ +flower.jpg diff --git a/runtime/experiments/applications/imageclassification/README.md b/runtime/experiments/applications/imageclassification/README.md new file mode 100644 index 0000000..92953e5 --- /dev/null +++ b/runtime/experiments/applications/imageclassification/README.md @@ -0,0 +1,15 @@ +# Image Classification + +Classifies a tiny 32x32 image from the CIFAR-10 dataset into one of ten different classes: +airplane +automobile +bird +cat +deer +dog +frog +horse +ship +truck + +An initial run incorrectly classified all images as class 8. It seems that this was because the image data was not being read correctly. @emil916 created a fix, but the performance on the images pulled from the classifier's associated website still seems poor and is captured in `erroneous_output.txt`. diff --git a/runtime/experiments/applications/imageclassification/debug.sh b/runtime/experiments/applications/imageclassification/debug.sh new file mode 100755 index 0000000..a561392 --- /dev/null +++ b/runtime/experiments/applications/imageclassification/debug.sh @@ -0,0 +1,19 @@ +#!/bin/bash +# Executes the runtime in GDB +# Substitutes the absolute path from the container with a path relatively derived from the location of this script +# This allows debugging outside of the Docker container +# Also disables pagination and stopping on SIGUSR1 + +experiment_directory=$(pwd) +project_directory=$(cd ../../.. && pwd) +binary_directory=$(cd "$project_directory"/bin && pwd) + +export LD_LIBRARY_PATH="$binary_directory:$LD_LIBRARY_PATH" +export PATH="$binary_directory:$PATH" + +gdb --eval-command="handle SIGUSR1 nostop" \ + --eval-command="handle SIGPIPE nostop" \ + --eval-command="set pagination off" \ + --eval-command="set substitute-path /sledge/runtime $project_directory" \ + --eval-command="run $experiment_directory/spec.json" \ + sledgert diff --git a/runtime/experiments/applications/imageclassification/erroneous_output.txt b/runtime/experiments/applications/imageclassification/erroneous_output.txt new file mode 100644 index 0000000..0021cb8 --- /dev/null +++ b/runtime/experiments/applications/imageclassification/erroneous_output.txt @@ -0,0 +1,200 @@ +Classifying airplane1.png +1 +Classifying airplane2.png +1 +Classifying airplane3.png +9 +Classifying airplane4.png +1 +Classifying airplane5.png +1 +Classifying airplane6.png +1 +Classifying airplane7.png +8 +Classifying airplane8.png +9 +Classifying airplane9.png +1 +Classifying airplane10.png +1 +Classifying automobile1.png +1 +Classifying automobile2.png +9 +Classifying automobile3.png +9 +Classifying automobile4.png +1 +Classifying automobile5.png +1 +Classifying automobile6.png +9 +Classifying automobile7.png +9 +Classifying automobile8.png +1 +Classifying automobile9.png +1 +Classifying automobile10.png +9 +Classifying bird1.png +1 +Classifying bird2.png +1 +Classifying bird3.png +8 +Classifying bird4.png +1 +Classifying bird5.png +1 +Classifying bird6.png +8 +Classifying bird7.png +1 +Classifying bird8.png +9 +Classifying bird9.png +1 +Classifying bird10.png +9 +Classifying cat1.png +1 +Classifying cat2.png +9 +Classifying cat3.png +9 +Classifying cat4.png +9 +Classifying cat5.png +9 +Classifying cat6.png +1 +Classifying cat7.png +9 +Classifying cat8.png +1 +Classifying cat9.png +1 +Classifying cat10.png +9 +Classifying deer1.png +9 +Classifying deer2.png +9 +Classifying deer3.png +1 +Classifying deer4.png +1 +Classifying deer5.png +9 +Classifying deer6.png +9 +Classifying deer7.png +9 +Classifying deer8.png +9 +Classifying deer9.png +9 +Classifying deer10.png +6 +Classifying dog1.png +9 +Classifying dog2.png +1 +Classifying dog3.png +9 +Classifying dog4.png +9 +Classifying dog5.png +9 +Classifying dog6.png +9 +Classifying dog7.png +1 +Classifying dog8.png +9 +Classifying dog9.png +9 +Classifying dog10.png +9 +Classifying frog1.png +1 +Classifying frog2.png +1 +Classifying frog3.png +9 +Classifying frog4.png +9 +Classifying frog5.png +9 +Classifying frog6.png +9 +Classifying frog7.png +9 +Classifying frog8.png +9 +Classifying frog9.png +9 +Classifying frog10.png +9 +Classifying horse1.png +1 +Classifying horse2.png +9 +Classifying horse3.png +9 +Classifying horse4.png +9 +Classifying horse5.png +9 +Classifying horse6.png +9 +Classifying horse7.png +1 +Classifying horse8.png +9 +Classifying horse9.png +9 +Classifying horse10.png +1 +Classifying ship1.png +9 +Classifying ship2.png +9 +Classifying ship3.png +1 +Classifying ship4.png +8 +Classifying ship5.png +1 +Classifying ship6.png +8 +Classifying ship7.png +9 +Classifying ship8.png +1 +Classifying ship9.png +9 +Classifying ship10.png +1 +Classifying truck1.png +9 +Classifying truck2.png +9 +Classifying truck3.png +9 +Classifying truck4.png +9 +Classifying truck5.png +9 +Classifying truck6.png +1 +Classifying truck7.png +9 +Classifying truck8.png +9 +Classifying truck9.png +1 +Classifying truck10.png +9 diff --git a/runtime/experiments/applications/imageclassification/images/bmp/airplane1.bmp b/runtime/experiments/applications/imageclassification/images/bmp/airplane1.bmp new file mode 100644 index 0000000..7577ad9 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/airplane1.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/airplane10.bmp b/runtime/experiments/applications/imageclassification/images/bmp/airplane10.bmp new file mode 100644 index 0000000..9d64668 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/airplane10.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/airplane2.bmp b/runtime/experiments/applications/imageclassification/images/bmp/airplane2.bmp new file mode 100644 index 0000000..62b8dc6 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/airplane2.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/airplane3.bmp b/runtime/experiments/applications/imageclassification/images/bmp/airplane3.bmp new file mode 100644 index 0000000..f0b993d Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/airplane3.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/airplane4.bmp b/runtime/experiments/applications/imageclassification/images/bmp/airplane4.bmp new file mode 100644 index 0000000..2b4d4fb Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/airplane4.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/airplane5.bmp b/runtime/experiments/applications/imageclassification/images/bmp/airplane5.bmp new file mode 100644 index 0000000..a0dfde8 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/airplane5.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/airplane6.bmp b/runtime/experiments/applications/imageclassification/images/bmp/airplane6.bmp new file mode 100644 index 0000000..1706efb Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/airplane6.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/airplane7.bmp b/runtime/experiments/applications/imageclassification/images/bmp/airplane7.bmp new file mode 100644 index 0000000..9bee13c Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/airplane7.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/airplane8.bmp b/runtime/experiments/applications/imageclassification/images/bmp/airplane8.bmp new file mode 100644 index 0000000..06ea883 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/airplane8.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/airplane9.bmp b/runtime/experiments/applications/imageclassification/images/bmp/airplane9.bmp new file mode 100644 index 0000000..ca68b4c Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/airplane9.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/automobile1.bmp b/runtime/experiments/applications/imageclassification/images/bmp/automobile1.bmp new file mode 100644 index 0000000..56726b6 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/automobile1.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/automobile10.bmp b/runtime/experiments/applications/imageclassification/images/bmp/automobile10.bmp new file mode 100644 index 0000000..e76502f Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/automobile10.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/automobile2.bmp b/runtime/experiments/applications/imageclassification/images/bmp/automobile2.bmp new file mode 100644 index 0000000..71c2ac6 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/automobile2.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/automobile3.bmp b/runtime/experiments/applications/imageclassification/images/bmp/automobile3.bmp new file mode 100644 index 0000000..cc439c8 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/automobile3.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/automobile4.bmp b/runtime/experiments/applications/imageclassification/images/bmp/automobile4.bmp new file mode 100644 index 0000000..c2080a3 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/automobile4.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/automobile5.bmp b/runtime/experiments/applications/imageclassification/images/bmp/automobile5.bmp new file mode 100644 index 0000000..3c05d7a Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/automobile5.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/automobile6.bmp b/runtime/experiments/applications/imageclassification/images/bmp/automobile6.bmp new file mode 100644 index 0000000..db8dd57 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/automobile6.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/automobile7.bmp b/runtime/experiments/applications/imageclassification/images/bmp/automobile7.bmp new file mode 100644 index 0000000..3099f9a Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/automobile7.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/automobile8.bmp b/runtime/experiments/applications/imageclassification/images/bmp/automobile8.bmp new file mode 100644 index 0000000..5a7414d Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/automobile8.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/automobile9.bmp b/runtime/experiments/applications/imageclassification/images/bmp/automobile9.bmp new file mode 100644 index 0000000..d6c9528 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/automobile9.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/bird1.bmp b/runtime/experiments/applications/imageclassification/images/bmp/bird1.bmp new file mode 100644 index 0000000..c1b5627 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/bird1.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/bird10.bmp b/runtime/experiments/applications/imageclassification/images/bmp/bird10.bmp new file mode 100644 index 0000000..f49653d Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/bird10.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/bird2.bmp b/runtime/experiments/applications/imageclassification/images/bmp/bird2.bmp new file mode 100644 index 0000000..5007097 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/bird2.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/bird3.bmp b/runtime/experiments/applications/imageclassification/images/bmp/bird3.bmp new file mode 100644 index 0000000..13a7855 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/bird3.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/bird4.bmp b/runtime/experiments/applications/imageclassification/images/bmp/bird4.bmp new file mode 100644 index 0000000..2866f9b Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/bird4.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/bird5.bmp b/runtime/experiments/applications/imageclassification/images/bmp/bird5.bmp new file mode 100644 index 0000000..a6bf616 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/bird5.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/bird6.bmp b/runtime/experiments/applications/imageclassification/images/bmp/bird6.bmp new file mode 100644 index 0000000..b4e86ff Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/bird6.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/bird7.bmp b/runtime/experiments/applications/imageclassification/images/bmp/bird7.bmp new file mode 100644 index 0000000..4d05537 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/bird7.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/bird8.bmp b/runtime/experiments/applications/imageclassification/images/bmp/bird8.bmp new file mode 100644 index 0000000..68f396e Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/bird8.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/bird9.bmp b/runtime/experiments/applications/imageclassification/images/bmp/bird9.bmp new file mode 100644 index 0000000..591d8d6 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/bird9.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/cat1.bmp b/runtime/experiments/applications/imageclassification/images/bmp/cat1.bmp new file mode 100644 index 0000000..65958dd Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/cat1.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/cat10.bmp b/runtime/experiments/applications/imageclassification/images/bmp/cat10.bmp new file mode 100644 index 0000000..050faf7 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/cat10.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/cat2.bmp b/runtime/experiments/applications/imageclassification/images/bmp/cat2.bmp new file mode 100644 index 0000000..1e00637 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/cat2.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/cat3.bmp b/runtime/experiments/applications/imageclassification/images/bmp/cat3.bmp new file mode 100644 index 0000000..f360091 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/cat3.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/cat4.bmp b/runtime/experiments/applications/imageclassification/images/bmp/cat4.bmp new file mode 100644 index 0000000..19fcb20 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/cat4.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/cat5.bmp b/runtime/experiments/applications/imageclassification/images/bmp/cat5.bmp new file mode 100644 index 0000000..3487858 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/cat5.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/cat6.bmp b/runtime/experiments/applications/imageclassification/images/bmp/cat6.bmp new file mode 100644 index 0000000..4031dde Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/cat6.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/cat7.bmp b/runtime/experiments/applications/imageclassification/images/bmp/cat7.bmp new file mode 100644 index 0000000..e395436 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/cat7.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/cat8.bmp b/runtime/experiments/applications/imageclassification/images/bmp/cat8.bmp new file mode 100644 index 0000000..7a499a5 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/cat8.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/cat9.bmp b/runtime/experiments/applications/imageclassification/images/bmp/cat9.bmp new file mode 100644 index 0000000..49452dc Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/cat9.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/deer1.bmp b/runtime/experiments/applications/imageclassification/images/bmp/deer1.bmp new file mode 100644 index 0000000..6f93450 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/deer1.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/deer10.bmp b/runtime/experiments/applications/imageclassification/images/bmp/deer10.bmp new file mode 100644 index 0000000..c286bd0 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/deer10.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/deer2.bmp b/runtime/experiments/applications/imageclassification/images/bmp/deer2.bmp new file mode 100644 index 0000000..c831aba Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/deer2.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/deer3.bmp b/runtime/experiments/applications/imageclassification/images/bmp/deer3.bmp new file mode 100644 index 0000000..9ea3ca4 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/deer3.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/deer4.bmp b/runtime/experiments/applications/imageclassification/images/bmp/deer4.bmp new file mode 100644 index 0000000..213cc2e Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/deer4.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/deer5.bmp b/runtime/experiments/applications/imageclassification/images/bmp/deer5.bmp new file mode 100644 index 0000000..dac7e14 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/deer5.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/deer6.bmp b/runtime/experiments/applications/imageclassification/images/bmp/deer6.bmp new file mode 100644 index 0000000..911af04 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/deer6.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/deer7.bmp b/runtime/experiments/applications/imageclassification/images/bmp/deer7.bmp new file mode 100644 index 0000000..4ce7eeb Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/deer7.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/deer8.bmp b/runtime/experiments/applications/imageclassification/images/bmp/deer8.bmp new file mode 100644 index 0000000..66db333 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/deer8.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/deer9.bmp b/runtime/experiments/applications/imageclassification/images/bmp/deer9.bmp new file mode 100644 index 0000000..8d9111c Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/deer9.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/dog1.bmp b/runtime/experiments/applications/imageclassification/images/bmp/dog1.bmp new file mode 100644 index 0000000..1c1f885 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/dog1.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/dog10.bmp b/runtime/experiments/applications/imageclassification/images/bmp/dog10.bmp new file mode 100644 index 0000000..3ca061b Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/dog10.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/dog2.bmp b/runtime/experiments/applications/imageclassification/images/bmp/dog2.bmp new file mode 100644 index 0000000..d78701f Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/dog2.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/dog3.bmp b/runtime/experiments/applications/imageclassification/images/bmp/dog3.bmp new file mode 100644 index 0000000..434d504 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/dog3.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/dog4.bmp b/runtime/experiments/applications/imageclassification/images/bmp/dog4.bmp new file mode 100644 index 0000000..080a53a Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/dog4.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/dog5.bmp b/runtime/experiments/applications/imageclassification/images/bmp/dog5.bmp new file mode 100644 index 0000000..c687bce Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/dog5.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/dog6.bmp b/runtime/experiments/applications/imageclassification/images/bmp/dog6.bmp new file mode 100644 index 0000000..1e3ab47 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/dog6.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/dog7.bmp b/runtime/experiments/applications/imageclassification/images/bmp/dog7.bmp new file mode 100644 index 0000000..1ce4641 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/dog7.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/dog8.bmp b/runtime/experiments/applications/imageclassification/images/bmp/dog8.bmp new file mode 100644 index 0000000..a27ecc0 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/dog8.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/dog9.bmp b/runtime/experiments/applications/imageclassification/images/bmp/dog9.bmp new file mode 100644 index 0000000..37ad6dd Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/dog9.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/frog1.bmp b/runtime/experiments/applications/imageclassification/images/bmp/frog1.bmp new file mode 100644 index 0000000..6af0404 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/frog1.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/frog10.bmp b/runtime/experiments/applications/imageclassification/images/bmp/frog10.bmp new file mode 100644 index 0000000..0b1daea Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/frog10.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/frog2.bmp b/runtime/experiments/applications/imageclassification/images/bmp/frog2.bmp new file mode 100644 index 0000000..162d1ad Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/frog2.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/frog3.bmp b/runtime/experiments/applications/imageclassification/images/bmp/frog3.bmp new file mode 100644 index 0000000..a26935d Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/frog3.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/frog4.bmp b/runtime/experiments/applications/imageclassification/images/bmp/frog4.bmp new file mode 100644 index 0000000..ece805e Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/frog4.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/frog5.bmp b/runtime/experiments/applications/imageclassification/images/bmp/frog5.bmp new file mode 100644 index 0000000..629e56c Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/frog5.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/frog6.bmp b/runtime/experiments/applications/imageclassification/images/bmp/frog6.bmp new file mode 100644 index 0000000..a062916 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/frog6.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/frog7.bmp b/runtime/experiments/applications/imageclassification/images/bmp/frog7.bmp new file mode 100644 index 0000000..35fce5f Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/frog7.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/frog8.bmp b/runtime/experiments/applications/imageclassification/images/bmp/frog8.bmp new file mode 100644 index 0000000..b7e0df3 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/frog8.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/frog9.bmp b/runtime/experiments/applications/imageclassification/images/bmp/frog9.bmp new file mode 100644 index 0000000..601920c Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/frog9.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/horse1.bmp b/runtime/experiments/applications/imageclassification/images/bmp/horse1.bmp new file mode 100644 index 0000000..14681af Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/horse1.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/horse10.bmp b/runtime/experiments/applications/imageclassification/images/bmp/horse10.bmp new file mode 100644 index 0000000..e046812 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/horse10.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/horse2.bmp b/runtime/experiments/applications/imageclassification/images/bmp/horse2.bmp new file mode 100644 index 0000000..5061093 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/horse2.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/horse3.bmp b/runtime/experiments/applications/imageclassification/images/bmp/horse3.bmp new file mode 100644 index 0000000..3e92640 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/horse3.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/horse4.bmp b/runtime/experiments/applications/imageclassification/images/bmp/horse4.bmp new file mode 100644 index 0000000..b754ddf Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/horse4.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/horse5.bmp b/runtime/experiments/applications/imageclassification/images/bmp/horse5.bmp new file mode 100644 index 0000000..023557c Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/horse5.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/horse6.bmp b/runtime/experiments/applications/imageclassification/images/bmp/horse6.bmp new file mode 100644 index 0000000..f56caef Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/horse6.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/horse7.bmp b/runtime/experiments/applications/imageclassification/images/bmp/horse7.bmp new file mode 100644 index 0000000..a80f20a Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/horse7.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/horse8.bmp b/runtime/experiments/applications/imageclassification/images/bmp/horse8.bmp new file mode 100644 index 0000000..073e24b Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/horse8.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/horse9.bmp b/runtime/experiments/applications/imageclassification/images/bmp/horse9.bmp new file mode 100644 index 0000000..c70a282 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/horse9.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/ship1.bmp b/runtime/experiments/applications/imageclassification/images/bmp/ship1.bmp new file mode 100644 index 0000000..918f222 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/ship1.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/ship10.bmp b/runtime/experiments/applications/imageclassification/images/bmp/ship10.bmp new file mode 100644 index 0000000..ee4aefa Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/ship10.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/ship2.bmp b/runtime/experiments/applications/imageclassification/images/bmp/ship2.bmp new file mode 100644 index 0000000..be8e5b7 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/ship2.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/ship3.bmp b/runtime/experiments/applications/imageclassification/images/bmp/ship3.bmp new file mode 100644 index 0000000..bf2fda8 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/ship3.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/ship4.bmp b/runtime/experiments/applications/imageclassification/images/bmp/ship4.bmp new file mode 100644 index 0000000..830cdab Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/ship4.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/ship5.bmp b/runtime/experiments/applications/imageclassification/images/bmp/ship5.bmp new file mode 100644 index 0000000..ad92078 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/ship5.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/ship6.bmp b/runtime/experiments/applications/imageclassification/images/bmp/ship6.bmp new file mode 100644 index 0000000..1c5018d Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/ship6.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/ship7.bmp b/runtime/experiments/applications/imageclassification/images/bmp/ship7.bmp new file mode 100644 index 0000000..8737dfd Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/ship7.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/ship8.bmp b/runtime/experiments/applications/imageclassification/images/bmp/ship8.bmp new file mode 100644 index 0000000..3a4b72b Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/ship8.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/ship9.bmp b/runtime/experiments/applications/imageclassification/images/bmp/ship9.bmp new file mode 100644 index 0000000..ac1cb77 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/ship9.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/truck1.bmp b/runtime/experiments/applications/imageclassification/images/bmp/truck1.bmp new file mode 100644 index 0000000..65358d7 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/truck1.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/truck10.bmp b/runtime/experiments/applications/imageclassification/images/bmp/truck10.bmp new file mode 100644 index 0000000..af1cafd Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/truck10.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/truck2.bmp b/runtime/experiments/applications/imageclassification/images/bmp/truck2.bmp new file mode 100644 index 0000000..ad42b11 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/truck2.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/truck3.bmp b/runtime/experiments/applications/imageclassification/images/bmp/truck3.bmp new file mode 100644 index 0000000..6b12f46 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/truck3.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/truck4.bmp b/runtime/experiments/applications/imageclassification/images/bmp/truck4.bmp new file mode 100644 index 0000000..0f80ce0 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/truck4.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/truck5.bmp b/runtime/experiments/applications/imageclassification/images/bmp/truck5.bmp new file mode 100644 index 0000000..95f6b1d Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/truck5.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/truck6.bmp b/runtime/experiments/applications/imageclassification/images/bmp/truck6.bmp new file mode 100644 index 0000000..7279a41 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/truck6.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/truck7.bmp b/runtime/experiments/applications/imageclassification/images/bmp/truck7.bmp new file mode 100644 index 0000000..4a5ed23 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/truck7.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/truck8.bmp b/runtime/experiments/applications/imageclassification/images/bmp/truck8.bmp new file mode 100644 index 0000000..f1c3e5b Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/truck8.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/bmp/truck9.bmp b/runtime/experiments/applications/imageclassification/images/bmp/truck9.bmp new file mode 100644 index 0000000..20bf249 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/bmp/truck9.bmp differ diff --git a/runtime/experiments/applications/imageclassification/images/png/airplane1.png b/runtime/experiments/applications/imageclassification/images/png/airplane1.png new file mode 100644 index 0000000..95be9f5 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/airplane1.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/airplane10.png b/runtime/experiments/applications/imageclassification/images/png/airplane10.png new file mode 100644 index 0000000..722e19c Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/airplane10.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/airplane2.png b/runtime/experiments/applications/imageclassification/images/png/airplane2.png new file mode 100644 index 0000000..6b9ae32 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/airplane2.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/airplane3.png b/runtime/experiments/applications/imageclassification/images/png/airplane3.png new file mode 100644 index 0000000..202c7bd Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/airplane3.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/airplane4.png b/runtime/experiments/applications/imageclassification/images/png/airplane4.png new file mode 100644 index 0000000..c87531d Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/airplane4.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/airplane5.png b/runtime/experiments/applications/imageclassification/images/png/airplane5.png new file mode 100644 index 0000000..ed6a13f Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/airplane5.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/airplane6.png b/runtime/experiments/applications/imageclassification/images/png/airplane6.png new file mode 100644 index 0000000..5b00cb0 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/airplane6.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/airplane7.png b/runtime/experiments/applications/imageclassification/images/png/airplane7.png new file mode 100644 index 0000000..6266a05 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/airplane7.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/airplane8.png b/runtime/experiments/applications/imageclassification/images/png/airplane8.png new file mode 100644 index 0000000..a248140 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/airplane8.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/airplane9.png b/runtime/experiments/applications/imageclassification/images/png/airplane9.png new file mode 100644 index 0000000..3e426be Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/airplane9.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/automobile1.png b/runtime/experiments/applications/imageclassification/images/png/automobile1.png new file mode 100644 index 0000000..6315c67 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/automobile1.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/automobile10.png b/runtime/experiments/applications/imageclassification/images/png/automobile10.png new file mode 100644 index 0000000..82fc047 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/automobile10.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/automobile2.png b/runtime/experiments/applications/imageclassification/images/png/automobile2.png new file mode 100644 index 0000000..2a485c9 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/automobile2.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/automobile3.png b/runtime/experiments/applications/imageclassification/images/png/automobile3.png new file mode 100644 index 0000000..3ee3b7a Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/automobile3.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/automobile4.png b/runtime/experiments/applications/imageclassification/images/png/automobile4.png new file mode 100644 index 0000000..254d261 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/automobile4.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/automobile5.png b/runtime/experiments/applications/imageclassification/images/png/automobile5.png new file mode 100644 index 0000000..30aecdf Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/automobile5.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/automobile6.png b/runtime/experiments/applications/imageclassification/images/png/automobile6.png new file mode 100644 index 0000000..d7485ae Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/automobile6.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/automobile7.png b/runtime/experiments/applications/imageclassification/images/png/automobile7.png new file mode 100644 index 0000000..d917359 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/automobile7.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/automobile8.png b/runtime/experiments/applications/imageclassification/images/png/automobile8.png new file mode 100644 index 0000000..25bd8b0 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/automobile8.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/automobile9.png b/runtime/experiments/applications/imageclassification/images/png/automobile9.png new file mode 100644 index 0000000..8046b9d Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/automobile9.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/bird1.png b/runtime/experiments/applications/imageclassification/images/png/bird1.png new file mode 100644 index 0000000..3b73644 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/bird1.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/bird10.png b/runtime/experiments/applications/imageclassification/images/png/bird10.png new file mode 100644 index 0000000..9c33e1b Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/bird10.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/bird2.png b/runtime/experiments/applications/imageclassification/images/png/bird2.png new file mode 100644 index 0000000..c71f5bb Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/bird2.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/bird3.png b/runtime/experiments/applications/imageclassification/images/png/bird3.png new file mode 100644 index 0000000..2b63a56 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/bird3.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/bird4.png b/runtime/experiments/applications/imageclassification/images/png/bird4.png new file mode 100644 index 0000000..e313e99 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/bird4.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/bird5.png b/runtime/experiments/applications/imageclassification/images/png/bird5.png new file mode 100644 index 0000000..8346dbd Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/bird5.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/bird6.png b/runtime/experiments/applications/imageclassification/images/png/bird6.png new file mode 100644 index 0000000..4874f5a Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/bird6.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/bird7.png b/runtime/experiments/applications/imageclassification/images/png/bird7.png new file mode 100644 index 0000000..4286050 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/bird7.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/bird8.png b/runtime/experiments/applications/imageclassification/images/png/bird8.png new file mode 100644 index 0000000..574355d Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/bird8.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/bird9.png b/runtime/experiments/applications/imageclassification/images/png/bird9.png new file mode 100644 index 0000000..a7ff359 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/bird9.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/cat1.png b/runtime/experiments/applications/imageclassification/images/png/cat1.png new file mode 100644 index 0000000..90797d7 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/cat1.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/cat10.png b/runtime/experiments/applications/imageclassification/images/png/cat10.png new file mode 100644 index 0000000..844c571 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/cat10.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/cat2.png b/runtime/experiments/applications/imageclassification/images/png/cat2.png new file mode 100644 index 0000000..7ce1430 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/cat2.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/cat3.png b/runtime/experiments/applications/imageclassification/images/png/cat3.png new file mode 100644 index 0000000..bb84fd1 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/cat3.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/cat4.png b/runtime/experiments/applications/imageclassification/images/png/cat4.png new file mode 100644 index 0000000..d4f87f2 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/cat4.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/cat5.png b/runtime/experiments/applications/imageclassification/images/png/cat5.png new file mode 100644 index 0000000..420d37c Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/cat5.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/cat6.png b/runtime/experiments/applications/imageclassification/images/png/cat6.png new file mode 100644 index 0000000..5c9e430 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/cat6.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/cat7.png b/runtime/experiments/applications/imageclassification/images/png/cat7.png new file mode 100644 index 0000000..e93e591 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/cat7.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/cat8.png b/runtime/experiments/applications/imageclassification/images/png/cat8.png new file mode 100644 index 0000000..ba61f39 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/cat8.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/cat9.png b/runtime/experiments/applications/imageclassification/images/png/cat9.png new file mode 100644 index 0000000..de6c2cc Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/cat9.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/deer1.png b/runtime/experiments/applications/imageclassification/images/png/deer1.png new file mode 100644 index 0000000..7e7d3d7 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/deer1.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/deer10.png b/runtime/experiments/applications/imageclassification/images/png/deer10.png new file mode 100644 index 0000000..2b40464 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/deer10.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/deer2.png b/runtime/experiments/applications/imageclassification/images/png/deer2.png new file mode 100644 index 0000000..205d170 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/deer2.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/deer3.png b/runtime/experiments/applications/imageclassification/images/png/deer3.png new file mode 100644 index 0000000..550fa0f Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/deer3.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/deer4.png b/runtime/experiments/applications/imageclassification/images/png/deer4.png new file mode 100644 index 0000000..44194e2 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/deer4.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/deer5.png b/runtime/experiments/applications/imageclassification/images/png/deer5.png new file mode 100644 index 0000000..189e8e3 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/deer5.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/deer6.png b/runtime/experiments/applications/imageclassification/images/png/deer6.png new file mode 100644 index 0000000..d4e3023 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/deer6.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/deer7.png b/runtime/experiments/applications/imageclassification/images/png/deer7.png new file mode 100644 index 0000000..d3b08f1 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/deer7.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/deer8.png b/runtime/experiments/applications/imageclassification/images/png/deer8.png new file mode 100644 index 0000000..5405935 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/deer8.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/deer9.png b/runtime/experiments/applications/imageclassification/images/png/deer9.png new file mode 100644 index 0000000..9d7d71d Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/deer9.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/dog1.png b/runtime/experiments/applications/imageclassification/images/png/dog1.png new file mode 100644 index 0000000..1613ff6 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/dog1.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/dog10.png b/runtime/experiments/applications/imageclassification/images/png/dog10.png new file mode 100644 index 0000000..8fa3409 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/dog10.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/dog2.png b/runtime/experiments/applications/imageclassification/images/png/dog2.png new file mode 100644 index 0000000..301bcd3 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/dog2.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/dog3.png b/runtime/experiments/applications/imageclassification/images/png/dog3.png new file mode 100644 index 0000000..d95d56d Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/dog3.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/dog4.png b/runtime/experiments/applications/imageclassification/images/png/dog4.png new file mode 100644 index 0000000..630fbb2 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/dog4.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/dog5.png b/runtime/experiments/applications/imageclassification/images/png/dog5.png new file mode 100644 index 0000000..b44a37f Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/dog5.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/dog6.png b/runtime/experiments/applications/imageclassification/images/png/dog6.png new file mode 100644 index 0000000..62629ca Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/dog6.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/dog7.png b/runtime/experiments/applications/imageclassification/images/png/dog7.png new file mode 100644 index 0000000..fb4180a Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/dog7.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/dog8.png b/runtime/experiments/applications/imageclassification/images/png/dog8.png new file mode 100644 index 0000000..3493e5a Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/dog8.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/dog9.png b/runtime/experiments/applications/imageclassification/images/png/dog9.png new file mode 100644 index 0000000..08b26a3 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/dog9.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/frog1.png b/runtime/experiments/applications/imageclassification/images/png/frog1.png new file mode 100644 index 0000000..a495f14 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/frog1.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/frog10.png b/runtime/experiments/applications/imageclassification/images/png/frog10.png new file mode 100644 index 0000000..e8dfe5f Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/frog10.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/frog2.png b/runtime/experiments/applications/imageclassification/images/png/frog2.png new file mode 100644 index 0000000..3321916 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/frog2.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/frog3.png b/runtime/experiments/applications/imageclassification/images/png/frog3.png new file mode 100644 index 0000000..ceaa6bd Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/frog3.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/frog4.png b/runtime/experiments/applications/imageclassification/images/png/frog4.png new file mode 100644 index 0000000..d3bc03b Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/frog4.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/frog5.png b/runtime/experiments/applications/imageclassification/images/png/frog5.png new file mode 100644 index 0000000..7303b6a Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/frog5.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/frog6.png b/runtime/experiments/applications/imageclassification/images/png/frog6.png new file mode 100644 index 0000000..3aef695 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/frog6.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/frog7.png b/runtime/experiments/applications/imageclassification/images/png/frog7.png new file mode 100644 index 0000000..9708333 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/frog7.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/frog8.png b/runtime/experiments/applications/imageclassification/images/png/frog8.png new file mode 100644 index 0000000..fd18cca Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/frog8.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/frog9.png b/runtime/experiments/applications/imageclassification/images/png/frog9.png new file mode 100644 index 0000000..20f4dc8 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/frog9.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/horse1.png b/runtime/experiments/applications/imageclassification/images/png/horse1.png new file mode 100644 index 0000000..80cf354 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/horse1.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/horse10.png b/runtime/experiments/applications/imageclassification/images/png/horse10.png new file mode 100644 index 0000000..9f09196 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/horse10.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/horse2.png b/runtime/experiments/applications/imageclassification/images/png/horse2.png new file mode 100644 index 0000000..ce914f4 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/horse2.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/horse3.png b/runtime/experiments/applications/imageclassification/images/png/horse3.png new file mode 100644 index 0000000..da62a95 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/horse3.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/horse4.png b/runtime/experiments/applications/imageclassification/images/png/horse4.png new file mode 100644 index 0000000..7d7936d Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/horse4.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/horse5.png b/runtime/experiments/applications/imageclassification/images/png/horse5.png new file mode 100644 index 0000000..9817c1f Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/horse5.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/horse6.png b/runtime/experiments/applications/imageclassification/images/png/horse6.png new file mode 100644 index 0000000..d72d6b4 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/horse6.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/horse7.png b/runtime/experiments/applications/imageclassification/images/png/horse7.png new file mode 100644 index 0000000..3e7356f Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/horse7.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/horse8.png b/runtime/experiments/applications/imageclassification/images/png/horse8.png new file mode 100644 index 0000000..f16995b Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/horse8.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/horse9.png b/runtime/experiments/applications/imageclassification/images/png/horse9.png new file mode 100644 index 0000000..edbfc4b Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/horse9.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/ship1.png b/runtime/experiments/applications/imageclassification/images/png/ship1.png new file mode 100644 index 0000000..f5aaa66 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/ship1.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/ship10.png b/runtime/experiments/applications/imageclassification/images/png/ship10.png new file mode 100644 index 0000000..26713d2 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/ship10.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/ship2.png b/runtime/experiments/applications/imageclassification/images/png/ship2.png new file mode 100644 index 0000000..3bbe0b1 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/ship2.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/ship3.png b/runtime/experiments/applications/imageclassification/images/png/ship3.png new file mode 100644 index 0000000..6054a2c Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/ship3.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/ship4.png b/runtime/experiments/applications/imageclassification/images/png/ship4.png new file mode 100644 index 0000000..8d103c9 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/ship4.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/ship5.png b/runtime/experiments/applications/imageclassification/images/png/ship5.png new file mode 100644 index 0000000..bcb23ed Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/ship5.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/ship6.png b/runtime/experiments/applications/imageclassification/images/png/ship6.png new file mode 100644 index 0000000..df787e7 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/ship6.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/ship7.png b/runtime/experiments/applications/imageclassification/images/png/ship7.png new file mode 100644 index 0000000..bbd301a Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/ship7.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/ship8.png b/runtime/experiments/applications/imageclassification/images/png/ship8.png new file mode 100644 index 0000000..6b68c3d Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/ship8.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/ship9.png b/runtime/experiments/applications/imageclassification/images/png/ship9.png new file mode 100644 index 0000000..be5d071 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/ship9.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/truck1.png b/runtime/experiments/applications/imageclassification/images/png/truck1.png new file mode 100644 index 0000000..4b7410b Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/truck1.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/truck10.png b/runtime/experiments/applications/imageclassification/images/png/truck10.png new file mode 100644 index 0000000..f9e4ddc Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/truck10.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/truck2.png b/runtime/experiments/applications/imageclassification/images/png/truck2.png new file mode 100644 index 0000000..9026ee9 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/truck2.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/truck3.png b/runtime/experiments/applications/imageclassification/images/png/truck3.png new file mode 100644 index 0000000..5a1d72c Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/truck3.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/truck4.png b/runtime/experiments/applications/imageclassification/images/png/truck4.png new file mode 100644 index 0000000..82893a1 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/truck4.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/truck5.png b/runtime/experiments/applications/imageclassification/images/png/truck5.png new file mode 100644 index 0000000..e032415 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/truck5.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/truck6.png b/runtime/experiments/applications/imageclassification/images/png/truck6.png new file mode 100644 index 0000000..d94fd6c Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/truck6.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/truck7.png b/runtime/experiments/applications/imageclassification/images/png/truck7.png new file mode 100644 index 0000000..f00d6d3 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/truck7.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/truck8.png b/runtime/experiments/applications/imageclassification/images/png/truck8.png new file mode 100644 index 0000000..5483d06 Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/truck8.png differ diff --git a/runtime/experiments/applications/imageclassification/images/png/truck9.png b/runtime/experiments/applications/imageclassification/images/png/truck9.png new file mode 100644 index 0000000..5db010a Binary files /dev/null and b/runtime/experiments/applications/imageclassification/images/png/truck9.png differ diff --git a/runtime/experiments/applications/imageclassification/run.sh b/runtime/experiments/applications/imageclassification/run.sh new file mode 100755 index 0000000..ed18b73 --- /dev/null +++ b/runtime/experiments/applications/imageclassification/run.sh @@ -0,0 +1,68 @@ +#!/bin/bash +# Executes the runtime in GDB +# Substitutes the absolute path from the container with a path relatively derived from the location of this script +# This allows debugging outside of the Docker container +# Also disables pagination and stopping on SIGUSR1 + +experiment_directory=$(pwd) +project_directory=$(cd ../../.. && pwd) +binary_directory=$(cd "$project_directory"/bin && pwd) + +# Copy License Plate Image if not here +# if [[ ! -f "./plate.jpg" ]]; then +# cp ../../../tests/sod/bin/plate.jpg ./plate.jpg +# fi + +if [ "$1" != "-d" ]; then + PATH="$binary_directory:$PATH" LD_LIBRARY_PATH="$binary_directory:$LD_LIBRARY_PATH" sledgert "$experiment_directory/spec.json" & + sleep 1 +else + echo "Running under gdb" +fi + +# expected_size="$(find expected_result.jpg -printf "%s")" +success_count=0 +total_count=50 + +# We are currently unclear why the image classifier isn't working properly +# Both bmp and png formats are added to the repo while debugging +# file_type=bmp +file_type=png + +for class in airplane automobile bird cat deer dog frog horse ship truck; do + for instance in 1 2 3 4 5 6 7 8 9 10; do + echo "Classifying $class$instance.$file_type" + curl -H 'Expect:' -H "Content-Type: Image/$file_type" --data-binary "@images/$file_type/$class$instance.$file_type" localhost:10000 2>/dev/null + done +done + +exit + +for ((i = 0; i < total_count; i++)); do + echo "$i" + ext="$RANDOM" + curl -H 'Expect:' -H "Content-Type: image/jpg" --data-binary "@plate.jpg" --output "result_$ext.jpg" localhost:10000 2>/dev/null + actual_size="$(find result_"$ext".jpg -printf "%s")" + + # echo "$result" + if [[ "$expected_size" == "$actual_size" ]]; then + echo "SUCCESS $success_count" + else + echo "FAIL" + echo "Expected Size:" + echo "$expected_size" + echo "===============================================" + echo "Actual Size:" + echo "$actual_size" + fi +done + +echo "$success_count / $total_count" + +if [ "$1" != "-d" ]; then + sleep 5 + echo -n "Running Cleanup: " + rm result_*.jpg + pkill sledgert >/dev/null 2>/dev/null + echo "[DONE]" +fi diff --git a/runtime/experiments/applications/imageclassification/spec.json b/runtime/experiments/applications/imageclassification/spec.json new file mode 100644 index 0000000..3c1c6ce --- /dev/null +++ b/runtime/experiments/applications/imageclassification/spec.json @@ -0,0 +1,14 @@ +{ + "active": "yes", + "name": "cifar10", + "path": "cifar10_wasm.so", + "port": 10000, + "relative-deadline-us": 50000, + "argsize": 1, + "http-req-headers": [], + "http-req-content-type": "image/png", + "http-req-size": 4096, + "http-resp-headers": [], + "http-resp-size": 128, + "http-resp-content-type": "text/plain" +} diff --git a/runtime/experiments/applications/imageresize/.gitignore b/runtime/experiments/applications/imageresize/.gitignore new file mode 100644 index 0000000..34cb46d --- /dev/null +++ b/runtime/experiments/applications/imageresize/.gitignore @@ -0,0 +1 @@ +flower.jpg diff --git a/runtime/experiments/applications/imageresize/README.md b/runtime/experiments/applications/imageresize/README.md new file mode 100644 index 0000000..889eab9 --- /dev/null +++ b/runtime/experiments/applications/imageresize/README.md @@ -0,0 +1,17 @@ +# Resize + +Resizes Images + +It appears that the initial request cuts off the bottom of the image. Thereafter, it seems that the runtime crashes out due to a socket error. + +``` +write: Bad file descriptor +C: 07, T: 0x7f20eed26700, F: current_sandbox_main> + Unable to build and send client response + +C: 07, T: 0x7f20eed26700, F: client_socket_send> + Error sending to client: Bad file descriptor +C: 07, T: 0x7f20eed26700, F: sandbox_close_http> PANIC! + Bad file descriptor +find: 'result_13192.jpg': No such file or directory +``` diff --git a/runtime/experiments/applications/imageresize/debug.sh b/runtime/experiments/applications/imageresize/debug.sh new file mode 100755 index 0000000..a561392 --- /dev/null +++ b/runtime/experiments/applications/imageresize/debug.sh @@ -0,0 +1,19 @@ +#!/bin/bash +# Executes the runtime in GDB +# Substitutes the absolute path from the container with a path relatively derived from the location of this script +# This allows debugging outside of the Docker container +# Also disables pagination and stopping on SIGUSR1 + +experiment_directory=$(pwd) +project_directory=$(cd ../../.. && pwd) +binary_directory=$(cd "$project_directory"/bin && pwd) + +export LD_LIBRARY_PATH="$binary_directory:$LD_LIBRARY_PATH" +export PATH="$binary_directory:$PATH" + +gdb --eval-command="handle SIGUSR1 nostop" \ + --eval-command="handle SIGPIPE nostop" \ + --eval-command="set pagination off" \ + --eval-command="set substitute-path /sledge/runtime $project_directory" \ + --eval-command="run $experiment_directory/spec.json" \ + sledgert diff --git a/runtime/experiments/applications/imageresize/expected_result.jpg b/runtime/experiments/applications/imageresize/expected_result.jpg new file mode 100644 index 0000000..f61b344 Binary files /dev/null and b/runtime/experiments/applications/imageresize/expected_result.jpg differ diff --git a/runtime/experiments/applications/imageresize/run.sh b/runtime/experiments/applications/imageresize/run.sh new file mode 100755 index 0000000..3f70483 --- /dev/null +++ b/runtime/experiments/applications/imageresize/run.sh @@ -0,0 +1,61 @@ +#!/bin/bash +# Executes the runtime in GDB +# Substitutes the absolute path from the container with a path relatively derived from the location of this script +# This allows debugging outside of the Docker container +# Also disables pagination and stopping on SIGUSR1 + +experiment_directory=$(pwd) +project_directory=$(cd ../../.. && pwd) +binary_directory=$(cd "$project_directory"/bin && pwd) + +# Copy Flower Image if not here +if [[ ! -f "./flower.jpg" ]]; then + cp ../../../tests/sod/bin/flower.jpg ./flower.jpg +fi + +if [ "$1" != "-d" ]; then + PATH="$binary_directory:$PATH" LD_LIBRARY_PATH="$binary_directory:$LD_LIBRARY_PATH" sledgert "$experiment_directory/spec.json" & + sleep 1 +else + echo "Running under gdb" +fi + +# expected_result="$(cat ./expected_result.jpg)" +expected_size="$(find expected_result.jpg -printf "%s")" +success_count=0 +total_count=50 + +# curl -H 'Expect:' -H "Content-Type: image/jpg" --data-binary "@flower.jpg" --output result.jpg localhost:10000 + +# WIP +# exit + +for ((i = 0; i < total_count; i++)); do + echo "$i" + ext="$RANDOM" + curl -H 'Expect:' -H "Content-Type: image/jpg" --data-binary "@flower.jpg" --output "result_$ext.jpg" localhost:10000 2>/dev/null + actual_size="$(find result_"$ext".jpg -printf "%s")" + + # echo "$result" + if [[ "$expected_size" == "$actual_size" ]]; then + success_count=$((success_count + 1)) + rm result.jpg + else + echo "FAIL" + echo "Expected Size:" + echo "$expected_size" + echo "===============================================" + echo "Actual Size:" + echo "$actual_size" + fi +done + +echo "$success_count / $total_count" + +if [ "$1" != "-d" ]; then + sleep 5 + echo -n "Running Cleanup: " + rm result_*.jpg + pkill sledgert >/dev/null 2>/dev/null + echo "[DONE]" +fi diff --git a/runtime/experiments/applications/imageresize/spec.json b/runtime/experiments/applications/imageresize/spec.json new file mode 100644 index 0000000..2088364 --- /dev/null +++ b/runtime/experiments/applications/imageresize/spec.json @@ -0,0 +1,14 @@ +{ + "active": "yes", + "name": "resize", + "path": "resize_wasm.so", + "port": 10000, + "relative-deadline-us": 50000, + "argsize": 1, + "http-req-headers": [], + "http-req-content-type": "image/jpeg", + "http-req-size": 102400, + "http-resp-headers": [], + "http-resp-size": 102400, + "http-resp-content-type": "image/png" +} diff --git a/runtime/experiments/applications/licenseplate/.gitignore b/runtime/experiments/applications/licenseplate/.gitignore new file mode 100644 index 0000000..34cb46d --- /dev/null +++ b/runtime/experiments/applications/licenseplate/.gitignore @@ -0,0 +1 @@ +flower.jpg diff --git a/runtime/experiments/applications/licenseplate/README.md b/runtime/experiments/applications/licenseplate/README.md new file mode 100644 index 0000000..0d65cc6 --- /dev/null +++ b/runtime/experiments/applications/licenseplate/README.md @@ -0,0 +1,17 @@ +# License Plate Detection + +Draws a magenta bounding box around license plates located in an image. + +The first request seems to succeed, but subsequent requests crash out due to a socket error. + +``` +write: Bad file descriptor +C: 05, T: 0x7f3412232700, F: current_sandbox_main> + Unable to build and send client response + +C: 05, T: 0x7f3412232700, F: client_socket_send> + Error sending to client: Bad file descriptor +C: 05, T: 0x7f3412232700, F: sandbox_close_http> PANIC! + Bad file descriptor +find: ‘result_23619.jpg’: No such file or directory +``` diff --git a/runtime/experiments/applications/licenseplate/debug.sh b/runtime/experiments/applications/licenseplate/debug.sh new file mode 100755 index 0000000..a561392 --- /dev/null +++ b/runtime/experiments/applications/licenseplate/debug.sh @@ -0,0 +1,19 @@ +#!/bin/bash +# Executes the runtime in GDB +# Substitutes the absolute path from the container with a path relatively derived from the location of this script +# This allows debugging outside of the Docker container +# Also disables pagination and stopping on SIGUSR1 + +experiment_directory=$(pwd) +project_directory=$(cd ../../.. && pwd) +binary_directory=$(cd "$project_directory"/bin && pwd) + +export LD_LIBRARY_PATH="$binary_directory:$LD_LIBRARY_PATH" +export PATH="$binary_directory:$PATH" + +gdb --eval-command="handle SIGUSR1 nostop" \ + --eval-command="handle SIGPIPE nostop" \ + --eval-command="set pagination off" \ + --eval-command="set substitute-path /sledge/runtime $project_directory" \ + --eval-command="run $experiment_directory/spec.json" \ + sledgert diff --git a/runtime/experiments/applications/licenseplate/expected_result.jpg b/runtime/experiments/applications/licenseplate/expected_result.jpg new file mode 100644 index 0000000..bec5209 Binary files /dev/null and b/runtime/experiments/applications/licenseplate/expected_result.jpg differ diff --git a/runtime/experiments/applications/licenseplate/plate.jpg b/runtime/experiments/applications/licenseplate/plate.jpg new file mode 100644 index 0000000..5600926 Binary files /dev/null and b/runtime/experiments/applications/licenseplate/plate.jpg differ diff --git a/runtime/experiments/applications/licenseplate/run.sh b/runtime/experiments/applications/licenseplate/run.sh new file mode 100755 index 0000000..a4185ae --- /dev/null +++ b/runtime/experiments/applications/licenseplate/run.sh @@ -0,0 +1,54 @@ +#!/bin/bash +# Executes the runtime in GDB +# Substitutes the absolute path from the container with a path relatively derived from the location of this script +# This allows debugging outside of the Docker container +# Also disables pagination and stopping on SIGUSR1 + +experiment_directory=$(pwd) +project_directory=$(cd ../../.. && pwd) +binary_directory=$(cd "$project_directory"/bin && pwd) + +# Copy License Plate Image if not here +if [[ ! -f "./plate.jpg" ]]; then + cp ../../../tests/sod/bin/plate.jpg ./plate.jpg +fi + +if [ "$1" != "-d" ]; then + PATH="$binary_directory:$PATH" LD_LIBRARY_PATH="$binary_directory:$LD_LIBRARY_PATH" sledgert "$experiment_directory/spec.json" & + sleep 1 +else + echo "Running under gdb" +fi + +expected_size="$(find expected_result.jpg -printf "%s")" +success_count=0 +total_count=50 + +for ((i = 0; i < total_count; i++)); do + echo "$i" + ext="$RANDOM" + curl -H 'Expect:' -H "Content-Type: image/jpg" --data-binary "@plate.jpg" --output "result_$ext.jpg" localhost:10000 2>/dev/null + actual_size="$(find result_"$ext".jpg -printf "%s")" + + # echo "$result" + if [[ "$expected_size" == "$actual_size" ]]; then + echo "SUCCESS $success_count" + else + echo "FAIL" + echo "Expected Size:" + echo "$expected_size" + echo "===============================================" + echo "Actual Size:" + echo "$actual_size" + fi +done + +echo "$success_count / $total_count" + +if [ "$1" != "-d" ]; then + sleep 5 + echo -n "Running Cleanup: " + rm result_*.jpg + pkill sledgert >/dev/null 2>/dev/null + echo "[DONE]" +fi diff --git a/runtime/experiments/applications/licenseplate/spec.json b/runtime/experiments/applications/licenseplate/spec.json new file mode 100644 index 0000000..d24ab1a --- /dev/null +++ b/runtime/experiments/applications/licenseplate/spec.json @@ -0,0 +1,14 @@ +{ + "active": "yes", + "name": "lpd", + "path": "lpd_wasm.so", + "port": 10000, + "relative-deadline-us": 50000, + "argsize": 1, + "http-req-headers": [], + "http-req-content-type": "image/jpeg", + "http-req-size": 102400, + "http-resp-headers": [], + "http-resp-size": 1048576, + "http-resp-content-type": "image/jpeg" +} diff --git a/runtime/tests/CMSIS_5_NN b/runtime/tests/CMSIS_5_NN new file mode 160000 index 0000000..3352e23 --- /dev/null +++ b/runtime/tests/CMSIS_5_NN @@ -0,0 +1 @@ +Subproject commit 3352e232b3829ea0a2ade85050b68f6f462ad144 diff --git a/runtime/tests/Makefile b/runtime/tests/Makefile index 07fac84..6103e11 100644 --- a/runtime/tests/Makefile +++ b/runtime/tests/Makefile @@ -6,14 +6,31 @@ TESTSRT=$(TESTS:%=%_rt) .PHONY: all clean rttests -all: rttests +all: rttests tinyekf cifar10 gocr sod @echo "Compilation done!" rttests: $(TESTSRT) clean: @rm -rf ${TMP_DIR} - #@rm -f ${BIN_DIR}/*_wasm.so + @rm -rf ${SLEDGE_BIN_DIR}/*_wasm.so + +tinyekf: + make clean all -C ./TinyEKF/extras/c/ -f makefile.wasm + cp ./TinyEKF/extras/c/gps_ekf_fn.aso ${SLEDGE_BIN_DIR}/ekf_wasm.so + +cifar10: + make clean all -C ./CMSIS_5_NN/ -f Makefile + cp ./CMSIS_5_NN/tmp/cifar10.awsm.so ${SLEDGE_BIN_DIR}/cifar10_wasm.so + +gocr: + make clean all -C ./gocr/src/ -f makefile.wasm + cp ./gocr/src/gocr.aso ${SLEDGE_BIN_DIR}/gocr_wasm.so + +sod: + make clean all samples samples.wasm -C ./sod/ + cp ./sod/bin/license_plate_detection.awsm /sledge/runtime/bin/lpd_wasm.so + cp ./sod/bin/resize_image.awsm /sledge/runtime/bin/resize_wasm.so %_rt: @mkdir -p ${TMP_DIR} diff --git a/runtime/tests/TinyEKF b/runtime/tests/TinyEKF new file mode 160000 index 0000000..fe59ef0 --- /dev/null +++ b/runtime/tests/TinyEKF @@ -0,0 +1 @@ +Subproject commit fe59ef0e551746aee4d007e4516321bfbe65fe74 diff --git a/runtime/tests/gocr b/runtime/tests/gocr new file mode 160000 index 0000000..c6d88a8 --- /dev/null +++ b/runtime/tests/gocr @@ -0,0 +1 @@ +Subproject commit c6d88a8ab23bd7787d22eaa3ce9e65bbd957d62a diff --git a/runtime/tests/sod b/runtime/tests/sod new file mode 160000 index 0000000..8df9f4d --- /dev/null +++ b/runtime/tests/sod @@ -0,0 +1 @@ +Subproject commit 8df9f4d8a3fd80f06d38cae50362d507f5878ebf diff --git a/runtime/tests/test_fibonacci.json b/runtime/tests/test_fibonacci.json new file mode 100644 index 0000000..85a4555 --- /dev/null +++ b/runtime/tests/test_fibonacci.json @@ -0,0 +1,15 @@ +{ + "active": "yes", + "name": "fibonacci", + "path": "fibonacci_wasm.so", + "port": 10000, + "expected-execution-us": 600, + "relative-deadline-us": 2000, + "argsize": 1, + "http-req-headers": [], + "http-req-content-type": "text/plain", + "http-req-size": 1024, + "http-resp-headers": [], + "http-resp-size": 1024, + "http-resp-content-type": "text/plain" +}