You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@singa.apache.org by wa...@apache.org on 2015/06/15 08:42:37 UTC
[09/10] incubator-singa git commit: SINGA-7 Implement shared memory
Hogwild algorithm
SINGA-7 Implement shared memory Hogwild algorithm
add .conf files
Project: http://git-wip-us.apache.org/repos/asf/incubator-singa/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-singa/commit/bd87c7a5
Tree: http://git-wip-us.apache.org/repos/asf/incubator-singa/tree/bd87c7a5
Diff: http://git-wip-us.apache.org/repos/asf/incubator-singa/diff/bd87c7a5
Branch: refs/heads/master
Commit: bd87c7a50d8cc1888a09df90376660b8a4acf745
Parents: bfc09c1
Author: wang sheng <wa...@gmail.com>
Authored: Mon Jun 15 14:40:43 2015 +0800
Committer: wang sheng <wa...@gmail.com>
Committed: Mon Jun 15 14:40:43 2015 +0800
----------------------------------------------------------------------
examples/cifar10/cluster.conf | 6 +
examples/cifar10/model-lmdb.conf | 218 +++++++++++++++++++++++++++
examples/cifar10/model-prefetch.conf | 241 ++++++++++++++++++++++++++++++
examples/cifar10/model.conf | 218 +++++++++++++++++++++++++++
examples/mnist/cluster.conf | 5 +
examples/mnist/conv.conf | 175 ++++++++++++++++++++++
examples/mnist/mlp-lmdb.conf | 223 +++++++++++++++++++++++++++
examples/mnist/mlp.conf | 221 +++++++++++++++++++++++++++
8 files changed, 1307 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/bd87c7a5/examples/cifar10/cluster.conf
----------------------------------------------------------------------
diff --git a/examples/cifar10/cluster.conf b/examples/cifar10/cluster.conf
new file mode 100644
index 0000000..6f6d963
--- /dev/null
+++ b/examples/cifar10/cluster.conf
@@ -0,0 +1,6 @@
+nworker_groups: 2
+nserver_groups: 1
+nservers_per_group: 1
+nworkers_per_group: 1
+nworkers_per_procs: 2
+workspace: "examples/cifar10/"
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/bd87c7a5/examples/cifar10/model-lmdb.conf
----------------------------------------------------------------------
diff --git a/examples/cifar10/model-lmdb.conf b/examples/cifar10/model-lmdb.conf
new file mode 100644
index 0000000..ea22ccd
--- /dev/null
+++ b/examples/cifar10/model-lmdb.conf
@@ -0,0 +1,218 @@
+name: "cifar10-convnet"
+train_steps: 70000
+test_steps:100
+test_frequency:1000
+display_frequency:50
+updater{
+ momentum:0.9
+ weight_decay:0.004
+ learning_rate_change_method:kFixedStep
+ step:0
+ step:60000
+ step:65000
+ step_lr:0.001
+ step_lr:0.0001
+ step_lr:0.00001
+}
+neuralnet {
+layer {
+ name: "data"
+ type: "kLMDBData"
+ data_param {
+ path: "examples/cifar10/cifar10_train_lmdb"
+ batchsize: 100
+ }
+ exclude: kTest
+}
+
+layer {
+ name: "data"
+ type: "kLMDBData"
+ data_param {
+ path: "examples/cifar10/cifar10_test_lmdb"
+ batchsize: 100
+ }
+ exclude: kTrain
+}
+
+layer{
+ name:"rgb"
+ type: "kRGBImage"
+ srclayers: "data"
+ rgbimage_param {
+ meanfile: "examples/cifar10/mean.binaryproto"
+ }
+}
+
+layer{
+ name: "label"
+ type: "kLabel"
+ srclayers: "data"
+}
+layer {
+ name: "conv1"
+ type: "kConvolution"
+ srclayers: "rgb"
+ convolution_param {
+ num_filters: 32
+ kernel: 5
+ stride: 1
+ pad:2
+ }
+ param{
+ name: "weight"
+ init_method:kGaussian
+ std:0.0001
+ learning_rate_multiplier:1.0
+ }
+ param{
+ name: "bias"
+ init_method: kConstant
+ learning_rate_multiplier:2.0
+ value:0
+ }
+}
+layer {
+ name: "pool1"
+ type: "kPooling"
+ srclayers: "conv1"
+ pooling_param {
+ pool: MAX
+ kernel: 3
+ stride: 2
+ }
+}
+layer {
+ name: "relu1"
+ type: "kReLU"
+ srclayers:"pool1"
+}
+layer {
+ name: "norm1"
+ type: "kLRN"
+ lrn_param {
+ norm_region: WITHIN_CHANNEL
+ local_size: 3
+ alpha: 5e-05
+ beta: 0.75
+ }
+ srclayers:"relu1"
+}
+layer {
+ name: "conv2"
+ type: "kConvolution"
+ srclayers: "norm1"
+ convolution_param {
+ num_filters: 32
+ kernel: 5
+ stride: 1
+ pad:2
+ }
+ param{
+ name: "weight"
+ init_method:kGaussian
+ std:0.01
+ learning_rate_multiplier:1.0
+ }
+ param{
+ name: "bias"
+ init_method: kConstant
+ learning_rate_multiplier:2.0
+ value:0
+ }
+}
+layer {
+ name: "relu2"
+ type: "kReLU"
+ srclayers:"conv2"
+}
+layer {
+ name: "pool2"
+ type: "kPooling"
+ srclayers: "relu2"
+ pooling_param {
+ pool: MAX
+ kernel: 3
+ stride: 2
+ }
+}
+layer {
+ name: "norm2"
+ type: "kLRN"
+ lrn_param {
+ norm_region: WITHIN_CHANNEL
+ local_size: 3
+ alpha: 5e-05
+ beta: 0.75
+ }
+ srclayers:"pool2"
+}
+layer {
+ name: "conv3"
+ type: "kConvolution"
+ srclayers: "norm2"
+ convolution_param {
+ num_filters: 64
+ kernel: 5
+ stride: 1
+ pad:2
+ }
+ param{
+ name: "weight"
+ init_method:kGaussian
+ std:0.01
+ }
+ param{
+ name: "bias"
+ init_method: kConstant
+ value:0
+ }
+}
+layer {
+ name: "relu3"
+ type: "kReLU"
+ srclayers:"conv3"
+}
+layer {
+ name: "pool3"
+ type: "kPooling"
+ srclayers: "relu3"
+ pooling_param {
+ pool: AVE
+ kernel: 3
+ stride: 2
+ }
+}
+layer {
+ name: "ip1"
+ type: "kInnerProduct"
+ srclayers:"pool3"
+ inner_product_param {
+ num_output: 10
+ }
+ param{
+ name: "weight"
+ init_method:kGaussian
+ std:0.01
+ learning_rate_multiplier:1.0
+ weight_decay_multiplier:250
+ }
+ param{
+ name: "bias"
+ init_method: kConstant
+ learning_rate_multiplier:2.0
+ weight_decay_multiplier:0
+ value:0
+ }
+}
+
+layer{
+ name: "loss"
+ type:"kSoftmaxLoss"
+ softmaxloss_param{
+ topk:1
+ }
+ srclayers:"ip1"
+ srclayers:"label"
+}
+}
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/bd87c7a5/examples/cifar10/model-prefetch.conf
----------------------------------------------------------------------
diff --git a/examples/cifar10/model-prefetch.conf b/examples/cifar10/model-prefetch.conf
new file mode 100644
index 0000000..220a4b9
--- /dev/null
+++ b/examples/cifar10/model-prefetch.conf
@@ -0,0 +1,241 @@
+name: "cifar10-convnet"
+train_steps: 70000
+test_steps:100
+test_frequency:1000
+display_frequency:50
+updater{
+ momentum:0.9
+ weight_decay:0.004
+ learning_rate_change_method:kFixedStep
+ step:0
+ step:60000
+ step:65000
+ step_lr:0.001
+ step_lr:0.0001
+ step_lr:0.00001
+}
+neuralnet {
+layer{
+ name: "prefetch"
+ type: "kPrefetch"
+ sublayers {
+ name: "data"
+ type: "kShardData"
+ data_param {
+ path: "examples/cifar10/cifar10_train_shard"
+ batchsize: 100
+ }
+ }
+ sublayers{
+ name:"rgb"
+ type: "kRGBImage"
+ srclayers: "data"
+ rgbimage_param {
+ meanfile: "examples/cifar10/image_mean.bin"
+ }
+ }
+ sublayers{
+ name: "label"
+ type: "kLabel"
+ srclayers: "data"
+ }
+ exclude: kTest
+}
+
+layer{
+ name: "prefetch"
+ type: "kPrefetch"
+ sublayers {
+ name: "data"
+ type: "kShardData"
+ data_param {
+ path: "examples/cifar10/cifar10_test_shard"
+ batchsize: 100
+ }
+ }
+ sublayers{
+ name:"rgb"
+ type: "kRGBImage"
+ srclayers: "data"
+ rgbimage_param {
+ meanfile: "examples/cifar10/image_mean.bin"
+ }
+ }
+ sublayers{
+ name: "label"
+ type: "kLabel"
+ srclayers: "data"
+ }
+ exclude: kTrain
+}
+
+layer {
+ name: "conv1"
+ type: "kConvolution"
+ srclayers: "prefetch"
+ datablob: "rgb"
+ convolution_param {
+ num_filters: 32
+ kernel: 5
+ stride: 1
+ pad:2
+ }
+ param{
+ name: "weight"
+ init_method:kGaussian
+ std:0.0001
+ learning_rate_multiplier:1.0
+ }
+ param{
+ name: "bias"
+ init_method: kConstant
+ learning_rate_multiplier:2.0
+ value:0
+ }
+}
+
+layer {
+ name: "pool1"
+ type: "kPooling"
+ srclayers: "conv1"
+ pooling_param {
+ pool: MAX
+ kernel: 3
+ stride: 2
+ }
+}
+layer {
+ name: "relu1"
+ type: "kReLU"
+ srclayers:"pool1"
+}
+layer {
+ name: "norm1"
+ type: "kLRN"
+ lrn_param {
+ norm_region: WITHIN_CHANNEL
+ local_size: 3
+ alpha: 5e-05
+ beta: 0.75
+ }
+ srclayers:"relu1"
+}
+layer {
+ name: "conv2"
+ type: "kConvolution"
+ srclayers: "norm1"
+ convolution_param {
+ num_filters: 32
+ kernel: 5
+ stride: 1
+ pad:2
+ }
+ param{
+ name: "weight"
+ init_method:kGaussian
+ std:0.01
+ learning_rate_multiplier:1.0
+ }
+ param{
+ name: "bias"
+ init_method: kConstant
+ learning_rate_multiplier:2.0
+ value:0
+ }
+}
+layer {
+ name: "relu2"
+ type: "kReLU"
+ srclayers:"conv2"
+}
+layer {
+ name: "pool2"
+ type: "kPooling"
+ srclayers: "relu2"
+ pooling_param {
+ pool: MAX
+ kernel: 3
+ stride: 2
+ }
+}
+layer {
+ name: "norm2"
+ type: "kLRN"
+ lrn_param {
+ norm_region: WITHIN_CHANNEL
+ local_size: 3
+ alpha: 5e-05
+ beta: 0.75
+ }
+ srclayers:"pool2"
+}
+layer {
+ name: "conv3"
+ type: "kConvolution"
+ srclayers: "norm2"
+ convolution_param {
+ num_filters: 64
+ kernel: 5
+ stride: 1
+ pad:2
+ }
+ param{
+ name: "weight"
+ init_method:kGaussian
+ std:0.01
+ }
+ param{
+ name: "bias"
+ init_method: kConstant
+ value:0
+ }
+}
+layer {
+ name: "relu3"
+ type: "kReLU"
+ srclayers:"conv3"
+}
+layer {
+ name: "pool3"
+ type: "kPooling"
+ srclayers: "relu3"
+ pooling_param {
+ pool: AVE
+ kernel: 3
+ stride: 2
+ }
+}
+layer {
+ name: "ip1"
+ type: "kInnerProduct"
+ srclayers:"pool3"
+ inner_product_param {
+ num_output: 10
+ }
+ param{
+ name: "weight"
+ init_method:kGaussian
+ std:0.01
+ learning_rate_multiplier:1.0
+ weight_decay_multiplier:250
+ }
+ param{
+ name: "bias"
+ init_method: kConstant
+ learning_rate_multiplier:2.0
+ weight_decay_multiplier:0
+ value:0
+ }
+}
+
+layer{
+ name: "loss"
+ type:"kSoftmaxLoss"
+ softmaxloss_param{
+ topk:1
+ }
+ srclayers:"ip1"
+ srclayers:"prefetch"
+ datablob: "label"
+}
+}
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/bd87c7a5/examples/cifar10/model.conf
----------------------------------------------------------------------
diff --git a/examples/cifar10/model.conf b/examples/cifar10/model.conf
new file mode 100644
index 0000000..0cdf8b0
--- /dev/null
+++ b/examples/cifar10/model.conf
@@ -0,0 +1,218 @@
+name: "cifar10-convnet"
+train_steps: 1000
+test_steps:100
+test_frequency:300
+display_frequency:30
+updater{
+ momentum:0.0
+ weight_decay:0.004
+ learning_rate_change_method:kFixedStep
+ step:0
+ step:60000
+ step:65000
+ step_lr:0.001
+ step_lr:0.0001
+ step_lr:0.00001
+}
+neuralnet {
+partition_type: kDataPartition
+layer{
+ name: "data"
+ type: "kShardData"
+ data_param {
+ path: "examples/cifar10/cifar10_train_shard"
+ batchsize: 16
+ }
+ exclude: kTest
+}
+layer{
+ name: "data"
+ type: "kShardData"
+ data_param {
+ path: "examples/cifar10/cifar10_test_shard"
+ batchsize: 100
+ }
+ exclude: kTrain
+}
+layer{
+ name:"rgb"
+ type: "kRGBImage"
+ srclayers: "data"
+ rgbimage_param {
+ meanfile: "examples/cifar10/image_mean.bin"
+ }
+}
+layer{
+ name: "label"
+ type: "kLabel"
+ srclayers: "data"
+}
+
+layer {
+ name: "conv1"
+ type: "kConvolution"
+ srclayers: "rgb"
+ convolution_param {
+ num_filters: 32
+ kernel: 5
+ stride: 1
+ pad:2
+ }
+ param{
+ name: "weight"
+ init_method:kGaussian
+ std:0.0001
+ learning_rate_multiplier:1.0
+ }
+ param{
+ name: "bias"
+ init_method: kConstant
+ learning_rate_multiplier:2.0
+ value:0
+ }
+}
+
+layer {
+ name: "pool1"
+ type: "kPooling"
+ srclayers: "conv1"
+ pooling_param {
+ pool: MAX
+ kernel: 3
+ stride: 2
+ }
+}
+layer {
+ name: "relu1"
+ type: "kReLU"
+ srclayers:"pool1"
+}
+layer {
+ name: "norm1"
+ type: "kLRN"
+ lrn_param {
+ norm_region: WITHIN_CHANNEL
+ local_size: 3
+ alpha: 5e-05
+ beta: 0.75
+ }
+ srclayers:"relu1"
+}
+layer {
+ name: "conv2"
+ type: "kConvolution"
+ srclayers: "norm1"
+ convolution_param {
+ num_filters: 32
+ kernel: 5
+ stride: 1
+ pad:2
+ }
+ param{
+ name: "weight"
+ init_method:kGaussian
+ std:0.01
+ learning_rate_multiplier:1.0
+ }
+ param{
+ name: "bias"
+ init_method: kConstant
+ learning_rate_multiplier:2.0
+ value:0
+ }
+}
+layer {
+ name: "relu2"
+ type: "kReLU"
+ srclayers:"conv2"
+}
+layer {
+ name: "pool2"
+ type: "kPooling"
+ srclayers: "relu2"
+ pooling_param {
+ pool: MAX
+ kernel: 3
+ stride: 2
+ }
+}
+layer {
+ name: "norm2"
+ type: "kLRN"
+ lrn_param {
+ norm_region: WITHIN_CHANNEL
+ local_size: 3
+ alpha: 5e-05
+ beta: 0.75
+ }
+ srclayers:"pool2"
+}
+layer {
+ name: "conv3"
+ type: "kConvolution"
+ srclayers: "norm2"
+ convolution_param {
+ num_filters: 64
+ kernel: 5
+ stride: 1
+ pad:2
+ }
+ param{
+ name: "weight"
+ init_method:kGaussian
+ std:0.01
+ }
+ param{
+ name: "bias"
+ init_method: kConstant
+ value:0
+ }
+}
+layer {
+ name: "relu3"
+ type: "kReLU"
+ srclayers:"conv3"
+}
+layer {
+ name: "pool3"
+ type: "kPooling"
+ srclayers: "relu3"
+ pooling_param {
+ pool: AVE
+ kernel: 3
+ stride: 2
+ }
+}
+layer {
+ name: "ip1"
+ type: "kInnerProduct"
+ srclayers:"pool3"
+ inner_product_param {
+ num_output: 10
+ }
+ param{
+ name: "weight"
+ init_method:kGaussian
+ std:0.01
+ learning_rate_multiplier:1.0
+ weight_decay_multiplier:250
+ }
+ param{
+ name: "bias"
+ init_method: kConstant
+ learning_rate_multiplier:2.0
+ weight_decay_multiplier:0
+ value:0
+ }
+}
+
+layer{
+ name: "loss"
+ type:"kSoftmaxLoss"
+ softmaxloss_param{
+ topk:1
+ }
+ srclayers:"ip1"
+ srclayers: "label"
+}
+}
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/bd87c7a5/examples/mnist/cluster.conf
----------------------------------------------------------------------
diff --git a/examples/mnist/cluster.conf b/examples/mnist/cluster.conf
new file mode 100644
index 0000000..6b8a8e6
--- /dev/null
+++ b/examples/mnist/cluster.conf
@@ -0,0 +1,5 @@
+nworker_groups: 1
+nserver_groups: 1
+nservers_per_group: 1
+nworkers_per_group: 1
+workspace: "examples/cifar10/"
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/bd87c7a5/examples/mnist/conv.conf
----------------------------------------------------------------------
diff --git a/examples/mnist/conv.conf b/examples/mnist/conv.conf
new file mode 100644
index 0000000..5f3bf58
--- /dev/null
+++ b/examples/mnist/conv.conf
@@ -0,0 +1,175 @@
+name: "mnist-conv"
+train_steps: 10000
+test_steps:100
+test_frequency:500
+display_frequency:50
+debug: false
+updater{
+ base_learning_rate:0.01
+ momentum:0.9
+ weight_decay:0.0005
+ gamma:0.0001
+ pow:0.75
+ learning_rate_change_method:kInverse
+}
+neuralnet {
+layer {
+ name: "data"
+ type: "kLMDBData"
+ data_param {
+ path: "/home/wangwei/program/singa/examples/mnist/mnist_train_lmdb"
+ batchsize: 64
+ }
+ exclude: kTest
+}
+
+layer {
+ name: "data"
+ type: "kLMDBData"
+ data_param {
+ path: "/home/wangwei/program/singa/examples/mnist/mnist_test_lmdb"
+ batchsize: 100
+ }
+ exclude: kTrain
+}
+
+layer{
+ name:"mnist"
+ type: "kMnistImage"
+ srclayers: "data"
+ mnist_param {
+# sigma: 6
+# alpha: 38
+# gamma: 15
+# kernel: 21
+# elastic_freq:100
+# beta:15
+# resize: 29
+ norm_a:255
+ }
+}
+
+
+layer{
+ name: "label"
+ type: "kLabel"
+ srclayers: "data"
+}
+layer {
+ name: "conv1"
+ type: "kConvolution"
+ srclayers: "mnist"
+ convolution_param {
+ num_filters: 20
+ kernel: 5
+ stride: 1
+ }
+ param{
+ name: "weight"
+ init_method:kUniformSqrtFanIn
+ learning_rate_multiplier:1.0
+ }
+ param{
+ name: "bias"
+ init_method: kConstant
+ learning_rate_multiplier:2.0
+ value:0
+ }
+}
+layer {
+ name: "pool1"
+ type: "kPooling"
+ srclayers: "conv1"
+ pooling_param {
+ pool: MAX
+ kernel: 2
+ stride: 2
+ }
+}
+layer {
+ name: "conv2"
+ type: "kConvolution"
+ srclayers: "pool1"
+ convolution_param {
+ num_filters: 50
+ kernel: 5
+ stride: 1
+ }
+ param{
+ name: "weight"
+ init_method:kUniformSqrtFanIn
+ learning_rate_multiplier:1.0
+ }
+ param{
+ name: "bias"
+ init_method: kConstant
+ learning_rate_multiplier:2.0
+ value:0
+ }
+}
+layer {
+ name: "pool2"
+ type: "kPooling"
+ srclayers: "conv2"
+ pooling_param {
+ pool: MAX
+ kernel: 2
+ stride: 2
+ }
+}
+layer {
+ name: "ip1"
+ type: "kInnerProduct"
+ srclayers:"pool2"
+ inner_product_param {
+ num_output: 500
+ }
+ param{
+ name: "weight"
+ init_method:kUniformSqrtFanIn
+ learning_rate_multiplier:1.0
+ }
+ param{
+ name: "bias"
+ init_method: kConstant
+ learning_rate_multiplier:2.0
+ value:0
+ }
+
+}
+
+layer {
+ name: "relu1"
+ type: "kReLU"
+ srclayers:"ip1"
+}
+
+layer {
+ name: "ip2"
+ type: "kInnerProduct"
+ srclayers:"relu1"
+ inner_product_param {
+ num_output: 10
+ }
+ param{
+ name: "weight"
+ init_method:kUniformSqrtFanIn
+ learning_rate_multiplier:1
+ }
+ param{
+ name: "bias"
+ init_method: kConstant
+ learning_rate_multiplier:2
+ value:0
+ }
+}
+layer{
+ name: "loss"
+ type:"kSoftmaxLoss"
+ softmaxloss_param{
+ topk:1
+ }
+ srclayers:"ip2"
+ srclayers:"label"
+}
+}
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/bd87c7a5/examples/mnist/mlp-lmdb.conf
----------------------------------------------------------------------
diff --git a/examples/mnist/mlp-lmdb.conf b/examples/mnist/mlp-lmdb.conf
new file mode 100644
index 0000000..d0ed08f
--- /dev/null
+++ b/examples/mnist/mlp-lmdb.conf
@@ -0,0 +1,223 @@
+name: "deep-big-simple-mlp"
+train_steps: 10000
+test_steps:10
+test_frequency:60
+display_frequency:30
+checkpoint_frequency:120
+updater{
+ base_learning_rate: 0.001
+ learning_rate_change_method: kStep
+ learning_rate_change_frequency: 60
+ gamma: 0.997
+ param_type: "Param"
+}
+
+neuralnet {
+layer {
+ name: "data"
+ type: "kLMDBData"
+ data_param {
+ path: "/home/wangwei/program/singa/examples/mnist/mnist_train_lmdb"
+ batchsize: 1000
+ random_skip: 10000
+ }
+ exclude: kTest
+}
+
+layer {
+ name: "data"
+ type: "kLMDBData"
+ data_param {
+ path: "/home/wangwei/program/singa/examples/mnist/mnist_test_lmdb"
+ batchsize: 1000
+ }
+ exclude: kTrain
+}
+
+layer{
+ name:"mnist"
+ type: "kMnistImage"
+ srclayers: "data"
+ mnist_param {
+# sigma: 6
+# alpha: 38
+# gamma: 15
+# kernel: 21
+# elastic_freq:100
+# beta:15
+# resize: 29
+ norm_a: 127.5
+ norm_b: 1
+ }
+}
+
+
+layer{
+ name: "label"
+ type: "kLabel"
+ srclayers: "data"
+}
+
+layer{
+ name: "fc1"
+ type: "kInnerProduct"
+ srclayers:"mnist"
+ inner_product_param{
+ num_output: 2500
+ }
+ param{
+ name: "weight"
+ init_method: kUniform
+ low:-0.05
+ high:0.05
+ }
+ param{
+ name: "bias"
+ init_method: kUniform
+ low: -0.05
+ high:0.05
+ }
+}
+
+layer{
+ name: "tanh1"
+ type:"kTanh"
+ srclayers:"fc1"
+}
+layer{
+ name: "fc2"
+ type: "kInnerProduct"
+ srclayers:"tanh1"
+ inner_product_param{
+ num_output: 2000
+ }
+ param{
+ name: "weight"
+ init_method: kUniform
+ low:-0.05
+ high:0.05
+ }
+ param{
+ name: "bias"
+ init_method: kUniform
+ low: -0.05
+ high:0.05
+ }
+}
+
+layer{
+ name: "tanh2"
+ type:"kTanh"
+ srclayers:"fc2"
+}
+layer{
+ name: "fc3"
+ type: "kInnerProduct"
+ srclayers:"tanh2"
+ inner_product_param{
+ num_output: 1500
+ }
+ param{
+ name: "weight"
+ init_method: kUniform
+ low:-0.05
+ high:0.05
+ }
+ param{
+ name: "bias"
+ init_method: kUniform
+ low: -0.05
+ high:0.05
+ }
+
+}
+
+layer{
+ name: "tanh3"
+ type:"kTanh"
+ srclayers:"fc3"
+}
+layer{
+ name: "fc4"
+ type: "kInnerProduct"
+ srclayers:"tanh3"
+ inner_product_param{
+ num_output: 1000
+ }
+ param{
+ name: "weight"
+ init_method: kUniform
+ low:-0.05
+ high:0.05
+ }
+ param{
+ name: "bias"
+ init_method: kUniform
+ low: -0.05
+ high:0.05
+ }
+
+}
+
+layer{
+ name: "tanh4"
+ type:"kTanh"
+ srclayers:"fc4"
+}
+layer{
+ name: "fc5"
+ type: "kInnerProduct"
+ srclayers:"tanh4"
+ inner_product_param{
+ num_output: 500
+ }
+ param{
+ name: "weight"
+ init_method: kUniform
+ low:-0.05
+ high:0.05
+ }
+ param{
+ name: "bias"
+ init_method: kUniform
+ low: -0.05
+ high:0.05
+ }
+
+}
+
+layer{
+ name: "tanh5"
+ type:"kTanh"
+ srclayers:"fc5"
+}
+layer{
+ name: "fc6"
+ type: "kInnerProduct"
+ srclayers:"tanh5"
+ inner_product_param{
+ num_output: 10
+ }
+ param{
+ name: "weight"
+ init_method: kUniform
+ low:-0.05
+ high:0.05
+ }
+ param{
+ name: "bias"
+ init_method: kUniform
+ low: -0.05
+ high:0.05
+ }
+}
+layer{
+ name: "loss"
+ type:"kSoftmaxLoss"
+ softmaxloss_param{
+ topk:1
+ }
+ srclayers:"fc6"
+ srclayers:"label"
+}
+}
http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/bd87c7a5/examples/mnist/mlp.conf
----------------------------------------------------------------------
diff --git a/examples/mnist/mlp.conf b/examples/mnist/mlp.conf
new file mode 100644
index 0000000..9eeb1c6
--- /dev/null
+++ b/examples/mnist/mlp.conf
@@ -0,0 +1,221 @@
+name: "deep-big-simple-mlp"
+train_steps: 10000
+test_steps:10
+test_frequency:60
+display_frequency:30
+updater{
+ base_learning_rate: 0.001
+ learning_rate_change_method: kStep
+ learning_rate_change_frequency: 60
+ gamma: 0.997
+ param_type: "Param"
+}
+
+neuralnet {
+layer {
+ name: "data"
+ type: "kShardData"
+ data_param {
+ path: "examples/mnist/mnist_train_shard"
+ batchsize: 1000
+ }
+ exclude: kTest
+}
+
+layer {
+ name: "data"
+ type: "kShardData"
+ data_param {
+ path: "examples/mnist/mnist_test_shard"
+ batchsize: 1000
+ }
+ exclude: kTrain
+}
+
+layer{
+ name:"mnist"
+ type: "kMnistImage"
+ srclayers: "data"
+ mnist_param {
+# sigma: 6
+# alpha: 38
+# gamma: 15
+# kernel: 21
+# elastic_freq:100
+# beta:15
+# resize: 29
+ norm_a: 127.5
+ norm_b: 1
+ }
+}
+
+
+layer{
+ name: "label"
+ type: "kLabel"
+ srclayers: "data"
+}
+
+layer{
+ name: "fc1"
+ type: "kInnerProduct"
+ srclayers:"mnist"
+ inner_product_param{
+ num_output: 2500
+ }
+ param{
+ name: "weight"
+ init_method: kUniform
+ low:-0.05
+ high:0.05
+ }
+ param{
+ name: "bias"
+ init_method: kUniform
+ low: -0.05
+ high:0.05
+ }
+}
+
+layer{
+ name: "tanh1"
+ type:"kTanh"
+ srclayers:"fc1"
+}
+layer{
+ name: "fc2"
+ type: "kInnerProduct"
+ srclayers:"tanh1"
+ inner_product_param{
+ num_output: 2000
+ }
+ param{
+ name: "weight"
+ init_method: kUniform
+ low:-0.05
+ high:0.05
+ }
+ param{
+ name: "bias"
+ init_method: kUniform
+ low: -0.05
+ high:0.05
+ }
+}
+
+layer{
+ name: "tanh2"
+ type:"kTanh"
+ srclayers:"fc2"
+}
+layer{
+ name: "fc3"
+ type: "kInnerProduct"
+ srclayers:"tanh2"
+ inner_product_param{
+ num_output: 1500
+ }
+ param{
+ name: "weight"
+ init_method: kUniform
+ low:-0.05
+ high:0.05
+ }
+ param{
+ name: "bias"
+ init_method: kUniform
+ low: -0.05
+ high:0.05
+ }
+
+}
+
+layer{
+ name: "tanh3"
+ type:"kTanh"
+ srclayers:"fc3"
+}
+layer{
+ name: "fc4"
+ type: "kInnerProduct"
+ srclayers:"tanh3"
+ inner_product_param{
+ num_output: 1000
+ }
+ param{
+ name: "weight"
+ init_method: kUniform
+ low:-0.05
+ high:0.05
+ }
+ param{
+ name: "bias"
+ init_method: kUniform
+ low: -0.05
+ high:0.05
+ }
+
+}
+
+layer{
+ name: "tanh4"
+ type:"kTanh"
+ srclayers:"fc4"
+}
+layer{
+ name: "fc5"
+ type: "kInnerProduct"
+ srclayers:"tanh4"
+ inner_product_param{
+ num_output: 500
+ }
+ param{
+ name: "weight"
+ init_method: kUniform
+ low:-0.05
+ high:0.05
+ }
+ param{
+ name: "bias"
+ init_method: kUniform
+ low: -0.05
+ high:0.05
+ }
+
+}
+
+layer{
+ name: "tanh5"
+ type:"kTanh"
+ srclayers:"fc5"
+}
+layer{
+ name: "fc6"
+ type: "kInnerProduct"
+ srclayers:"tanh5"
+ inner_product_param{
+ num_output: 10
+ }
+ param{
+ name: "weight"
+ init_method: kUniform
+ low:-0.05
+ high:0.05
+ }
+ param{
+ name: "bias"
+ init_method: kUniform
+ low: -0.05
+ high:0.05
+ }
+}
+layer{
+ name: "loss"
+ type:"kSoftmaxLoss"
+ softmaxloss_param{
+ topk:1
+ }
+ srclayers:"fc6"
+ srclayers:"label"
+}
+}