Repository: incubator-singa Updated Branches: refs/heads/master 56fe4b85b -> e990442fc
SINGA-6 minor changes -- change all conf files to conf.example files -- change display in worker 1#loss -> 1#accuracy Project: http://git-wip-us.apache.org/repos/asf/incubator-singa/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-singa/commit/e990442f Tree: http://git-wip-us.apache.org/repos/asf/incubator-singa/tree/e990442f Diff: http://git-wip-us.apache.org/repos/asf/incubator-singa/diff/e990442f Branch: refs/heads/master Commit: e990442fc65e297179a9bc7b6907005dc7b3a824 Parents: 3ba7155 Author: wang sheng <[email protected]> Authored: Mon Jun 15 12:15:42 2015 +0800 Committer: wang sheng <[email protected]> Committed: Mon Jun 15 12:20:49 2015 +0800 ---------------------------------------------------------------------- .gitignore | 3 + examples/cifar10/model-lmdb.conf | 218 ------------------- examples/cifar10/model-lmdb.conf.example | 218 +++++++++++++++++++ examples/cifar10/model-prefetch.conf | 241 ---------------------- examples/cifar10/model-prefetch.conf.example | 241 ++++++++++++++++++++++ examples/mnist/cluster.conf | 5 - examples/mnist/cluster.conf.example | 5 + examples/mnist/conv.conf | 175 ---------------- examples/mnist/conv.conf.example | 175 ++++++++++++++++ examples/mnist/mlp-lmdb.conf | 223 -------------------- examples/mnist/mlp-lmdb.conf.example | 223 ++++++++++++++++++++ examples/mnist/mlp.conf | 221 -------------------- examples/mnist/mlp.conf.example | 221 ++++++++++++++++++++ src/trainer/worker.cc | 10 + 14 files changed, 1096 insertions(+), 1083 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/e990442f/.gitignore ---------------------------------------------------------------------- diff --git a/.gitignore b/.gitignore index 577b6ef..891e1ca 100644 --- a/.gitignore +++ b/.gitignore @@ -13,6 +13,7 @@ *.project *.cproject *.log +*.conf *.nfs* src/test/data/* tmp @@ -36,3 +37,5 @@ stamp-h1 *.status config.h Makefile +thirdparty/* +!thirdpary/install.sh http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/e990442f/examples/cifar10/model-lmdb.conf ---------------------------------------------------------------------- diff --git a/examples/cifar10/model-lmdb.conf b/examples/cifar10/model-lmdb.conf deleted file mode 100644 index ea22ccd..0000000 --- a/examples/cifar10/model-lmdb.conf +++ /dev/null @@ -1,218 +0,0 @@ -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/e990442f/examples/cifar10/model-lmdb.conf.example ---------------------------------------------------------------------- diff --git a/examples/cifar10/model-lmdb.conf.example b/examples/cifar10/model-lmdb.conf.example new file mode 100644 index 0000000..ea22ccd --- /dev/null +++ b/examples/cifar10/model-lmdb.conf.example @@ -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/e990442f/examples/cifar10/model-prefetch.conf ---------------------------------------------------------------------- diff --git a/examples/cifar10/model-prefetch.conf b/examples/cifar10/model-prefetch.conf deleted file mode 100644 index 220a4b9..0000000 --- a/examples/cifar10/model-prefetch.conf +++ /dev/null @@ -1,241 +0,0 @@ -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/e990442f/examples/cifar10/model-prefetch.conf.example ---------------------------------------------------------------------- diff --git a/examples/cifar10/model-prefetch.conf.example b/examples/cifar10/model-prefetch.conf.example new file mode 100644 index 0000000..220a4b9 --- /dev/null +++ b/examples/cifar10/model-prefetch.conf.example @@ -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/e990442f/examples/mnist/cluster.conf ---------------------------------------------------------------------- diff --git a/examples/mnist/cluster.conf b/examples/mnist/cluster.conf deleted file mode 100644 index 6b8a8e6..0000000 --- a/examples/mnist/cluster.conf +++ /dev/null @@ -1,5 +0,0 @@ -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/e990442f/examples/mnist/cluster.conf.example ---------------------------------------------------------------------- diff --git a/examples/mnist/cluster.conf.example b/examples/mnist/cluster.conf.example new file mode 100644 index 0000000..6b8a8e6 --- /dev/null +++ b/examples/mnist/cluster.conf.example @@ -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/e990442f/examples/mnist/conv.conf ---------------------------------------------------------------------- diff --git a/examples/mnist/conv.conf b/examples/mnist/conv.conf deleted file mode 100644 index 5f3bf58..0000000 --- a/examples/mnist/conv.conf +++ /dev/null @@ -1,175 +0,0 @@ -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/e990442f/examples/mnist/conv.conf.example ---------------------------------------------------------------------- diff --git a/examples/mnist/conv.conf.example b/examples/mnist/conv.conf.example new file mode 100644 index 0000000..5f3bf58 --- /dev/null +++ b/examples/mnist/conv.conf.example @@ -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/e990442f/examples/mnist/mlp-lmdb.conf ---------------------------------------------------------------------- diff --git a/examples/mnist/mlp-lmdb.conf b/examples/mnist/mlp-lmdb.conf deleted file mode 100644 index d0ed08f..0000000 --- a/examples/mnist/mlp-lmdb.conf +++ /dev/null @@ -1,223 +0,0 @@ -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/e990442f/examples/mnist/mlp-lmdb.conf.example ---------------------------------------------------------------------- diff --git a/examples/mnist/mlp-lmdb.conf.example b/examples/mnist/mlp-lmdb.conf.example new file mode 100644 index 0000000..d0ed08f --- /dev/null +++ b/examples/mnist/mlp-lmdb.conf.example @@ -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/e990442f/examples/mnist/mlp.conf ---------------------------------------------------------------------- diff --git a/examples/mnist/mlp.conf b/examples/mnist/mlp.conf deleted file mode 100644 index 9eeb1c6..0000000 --- a/examples/mnist/mlp.conf +++ /dev/null @@ -1,221 +0,0 @@ -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" -} -} http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/e990442f/examples/mnist/mlp.conf.example ---------------------------------------------------------------------- diff --git a/examples/mnist/mlp.conf.example b/examples/mnist/mlp.conf.example new file mode 100644 index 0000000..9eeb1c6 --- /dev/null +++ b/examples/mnist/mlp.conf.example @@ -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" +} +} http://git-wip-us.apache.org/repos/asf/incubator-singa/blob/e990442f/src/trainer/worker.cc ---------------------------------------------------------------------- diff --git a/src/trainer/worker.cc b/src/trainer/worker.cc index abfcdf0..28d08a1 100644 --- a/src/trainer/worker.cc +++ b/src/trainer/worker.cc @@ -180,8 +180,13 @@ void Worker::RunOneBatch(int step, Metric* perf){ for(auto layer: losslayers){ if(layer->partitionid()==worker_id_){ const float * ptr=layer->metric().cpu_data(); + /* for(int j=0;j<layer->metric().count();j++) perf->AddMetric(std::to_string(j)+"#"+layer->name(), ptr[j]); + */ + // hard code display info + perf->AddMetric(std::to_string(0)+"#loss", ptr[0]); + perf->AddMetric(std::to_string(1)+"#accuracy", ptr[1]); } } perf->Inc(); @@ -212,8 +217,13 @@ void Worker::Test(shared_ptr<NeuralNet> net, int nsteps, const string& prefix){ for(auto layer: losslayers){ if(layer->partitionid()==worker_id_){ const float * ptr=layer->metric().cpu_data(); + /* for(int j=0;j<layer->metric().count();j++) perf.AddMetric(std::to_string(j)+"#"+layer->name(), ptr[j]); + */ + // hard code display info + perf.AddMetric(std::to_string(0)+"#loss", ptr[0]); + perf.AddMetric(std::to_string(1)+"#accuracy", ptr[1]); } } perf.Inc();
