Repository: systemml Updated Branches: refs/heads/master c7a9e016d -> 97018d4e6
http://git-wip-us.apache.org/repos/asf/systemml/blob/97018d4e/src/test/scripts/functions/paramserv/paramserv-minimum-version.dml ---------------------------------------------------------------------- diff --git a/src/test/scripts/functions/paramserv/paramserv-minimum-version.dml b/src/test/scripts/functions/paramserv/paramserv-minimum-version.dml new file mode 100644 index 0000000..4d23b8c --- /dev/null +++ b/src/test/scripts/functions/paramserv/paramserv-minimum-version.dml @@ -0,0 +1,52 @@ +#------------------------------------------------------------- +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# +#------------------------------------------------------------- + +source("src/test/scripts/functions/paramserv/mnist_lenet_paramserv_minimum_version.dml") as mnist_lenet +source("nn/layers/cross_entropy_loss.dml") as cross_entropy_loss + +# Generate the training data +[images, labels, C, Hin, Win] = mnist_lenet::generate_dummy_data() +n = nrow(images) + +# Generate the training data +[X, Y, C, Hin, Win] = mnist_lenet::generate_dummy_data() + +# Split into training and validation +val_size = n * 0.1 +X = images[(val_size+1):n,] +X_val = images[1:val_size,] +Y = labels[(val_size+1):n,] +Y_val = labels[1:val_size,] + +# Arguments +epochs = 10 +workers = 2 + +# Train +[W1, b1, W2, b2, W3, b3, W4, b4] = mnist_lenet::train(X, Y, X_val, Y_val, C, Hin, Win, epochs, workers) + +# Compute validation loss & accuracy +probs_val = mnist_lenet::predict(X_val, C, Hin, Win, W1, b1, W2, b2, W3, b3, W4, b4) +loss_val = cross_entropy_loss::forward(probs_val, Y_val) +accuracy_val = mean(rowIndexMax(probs_val) == rowIndexMax(Y_val)) + +# Output results +print("Val Loss: " + loss_val + ", Val Accuracy: " + accuracy_val) \ No newline at end of file http://git-wip-us.apache.org/repos/asf/systemml/blob/97018d4e/src/test/scripts/functions/paramserv/paramserv-miss-args.dml ---------------------------------------------------------------------- diff --git a/src/test/scripts/functions/paramserv/paramserv-miss-args.dml b/src/test/scripts/functions/paramserv/paramserv-miss-args.dml index f3a2c91..6ceb9ad 100644 --- a/src/test/scripts/functions/paramserv/paramserv-miss-args.dml +++ b/src/test/scripts/functions/paramserv/paramserv-miss-args.dml @@ -20,7 +20,7 @@ #------------------------------------------------------------- e1 = "element1" -modelList = list(e1) +modelList = list(e1=e1) X = matrix(1, rows=2, cols=3) Y = matrix(2, rows=2, cols=3) X_val = matrix(3, rows=2, cols=3) @@ -35,7 +35,7 @@ aggregation = function (matrix[double] input) return (matrix[double] output) { } e2 = "element2" -params = list(e2) +params = list(e2=e2) # Use paramserv function # Miss "features" parameterized argument http://git-wip-us.apache.org/repos/asf/systemml/blob/97018d4e/src/test/scripts/functions/paramserv/paramserv-nn-test.dml ---------------------------------------------------------------------- diff --git a/src/test/scripts/functions/paramserv/paramserv-nn-test.dml b/src/test/scripts/functions/paramserv/paramserv-nn-test.dml new file mode 100644 index 0000000..740a208 --- /dev/null +++ b/src/test/scripts/functions/paramserv/paramserv-nn-test.dml @@ -0,0 +1,52 @@ +#------------------------------------------------------------- +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# +#------------------------------------------------------------- + +source("src/test/scripts/functions/paramserv/mnist_lenet_paramserv.dml") as mnist_lenet +source("nn/layers/cross_entropy_loss.dml") as cross_entropy_loss + +# Generate the training data +[images, labels, C, Hin, Win] = mnist_lenet::generate_dummy_data() +n = nrow(images) + +# Generate the training data +[X, Y, C, Hin, Win] = mnist_lenet::generate_dummy_data() + +# Split into training and validation +val_size = n * 0.1 +X = images[(val_size+1):n,] +X_val = images[1:val_size,] +Y = labels[(val_size+1):n,] +Y_val = labels[1:val_size,] + +# Arguments +epochs = 10 +workers = 2 + +# Train +[W1, b1, W2, b2, W3, b3, W4, b4] = mnist_lenet::train(X, Y, X_val, Y_val, C, Hin, Win, epochs, workers) + +# Compute validation loss & accuracy +probs_val = mnist_lenet::predict(X_val, C, Hin, Win, W1, b1, W2, b2, W3, b3, W4, b4) +loss_val = cross_entropy_loss::forward(probs_val, Y_val) +accuracy_val = mean(rowIndexMax(probs_val) == rowIndexMax(Y_val)) + +# Output results +print("Val Loss: " + loss_val + ", Val Accuracy: " + accuracy_val) \ No newline at end of file http://git-wip-us.apache.org/repos/asf/systemml/blob/97018d4e/src/test/scripts/functions/paramserv/paramserv-without-optional-args.dml ---------------------------------------------------------------------- diff --git a/src/test/scripts/functions/paramserv/paramserv-without-optional-args.dml b/src/test/scripts/functions/paramserv/paramserv-without-optional-args.dml index c504303..6d06ce2 100644 --- a/src/test/scripts/functions/paramserv/paramserv-without-optional-args.dml +++ b/src/test/scripts/functions/paramserv/paramserv-without-optional-args.dml @@ -20,7 +20,7 @@ #------------------------------------------------------------- e1 = "element1" -modelList = list(e1) +modelList = list(e1=e1) X = matrix(1, rows=2, cols=3) Y = matrix(2, rows=2, cols=3) X_val = matrix(3, rows=2, cols=3) @@ -35,7 +35,7 @@ aggregation = function (matrix[double] input) return (matrix[double] output) { } e2 = "element2" -params = list(e2) +params = list(e2=e2) # Use paramserv function # Remove the optional "hyperparams"
