summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorSergey Karayev <sergeykarayev@gmail.com>2014-08-12 17:29:25 -0700
committerSergey Karayev <sergeykarayev@gmail.com>2014-09-04 01:53:18 +0100
commite553573e2c4800e11050d6b83f0579766ebf4648 (patch)
treefeacf4a98bb26deafd06ff644c2d1ddeacd6b9eb /examples
parent41751046f18499b84dbaf529f64c0e664e2a09fe (diff)
downloadcaffeonacl-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.prototxt244
-rw-r--r--examples/imagenet/alexnet_solver.prototxt14
-rw-r--r--examples/imagenet/alexnet_train_val.prototxt344
-rwxr-xr-xexamples/imagenet/get_caffe_alexnet_model.sh28
-rwxr-xr-xexamples/imagenet/get_caffe_rcnn_imagenet_model.sh28
-rwxr-xr-xexamples/imagenet/get_caffe_reference_imagenet_model.sh28
-rw-r--r--examples/imagenet/imagenet_deploy.prototxt212
-rw-r--r--examples/imagenet/imagenet_solver.prototxt14
-rw-r--r--examples/imagenet/imagenet_train_val.prototxt344
-rw-r--r--examples/imagenet/rcnn_imagenet_deploy.prototxt207
-rw-r--r--examples/imagenet/readme.md22
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).