diff options
Diffstat (limited to 'data')
-rwxr-xr-x | data/get_mnist.sh | 18 | ||||
-rw-r--r-- | data/lenet.prototxt | 122 | ||||
-rw-r--r-- | data/lenet_test.prototxt | 123 |
3 files changed, 263 insertions, 0 deletions
diff --git a/data/get_mnist.sh b/data/get_mnist.sh new file mode 100755 index 00000000..ec979bd7 --- /dev/null +++ b/data/get_mnist.sh @@ -0,0 +1,18 @@ +#!/usr/bin/env sh +# This scripts downloads the mnist data and unzips it. + +echo "Downloading..." + +wget -q http://yann.lecun.com/exdb/mnist/train-images-idx3-ubyte.gz +wget -q http://yann.lecun.com/exdb/mnist/train-labels-idx1-ubyte.gz +wget -q http://yann.lecun.com/exdb/mnist/t10k-images-idx3-ubyte.gz +wget -q http://yann.lecun.com/exdb/mnist/t10k-labels-idx1-ubyte.gz + +echo "Unzipping..." + +gunzip train-images-idx3-ubyte.gz +gunzip train-labels-idx1-ubyte.gz +gunzip t10k-images-idx3-ubyte.gz +gunzip t10k-labels-idx1-ubyte.gz + +echo "Done." diff --git a/data/lenet.prototxt b/data/lenet.prototxt new file mode 100644 index 00000000..085ed43f --- /dev/null +++ b/data/lenet.prototxt @@ -0,0 +1,122 @@ +name: "LeNet" +layers { + layer { + name: "mnist" + type: "data" + source: "data/mnist-train-leveldb" + batchsize: 64 + scale: 0.00390625 + } + top: "data" + top: "label" +} +layers { + layer { + name: "conv1" + type: "conv" + num_output: 20 + kernelsize: 5 + stride: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + } + blobs_lr: 1. + blobs_lr: 2. + } + bottom: "data" + top: "conv1" +} +layers { + layer { + name: "pool1" + type: "pool" + kernelsize: 2 + stride: 2 + pool: MAX + } + bottom: "conv1" + top: "pool1" +} +layers { + layer { + name: "conv2" + type: "conv" + num_output: 50 + kernelsize: 5 + stride: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + } + blobs_lr: 1. + blobs_lr: 2. + } + bottom: "pool1" + top: "conv2" +} +layers { + layer { + name: "pool2" + type: "pool" + kernelsize: 2 + stride: 2 + pool: MAX + } + bottom: "conv2" + top: "pool2" +} +layers { + layer { + name: "ip1" + type: "innerproduct" + num_output: 500 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + } + blobs_lr: 1. + blobs_lr: 2. + } + bottom: "pool2" + top: "ip1" +} +layers { + layer { + name: "relu1" + type: "relu" + } + bottom: "ip1" + top: "ip1" +} +layers { + layer { + name: "ip2" + type: "innerproduct" + num_output: 10 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + } + blobs_lr: 1. + blobs_lr: 2. + } + bottom: "ip1" + top: "ip2" +} +layers { + layer { + name: "prob" + type: "softmax_loss" + } + bottom: "ip2" + bottom: "label" +} diff --git a/data/lenet_test.prototxt b/data/lenet_test.prototxt new file mode 100644 index 00000000..fdda4a67 --- /dev/null +++ b/data/lenet_test.prototxt @@ -0,0 +1,123 @@ +name: "LeNet-test" +layers { + layer { + name: "mnist" + type: "data" + source: "data/mnist-test-leveldb" + batchsize: 100 + scale: 0.00390625 + } + top: "data" + top: "label" +} +layers { + layer { + name: "conv1" + type: "conv" + num_output: 20 + kernelsize: 5 + stride: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + } + } + bottom: "data" + top: "conv1" +} +layers { + layer { + name: "pool1" + type: "pool" + kernelsize: 2 + stride: 2 + pool: MAX + } + bottom: "conv1" + top: "pool1" +} +layers { + layer { + name: "conv2" + type: "conv" + num_output: 50 + kernelsize: 5 + stride: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + } + } + bottom: "pool1" + top: "conv2" +} +layers { + layer { + name: "pool2" + type: "pool" + kernelsize: 2 + stride: 2 + pool: MAX + } + bottom: "conv2" + top: "pool2" +} +layers { + layer { + name: "ip1" + type: "innerproduct" + num_output: 500 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + } + } + bottom: "pool2" + top: "ip1" +} +layers { + layer { + name: "relu1" + type: "relu" + } + bottom: "ip1" + top: "ip1" +} +layers { + layer { + name: "ip2" + type: "innerproduct" + num_output: 10 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + } + } + bottom: "ip1" + top: "ip2" +} +layers { + layer { + name: "prob" + type: "softmax" + } + bottom: "ip2" + top: "prob" +} +layers { + layer { + name: "accuracy" + type: "accuracy" + } + bottom: "prob" + bottom: "label" + top: "accuracy" +} |