diff options
author | Sergey Karayev <sergeykarayev@gmail.com> | 2014-08-12 17:29:25 -0700 |
---|---|---|
committer | Sergey Karayev <sergeykarayev@gmail.com> | 2014-09-04 01:53:18 +0100 |
commit | e553573e2c4800e11050d6b83f0579766ebf4648 (patch) | |
tree | feacf4a98bb26deafd06ff644c2d1ddeacd6b9eb /examples | |
parent | 41751046f18499b84dbaf529f64c0e664e2a09fe (diff) | |
download | caffeonacl-e553573e2c4800e11050d6b83f0579766ebf4648.tar.gz caffeonacl-e553573e2c4800e11050d6b83f0579766ebf4648.tar.bz2 caffeonacl-e553573e2c4800e11050d6b83f0579766ebf4648.zip |
[models] adding zoo readme; caffenet, alexnet, and rcnn models in zoo format
Diffstat (limited to 'examples')
-rw-r--r-- | examples/imagenet/alexnet_deploy.prototxt | 244 | ||||
-rw-r--r-- | examples/imagenet/alexnet_solver.prototxt | 14 | ||||
-rw-r--r-- | examples/imagenet/alexnet_train_val.prototxt | 344 | ||||
-rwxr-xr-x | examples/imagenet/get_caffe_alexnet_model.sh | 28 | ||||
-rwxr-xr-x | examples/imagenet/get_caffe_rcnn_imagenet_model.sh | 28 | ||||
-rwxr-xr-x | examples/imagenet/get_caffe_reference_imagenet_model.sh | 28 | ||||
-rw-r--r-- | examples/imagenet/imagenet_deploy.prototxt | 212 | ||||
-rw-r--r-- | examples/imagenet/imagenet_solver.prototxt | 14 | ||||
-rw-r--r-- | examples/imagenet/imagenet_train_val.prototxt | 344 | ||||
-rw-r--r-- | examples/imagenet/rcnn_imagenet_deploy.prototxt | 207 | ||||
-rw-r--r-- | examples/imagenet/readme.md | 22 |
11 files changed, 11 insertions, 1474 deletions
diff --git a/examples/imagenet/alexnet_deploy.prototxt b/examples/imagenet/alexnet_deploy.prototxt deleted file mode 100644 index d010753f..00000000 --- a/examples/imagenet/alexnet_deploy.prototxt +++ /dev/null @@ -1,244 +0,0 @@ -name: "AlexNet" -input: "data" -input_dim: 10 -input_dim: 3 -input_dim: 227 -input_dim: 227 -layers { - name: "conv1" - type: CONVOLUTION - blobs_lr: 1 - blobs_lr: 2 - weight_decay: 1 - weight_decay: 0 - convolution_param { - num_output: 96 - kernel_size: 11 - stride: 4 - } - bottom: "data" - top: "conv1" -} -layers { - name: "relu1" - type: RELU - bottom: "conv1" - top: "conv1" -} -layers { - name: "norm1" - type: LRN - lrn_param { - local_size: 5 - alpha: 0.0001 - beta: 0.75 - } - bottom: "conv1" - top: "norm1" -} -layers { - name: "pool1" - type: POOLING - pooling_param { - pool: MAX - kernel_size: 3 - stride: 2 - } - bottom: "norm1" - top: "pool1" -} -layers { - name: "conv2" - type: CONVOLUTION - blobs_lr: 1 - blobs_lr: 2 - weight_decay: 1 - weight_decay: 0 - convolution_param { - num_output: 256 - pad: 2 - kernel_size: 5 - group: 2 - } - bottom: "pool1" - top: "conv2" -} -layers { - name: "relu2" - type: RELU - bottom: "conv2" - top: "conv2" -} -layers { - name: "norm2" - type: LRN - lrn_param { - local_size: 5 - alpha: 0.0001 - beta: 0.75 - } - bottom: "conv2" - top: "norm2" -} -layers { - name: "pool2" - type: POOLING - pooling_param { - pool: MAX - kernel_size: 3 - stride: 2 - } - bottom: "norm2" - top: "pool2" -} -layers { - name: "conv3" - type: CONVOLUTION - blobs_lr: 1 - blobs_lr: 2 - weight_decay: 1 - weight_decay: 0 - convolution_param { - num_output: 384 - pad: 1 - kernel_size: 3 - } - bottom: "pool2" - top: "conv3" -} -layers { - name: "relu3" - type: RELU - bottom: "conv3" - top: "conv3" -} -layers { - name: "conv4" - type: CONVOLUTION - blobs_lr: 1 - blobs_lr: 2 - weight_decay: 1 - weight_decay: 0 - convolution_param { - num_output: 384 - pad: 1 - kernel_size: 3 - group: 2 - } - bottom: "conv3" - top: "conv4" -} -layers { - name: "relu4" - type: RELU - bottom: "conv4" - top: "conv4" -} -layers { - name: "conv5" - type: CONVOLUTION - blobs_lr: 1 - blobs_lr: 2 - weight_decay: 1 - weight_decay: 0 - convolution_param { - num_output: 256 - pad: 1 - kernel_size: 3 - group: 2 - } - bottom: "conv4" - top: "conv5" -} -layers { - name: "relu5" - type: RELU - bottom: "conv5" - top: "conv5" -} -layers { - name: "pool5" - type: POOLING - pooling_param { - pool: MAX - kernel_size: 3 - stride: 2 - } - bottom: "conv5" - top: "pool5" -} -layers { - name: "fc6" - type: INNER_PRODUCT - blobs_lr: 1 - blobs_lr: 2 - weight_decay: 1 - weight_decay: 0 - inner_product_param { - num_output: 4096 - } - bottom: "pool5" - top: "fc6" -} -layers { - name: "relu6" - type: RELU - bottom: "fc6" - top: "fc6" -} -layers { - name: "drop6" - type: DROPOUT - dropout_param { - dropout_ratio: 0.5 - } - bottom: "fc6" - top: "fc6" -} -layers { - name: "fc7" - type: INNER_PRODUCT - blobs_lr: 1 - blobs_lr: 2 - weight_decay: 1 - weight_decay: 0 - inner_product_param { - num_output: 4096 - } - bottom: "fc6" - top: "fc7" -} -layers { - name: "relu7" - type: RELU - bottom: "fc7" - top: "fc7" -} -layers { - name: "drop7" - type: DROPOUT - dropout_param { - dropout_ratio: 0.5 - } - bottom: "fc7" - top: "fc7" -} -layers { - name: "fc8" - type: INNER_PRODUCT - blobs_lr: 1 - blobs_lr: 2 - weight_decay: 1 - weight_decay: 0 - inner_product_param { - num_output: 1000 - } - bottom: "fc7" - top: "fc8" -} -layers { - name: "prob" - type: SOFTMAX - bottom: "fc8" - top: "prob" -} diff --git a/examples/imagenet/alexnet_solver.prototxt b/examples/imagenet/alexnet_solver.prototxt deleted file mode 100644 index 94bda7f3..00000000 --- a/examples/imagenet/alexnet_solver.prototxt +++ /dev/null @@ -1,14 +0,0 @@ -net: "examples/imagenet/alexnet_train_val.prototxt" -test_iter: 1000 -test_interval: 1000 -base_lr: 0.01 -lr_policy: "step" -gamma: 0.1 -stepsize: 100000 -display: 20 -max_iter: 450000 -momentum: 0.9 -weight_decay: 0.0005 -snapshot: 10000 -snapshot_prefix: "examples/imagenet/caffe_alexnet" -solver_mode: GPU diff --git a/examples/imagenet/alexnet_train_val.prototxt b/examples/imagenet/alexnet_train_val.prototxt deleted file mode 100644 index 3fa46773..00000000 --- a/examples/imagenet/alexnet_train_val.prototxt +++ /dev/null @@ -1,344 +0,0 @@ -name: "AlexNet" -layers { - name: "data" - type: DATA - top: "data" - top: "label" - data_param { - source: "examples/imagenet/ilsvrc12_train_leveldb" - batch_size: 256 - } - transform_param { - crop_size: 227 - mean_file: "data/ilsvrc12/imagenet_mean.binaryproto" - mirror: true - } - include: { phase: TRAIN } -} -layers { - name: "data" - type: DATA - top: "data" - top: "label" - data_param { - source: "examples/imagenet/ilsvrc12_val_leveldb" - batch_size: 50 - } - transform_param { - crop_size: 227 - mean_file: "data/ilsvrc12/imagenet_mean.binaryproto" - mirror: false - } - include: { phase: TEST } -} -layers { - name: "conv1" - type: CONVOLUTION - blobs_lr: 1 - blobs_lr: 2 - weight_decay: 1 - weight_decay: 0 - convolution_param { - num_output: 96 - kernel_size: 11 - stride: 4 - weight_filler { - type: "gaussian" - std: 0.01 - } - bias_filler { - type: "constant" - value: 0 - } - } - bottom: "data" - top: "conv1" -} -layers { - name: "relu1" - type: RELU - bottom: "conv1" - top: "conv1" -} -layers { - name: "norm1" - type: LRN - lrn_param { - local_size: 5 - alpha: 0.0001 - beta: 0.75 - } - bottom: "conv1" - top: "norm1" -} -layers { - name: "pool1" - type: POOLING - pooling_param { - pool: MAX - kernel_size: 3 - stride: 2 - } - bottom: "norm1" - top: "pool1" -} -layers { - name: "conv2" - type: CONVOLUTION - blobs_lr: 1 - blobs_lr: 2 - weight_decay: 1 - weight_decay: 0 - convolution_param { - num_output: 256 - pad: 2 - kernel_size: 5 - group: 2 - weight_filler { - type: "gaussian" - std: 0.01 - } - bias_filler { - type: "constant" - value: 0.1 - } - } - bottom: "pool1" - top: "conv2" -} -layers { - name: "relu2" - type: RELU - bottom: "conv2" - top: "conv2" -} -layers { - name: "norm2" - type: LRN - lrn_param { - local_size: 5 - alpha: 0.0001 - beta: 0.75 - } - bottom: "conv2" - top: "norm2" -} -layers { - name: "pool2" - type: POOLING - pooling_param { - pool: MAX - kernel_size: 3 - stride: 2 - } - bottom: "norm2" - top: "pool2" -} -layers { - name: "conv3" - type: CONVOLUTION - blobs_lr: 1 - blobs_lr: 2 - weight_decay: 1 - weight_decay: 0 - convolution_param { - num_output: 384 - pad: 1 - kernel_size: 3 - weight_filler { - type: "gaussian" - std: 0.01 - } - bias_filler { - type: "constant" - value: 0 - } - } - bottom: "pool2" - top: "conv3" -} -layers { - name: "relu3" - type: RELU - bottom: "conv3" - top: "conv3" -} -layers { - name: "conv4" - type: CONVOLUTION - blobs_lr: 1 - blobs_lr: 2 - weight_decay: 1 - weight_decay: 0 - convolution_param { - num_output: 384 - pad: 1 - kernel_size: 3 - group: 2 - weight_filler { - type: "gaussian" - std: 0.01 - } - bias_filler { - type: "constant" - value: 0.1 - } - } - bottom: "conv3" - top: "conv4" -} -layers { - name: "relu4" - type: RELU - bottom: "conv4" - top: "conv4" -} -layers { - name: "conv5" - type: CONVOLUTION - blobs_lr: 1 - blobs_lr: 2 - weight_decay: 1 - weight_decay: 0 - convolution_param { - num_output: 256 - pad: 1 - kernel_size: 3 - group: 2 - weight_filler { - type: "gaussian" - std: 0.01 - } - bias_filler { - type: "constant" - value: 0.1 - } - } - bottom: "conv4" - top: "conv5" -} -layers { - name: "relu5" - type: RELU - bottom: "conv5" - top: "conv5" -} -layers { - name: "pool5" - type: POOLING - pooling_param { - pool: MAX - kernel_size: 3 - stride: 2 - } - bottom: "conv5" - top: "pool5" -} -layers { - name: "fc6" - type: INNER_PRODUCT - blobs_lr: 1 - blobs_lr: 2 - weight_decay: 1 - weight_decay: 0 - inner_product_param { - num_output: 4096 - weight_filler { - type: "gaussian" - std: 0.005 - } - bias_filler { - type: "constant" - value: 0.1 - } - } - bottom: "pool5" - top: "fc6" -} -layers { - name: "relu6" - type: RELU - bottom: "fc6" - top: "fc6" -} -layers { - name: "drop6" - type: DROPOUT - dropout_param { - dropout_ratio: 0.5 - } - bottom: "fc6" - top: "fc6" -} -layers { - name: "fc7" - type: INNER_PRODUCT - blobs_lr: 1 - blobs_lr: 2 - weight_decay: 1 - weight_decay: 0 - inner_product_param { - num_output: 4096 - weight_filler { - type: "gaussian" - std: 0.005 - } - bias_filler { - type: "constant" - value: 0.1 - } - } - bottom: "fc6" - top: "fc7" -} -layers { - name: "relu7" - type: RELU - bottom: "fc7" - top: "fc7" -} -layers { - name: "drop7" - type: DROPOUT - dropout_param { - dropout_ratio: 0.5 - } - bottom: "fc7" - top: "fc7" -} -layers { - name: "fc8" - type: INNER_PRODUCT - blobs_lr: 1 - blobs_lr: 2 - weight_decay: 1 - weight_decay: 0 - inner_product_param { - num_output: 1000 - weight_filler { - type: "gaussian" - std: 0.01 - } - bias_filler { - type: "constant" - value: 0 - } - } - bottom: "fc7" - top: "fc8" -} -layers { - name: "accuracy" - type: ACCURACY - bottom: "fc8" - bottom: "label" - top: "accuracy" - include: { phase: TEST } -} -layers { - name: "loss" - type: SOFTMAX_LOSS - bottom: "fc8" - bottom: "label" - top: "loss" -} diff --git a/examples/imagenet/get_caffe_alexnet_model.sh b/examples/imagenet/get_caffe_alexnet_model.sh deleted file mode 100755 index 7312ed93..00000000 --- a/examples/imagenet/get_caffe_alexnet_model.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/usr/bin/env sh -# This scripts downloads the caffe reference imagenet model -# for ilsvrc image classification and deep feature extraction - -MODEL=caffe_alexnet_model -CHECKSUM=29eb495b11613825c1900382f5286963 - -if [ -f $MODEL ]; then - echo "Model already exists. Checking md5..." - os=`uname -s` - if [ "$os" = "Linux" ]; then - checksum=`md5sum $MODEL | awk '{ print $1 }'` - elif [ "$os" = "Darwin" ]; then - checksum=`cat $MODEL | md5` - fi - if [ "$checksum" = "$CHECKSUM" ]; then - echo "Model checksum is correct. No need to download." - exit 0 - else - echo "Model checksum is incorrect. Need to download again." - fi -fi - -echo "Downloading..." - -wget http://dl.caffe.berkeleyvision.org/$MODEL examples/imagenet/$MODEL - -echo "Done. Please run this command again to verify that checksum = $CHECKSUM." diff --git a/examples/imagenet/get_caffe_rcnn_imagenet_model.sh b/examples/imagenet/get_caffe_rcnn_imagenet_model.sh deleted file mode 100755 index 9a8d0a15..00000000 --- a/examples/imagenet/get_caffe_rcnn_imagenet_model.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/usr/bin/env sh -# This scripts downloads the Caffe R-CNN ImageNet -# for ILSVRC13 detection. - -MODEL=caffe_rcnn_imagenet_model -CHECKSUM=42c1556d2d47a9128c4a90e0a9c5341c - -if [ -f $MODEL ]; then - echo "Model already exists. Checking md5..." - os=`uname -s` - if [ "$os" = "Linux" ]; then - checksum=`md5sum $MODEL | awk '{ print $1 }'` - elif [ "$os" = "Darwin" ]; then - checksum=`cat $MODEL | md5` - fi - if [ "$checksum" = "$CHECKSUM" ]; then - echo "Model checksum is correct. No need to download." - exit 0 - else - echo "Model checksum is incorrect. Need to download again." - fi -fi - -echo "Downloading..." - -wget http://dl.caffe.berkeleyvision.org/$MODEL examples/imagenet/$MODEL - -echo "Done. Please run this command again to verify that checksum = $CHECKSUM." diff --git a/examples/imagenet/get_caffe_reference_imagenet_model.sh b/examples/imagenet/get_caffe_reference_imagenet_model.sh deleted file mode 100755 index f687ebfa..00000000 --- a/examples/imagenet/get_caffe_reference_imagenet_model.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/usr/bin/env sh -# This scripts downloads the caffe reference imagenet model -# for ilsvrc image classification and deep feature extraction - -MODEL=caffe_reference_imagenet_model -CHECKSUM=af678f0bd3cdd2437e35679d88665170 - -if [ -f $MODEL ]; then - echo "Model already exists. Checking md5..." - os=`uname -s` - if [ "$os" = "Linux" ]; then - checksum=`md5sum $MODEL | awk '{ print $1 }'` - elif [ "$os" = "Darwin" ]; then - checksum=`cat $MODEL | md5` - fi - if [ "$checksum" = "$CHECKSUM" ]; then - echo "Model checksum is correct. No need to download." - exit 0 - else - echo "Model checksum is incorrect. Need to download again." - fi -fi - -echo "Downloading..." - -wget http://dl.caffe.berkeleyvision.org/$MODEL examples/imagenet/$MODEL - -echo "Done. Please run this command again to verify that checksum = $CHECKSUM." diff --git a/examples/imagenet/imagenet_deploy.prototxt b/examples/imagenet/imagenet_deploy.prototxt deleted file mode 100644 index 4e494f42..00000000 --- a/examples/imagenet/imagenet_deploy.prototxt +++ /dev/null @@ -1,212 +0,0 @@ -name: "CaffeNet" -input: "data" -input_dim: 10 -input_dim: 3 -input_dim: 227 -input_dim: 227 -layers { - name: "conv1" - type: CONVOLUTION - bottom: "data" - top: "conv1" - convolution_param { - num_output: 96 - kernel_size: 11 - stride: 4 - } -} -layers { - name: "relu1" - type: RELU - bottom: "conv1" - top: "conv1" -} -layers { - name: "pool1" - type: POOLING - bottom: "conv1" - top: "pool1" - pooling_param { - pool: MAX - kernel_size: 3 - stride: 2 - } -} -layers { - name: "norm1" - type: LRN - bottom: "pool1" - top: "norm1" - lrn_param { - local_size: 5 - alpha: 0.0001 - beta: 0.75 - } -} -layers { - name: "conv2" - type: CONVOLUTION - bottom: "norm1" - top: "conv2" - convolution_param { - num_output: 256 - pad: 2 - kernel_size: 5 - group: 2 - } -} -layers { - name: "relu2" - type: RELU - bottom: "conv2" - top: "conv2" -} -layers { - name: "pool2" - type: POOLING - bottom: "conv2" - top: "pool2" - pooling_param { - pool: MAX - kernel_size: 3 - stride: 2 - } -} -layers { - name: "norm2" - type: LRN - bottom: "pool2" - top: "norm2" - lrn_param { - local_size: 5 - alpha: 0.0001 - beta: 0.75 - } -} -layers { - name: "conv3" - type: CONVOLUTION - bottom: "norm2" - top: "conv3" - convolution_param { - num_output: 384 - pad: 1 - kernel_size: 3 - } -} -layers { - name: "relu3" - type: RELU - bottom: "conv3" - top: "conv3" -} -layers { - name: "conv4" - type: CONVOLUTION - bottom: "conv3" - top: "conv4" - convolution_param { - num_output: 384 - pad: 1 - kernel_size: 3 - group: 2 - } -} -layers { - name: "relu4" - type: RELU - bottom: "conv4" - top: "conv4" -} -layers { - name: "conv5" - type: CONVOLUTION - bottom: "conv4" - top: "conv5" - convolution_param { - num_output: 256 - pad: 1 - kernel_size: 3 - group: 2 - } -} -layers { - name: "relu5" - type: RELU - bottom: "conv5" - top: "conv5" -} -layers { - name: "pool5" - type: POOLING - bottom: "conv5" - top: "pool5" - pooling_param { - pool: MAX - kernel_size: 3 - stride: 2 - } -} -layers { - name: "fc6" - type: INNER_PRODUCT - bottom: "pool5" - top: "fc6" - inner_product_param { - num_output: 4096 - } -} -layers { - name: "relu6" - type: RELU - bottom: "fc6" - top: "fc6" -} -layers { - name: "drop6" - type: DROPOUT - bottom: "fc6" - top: "fc6" - dropout_param { - dropout_ratio: 0.5 - } -} -layers { - name: "fc7" - type: INNER_PRODUCT - bottom: "fc6" - top: "fc7" - inner_product_param { - num_output: 4096 - } -} -layers { - name: "relu7" - type: RELU - bottom: "fc7" - top: "fc7" -} -layers { - name: "drop7" - type: DROPOUT - bottom: "fc7" - top: "fc7" - dropout_param { - dropout_ratio: 0.5 - } -} -layers { - name: "fc8" - type: INNER_PRODUCT - bottom: "fc7" - top: "fc8" - inner_product_param { - num_output: 1000 - } -} -layers { - name: "prob" - type: SOFTMAX - bottom: "fc8" - top: "prob" -} diff --git a/examples/imagenet/imagenet_solver.prototxt b/examples/imagenet/imagenet_solver.prototxt deleted file mode 100644 index 5b5be4bb..00000000 --- a/examples/imagenet/imagenet_solver.prototxt +++ /dev/null @@ -1,14 +0,0 @@ -net: "examples/imagenet/imagenet_train_val.prototxt" -test_iter: 1000 -test_interval: 1000 -base_lr: 0.01 -lr_policy: "step" -gamma: 0.1 -stepsize: 100000 -display: 20 -max_iter: 450000 -momentum: 0.9 -weight_decay: 0.0005 -snapshot: 10000 -snapshot_prefix: "examples/imagenet/caffe_imagenet" -solver_mode: GPU diff --git a/examples/imagenet/imagenet_train_val.prototxt b/examples/imagenet/imagenet_train_val.prototxt deleted file mode 100644 index d6d64073..00000000 --- a/examples/imagenet/imagenet_train_val.prototxt +++ /dev/null @@ -1,344 +0,0 @@ -name: "CaffeNet" -layers { - name: "data" - type: DATA - top: "data" - top: "label" - data_param { - source: "examples/imagenet/ilsvrc12_train_leveldb" - batch_size: 256 - } - transform_param { - crop_size: 227 - mean_file: "data/ilsvrc12/imagenet_mean.binaryproto" - mirror: true - } - include: { phase: TRAIN } -} -layers { - name: "data" - type: DATA - top: "data" - top: "label" - data_param { - source: "examples/imagenet/ilsvrc12_val_leveldb" - batch_size: 50 - } - transform_param { - crop_size: 227 - mean_file: "data/ilsvrc12/imagenet_mean.binaryproto" - mirror: false - } - include: { phase: TEST } -} -layers { - name: "conv1" - type: CONVOLUTION - bottom: "data" - top: "conv1" - blobs_lr: 1 - blobs_lr: 2 - weight_decay: 1 - weight_decay: 0 - convolution_param { - num_output: 96 - kernel_size: 11 - stride: 4 - weight_filler { - type: "gaussian" - std: 0.01 - } - bias_filler { - type: "constant" - value: 0 - } - } -} -layers { - name: "relu1" - type: RELU - bottom: "conv1" - top: "conv1" -} -layers { - name: "pool1" - type: POOLING - bottom: "conv1" - top: "pool1" - pooling_param { - pool: MAX - kernel_size: 3 - stride: 2 - } -} -layers { - name: "norm1" - type: LRN - bottom: "pool1" - top: "norm1" - lrn_param { - local_size: 5 - alpha: 0.0001 - beta: 0.75 - } -} -layers { - name: "conv2" - type: CONVOLUTION - bottom: "norm1" - top: "conv2" - blobs_lr: 1 - blobs_lr: 2 - weight_decay: 1 - weight_decay: 0 - convolution_param { - num_output: 256 - pad: 2 - kernel_size: 5 - group: 2 - weight_filler { - type: "gaussian" - std: 0.01 - } - bias_filler { - type: "constant" - value: 1 - } - } -} -layers { - name: "relu2" - type: RELU - bottom: "conv2" - top: "conv2" -} -layers { - name: "pool2" - type: POOLING - bottom: "conv2" - top: "pool2" - pooling_param { - pool: MAX - kernel_size: 3 - stride: 2 - } -} -layers { - name: "norm2" - type: LRN - bottom: "pool2" - top: "norm2" - lrn_param { - local_size: 5 - alpha: 0.0001 - beta: 0.75 - } -} -layers { - name: "conv3" - type: CONVOLUTION - bottom: "norm2" - top: "conv3" - blobs_lr: 1 - blobs_lr: 2 - weight_decay: 1 - weight_decay: 0 - convolution_param { - num_output: 384 - pad: 1 - kernel_size: 3 - weight_filler { - type: "gaussian" - std: 0.01 - } - bias_filler { - type: "constant" - value: 0 - } - } -} -layers { - name: "relu3" - type: RELU - bottom: "conv3" - top: "conv3" -} -layers { - name: "conv4" - type: CONVOLUTION - bottom: "conv3" - top: "conv4" - blobs_lr: 1 - blobs_lr: 2 - weight_decay: 1 - weight_decay: 0 - convolution_param { - num_output: 384 - pad: 1 - kernel_size: 3 - group: 2 - weight_filler { - type: "gaussian" - std: 0.01 - } - bias_filler { - type: "constant" - value: 1 - } - } -} -layers { - name: "relu4" - type: RELU - bottom: "conv4" - top: "conv4" -} -layers { - name: "conv5" - type: CONVOLUTION - bottom: "conv4" - top: "conv5" - blobs_lr: 1 - blobs_lr: 2 - weight_decay: 1 - weight_decay: 0 - convolution_param { - num_output: 256 - pad: 1 - kernel_size: 3 - group: 2 - weight_filler { - type: "gaussian" - std: 0.01 - } - bias_filler { - type: "constant" - value: 1 - } - } -} -layers { - name: "relu5" - type: RELU - bottom: "conv5" - top: "conv5" -} -layers { - name: "pool5" - type: POOLING - bottom: "conv5" - top: "pool5" - pooling_param { - pool: MAX - kernel_size: 3 - stride: 2 - } -} -layers { - name: "fc6" - type: INNER_PRODUCT - bottom: "pool5" - top: "fc6" - blobs_lr: 1 - blobs_lr: 2 - weight_decay: 1 - weight_decay: 0 - inner_product_param { - num_output: 4096 - weight_filler { - type: "gaussian" - std: 0.005 - } - bias_filler { - type: "constant" - value: 1 - } - } -} -layers { - name: "relu6" - type: RELU - bottom: "fc6" - top: "fc6" -} -layers { - name: "drop6" - type: DROPOUT - bottom: "fc6" - top: "fc6" - dropout_param { - dropout_ratio: 0.5 - } -} -layers { - name: "fc7" - type: INNER_PRODUCT - bottom: "fc6" - top: "fc7" - blobs_lr: 1 - blobs_lr: 2 - weight_decay: 1 - weight_decay: 0 - inner_product_param { - num_output: 4096 - weight_filler { - type: "gaussian" - std: 0.005 - } - bias_filler { - type: "constant" - value: 1 - } - } -} -layers { - name: "relu7" - type: RELU - bottom: "fc7" - top: "fc7" -} -layers { - name: "drop7" - type: DROPOUT - bottom: "fc7" - top: "fc7" - dropout_param { - dropout_ratio: 0.5 - } -} -layers { - name: "fc8" - type: INNER_PRODUCT - bottom: "fc7" - top: "fc8" - blobs_lr: 1 - blobs_lr: 2 - weight_decay: 1 - weight_decay: 0 - inner_product_param { - num_output: 1000 - weight_filler { - type: "gaussian" - std: 0.01 - } - bias_filler { - type: "constant" - value: 0 - } - } -} -layers { - name: "accuracy" - type: ACCURACY - bottom: "fc8" - bottom: "label" - top: "accuracy" - include: { phase: TEST } -} -layers { - name: "loss" - type: SOFTMAX_LOSS - bottom: "fc8" - bottom: "label" - top: "loss" -} diff --git a/examples/imagenet/rcnn_imagenet_deploy.prototxt b/examples/imagenet/rcnn_imagenet_deploy.prototxt deleted file mode 100644 index ef75a0a5..00000000 --- a/examples/imagenet/rcnn_imagenet_deploy.prototxt +++ /dev/null @@ -1,207 +0,0 @@ -name: "R-CNN-ilsvrc13" -input: "data" -input_dim: 10 -input_dim: 3 -input_dim: 227 -input_dim: 227 -layers { - name: "conv1" - type: CONVOLUTION - bottom: "data" - top: "conv1" - convolution_param { - num_output: 96 - kernel_size: 11 - stride: 4 - } -} -layers { - name: "relu1" - type: RELU - bottom: "conv1" - top: "conv1" -} -layers { - name: "pool1" - type: POOLING - bottom: "conv1" - top: "pool1" - pooling_param { - pool: MAX - kernel_size: 3 - stride: 2 - } -} -layers { - name: "norm1" - type: LRN - bottom: "pool1" - top: "norm1" - lrn_param { - local_size: 5 - alpha: 0.0001 - beta: 0.75 - } -} -layers { - name: "conv2" - type: CONVOLUTION - bottom: "norm1" - top: "conv2" - convolution_param { - num_output: 256 - pad: 2 - kernel_size: 5 - group: 2 - } -} -layers { - name: "relu2" - type: RELU - bottom: "conv2" - top: "conv2" -} -layers { - name: "pool2" - type: POOLING - bottom: "conv2" - top: "pool2" - pooling_param { - pool: MAX - kernel_size: 3 - stride: 2 - } -} -layers { - name: "norm2" - type: LRN - bottom: "pool2" - top: "norm2" - lrn_param { - local_size: 5 - alpha: 0.0001 - beta: 0.75 - } -} -layers { - name: "conv3" - type: CONVOLUTION - bottom: "norm2" - top: "conv3" - convolution_param { - num_output: 384 - pad: 1 - kernel_size: 3 - } -} -layers { - name: "relu3" - type: RELU - bottom: "conv3" - top: "conv3" -} -layers { - name: "conv4" - type: CONVOLUTION - bottom: "conv3" - top: "conv4" - convolution_param { - num_output: 384 - pad: 1 - kernel_size: 3 - group: 2 - } -} -layers { - name: "relu4" - type: RELU - bottom: "conv4" - top: "conv4" -} -layers { - name: "conv5" - type: CONVOLUTION - bottom: "conv4" - top: "conv5" - convolution_param { - num_output: 256 - pad: 1 - kernel_size: 3 - group: 2 - } -} -layers { - name: "relu5" - type: RELU - bottom: "conv5" - top: "conv5" -} -layers { - name: "pool5" - type: POOLING - bottom: "conv5" - top: "pool5" - pooling_param { - pool: MAX - kernel_size: 3 - stride: 2 - } -} -layers { - name: "fc6" - type: INNER_PRODUCT - bottom: "pool5" - top: "fc6" - inner_product_param { - num_output: 4096 - } -} -layers { - name: "relu6" - type: RELU - bottom: "fc6" - top: "fc6" -} -layers { - name: "drop6" - type: DROPOUT - bottom: "fc6" - top: "fc6" - dropout_param { - dropout_ratio: 0.5 - } -} -layers { - name: "fc7" - type: INNER_PRODUCT - bottom: "fc6" - top: "fc7" - inner_product_param { - num_output: 4096 - } -} -layers { - name: "relu7" - type: RELU - bottom: "fc7" - top: "fc7" -} -layers { - name: "drop7" - type: DROPOUT - bottom: "fc7" - top: "fc7" - dropout_param { - dropout_ratio: 0.5 - } -} -# R-CNN classification layer made from R-CNN ILSVRC13 SVMs. -layers { - name: "fc-rcnn" - type: INNER_PRODUCT - bottom: "fc7" - top: "fc-rcnn" - inner_product_param { - num_output: 200 - } -} diff --git a/examples/imagenet/readme.md b/examples/imagenet/readme.md index b4a3110e..6b18407d 100644 --- a/examples/imagenet/readme.md +++ b/examples/imagenet/readme.md @@ -6,18 +6,16 @@ include_in_docs: true priority: 1 --- -Yangqing's Recipe on Brewing ImageNet -===================================== +Brewing ImageNet +================ - "All your braincells are belong to us." - - Caffeine - -We are going to describe a reference implementation for the approach first proposed by Krizhevsky, Sutskever, and Hinton in their [NIPS 2012 paper](http://books.nips.cc/papers/files/nips25/NIPS2012_0534.pdf). Since training the whole model takes some time and energy, we provide a model, trained in the same way as we describe here, to help fight global warming. If you would like to simply use the pretrained model, check out the [Pretrained ImageNet](../../getting_pretrained_models.html) page. *Note that the pretrained model is for academic research / non-commercial use only*. +We are going to describe a reference implementation for the approach first proposed by Krizhevsky, Sutskever, and Hinton in their [NIPS 2012 paper](http://books.nips.cc/papers/files/nips25/NIPS2012_0534.pdf). +Since training the whole model takes some time and energy, we provide a model, trained in the same way as we describe here, to help fight global warming. +If you would like to simply use the pretrained model, check out the [Pretrained ImageNet](../../getting_pretrained_models.html) page. +*Note that the pretrained model is for academic research / non-commercial use only*. To clarify, by ImageNet we actually mean the ILSVRC12 challenge, but you can easily train on the whole of ImageNet as well, just with more disk space, and a little longer training time. -(If you don't get the quote, visit [Yann LeCun's fun page](http://yann.lecun.com/ex/fun/). - Data Preparation ---------------- @@ -100,11 +98,13 @@ We all experience times when the power goes out, or we feel like rewarding ourse ./resume_training.sh -where in the script `caffe_imagenet_train_1000.solverstate` is the solver state snapshot that stores all necessary information to recover the exact solver state (including the parameters, momentum history, etc). +where in the script `imagenet_train_1000.solverstate` is the solver state snapshot that stores all necessary information to recover the exact solver state (including the parameters, momentum history, etc). Parting Words ------------- -Hope you liked this recipe! Many researchers have gone further since the ILSVRC 2012 challenge, changing the network architecture and/or finetuning the various parameters in the network. The recent ILSVRC 2013 challenge suggests that there are quite some room for improvement. **Caffe allows one to explore different network choices more easily, by simply writing different prototxt files** - isn't that exciting? +Hope you liked this recipe! +Many researchers have gone further since the ILSVRC 2012 challenge, changing the network architecture and/or finetuning the various parameters in the network. +**Caffe allows one to explore different network choices more easily, by simply writing different prototxt files** - isn't that exciting? -And since now you have a trained network, check out how to use it: [Running Pretrained ImageNet](../../getting_pretrained_models.html). This time we will use Python, but if you have wrappers for other languages, please kindly send a pull request! +And since now you have a trained network, check out how to use it with the Python interface: [Running Pretrained ImageNet](../../getting_pretrained_models.html). |