blob: 3b7eaf49e9448d9dd36f8bafd4742429cd4138a6 [file] [log] [blame]
name: "alexnet"
train_steps: 450000
test_steps: 500
test_freq: 1000
disp_freq: 20
checkpoint_freq: 100000
checkpoint_after: 100000
train_one_batch {
alg: kBP
}
updater{
type: kSGD
weight_decay: 0.0005
momentum: 0.9
learning_rate {
type: kStep
base_lr: 0.01
step_conf {
gamma: 0.1
change_freq: 100000
}
}
}
neuralnet {
layer{
name: "data"
type: kRecordInput
store_conf {
backend: "kvfile"
path :"/data/dataset/imagenet/train_record.bin"
mean_file: "/data/dataset/imagenet/image_mean.bin"
batchsize: 256
#random_skip: 1000
shape: 3
shape: 256
shape: 256
}
include: kTrain
}
layer{
name: "data"
type: kRecordInput
store_conf {
backend: "kvfile"
path :"/data/dataset/imagenet/val_record.bin"
mean_file: "/data/dataset/imagenet/image_mean.bin"
batchsize: 100
shape: 3
shape: 256
shape: 256
}
include: kTest
}
layer{
name: "image"
type: kImagePreprocess
rgbimage_conf {
cropsize: 227
mirror: true
}
# partition_dim: 0
srclayers: "data"
}
layer{
name: "conv1"
type: kConvolution
srclayers: "image"
convolution_conf {
num_filters: 96
kernel: 11
stride: 4
}
# partition_dim: 0
param {
name: "w1"
init {
type: kGaussian
std: 0.01
}
}
param {
name: "b1"
lr_scale: 2
wd_scale: 0
init {
type: kConstant
value: 0
}
}
}
layer {
name: "relu1"
type: kReLU
srclayers: "conv1"
# partition_dim: 0
}
layer {
name: "pool1"
type: kPooling
pooling_conf {
pool: MAX
kernel: 3
stride: 2
}
srclayers: "relu1"
# partition_dim: 0
}
layer {
name: "norm1"
type: kLRN
lrn_conf {
local_size: 5
alpha: 0.0001
beta: 0.75
knorm: 1
}
srclayers: "pool1"
# partition_dim: 0
}
layer{
name: "conv2"
type: kConvolution
srclayers: "norm1"
convolution_conf {
num_filters: 256
kernel: 5
pad: 2
}
# partition_dim: 0
param {
name: "w2"
init {
type: kGaussian
std: 0.01
}
}
param {
name: "b2"
lr_scale: 2
wd_scale: 0
init {
type: kConstant
value: 1
}
}
}
layer {
name: "relu2"
type: kReLU
srclayers: "conv2"
# partition_dim: 0
}
layer {
name: "pool2"
type: kPooling
pooling_conf {
pool: MAX
kernel: 3
stride: 2
}
srclayers: "relu2"
# partition_dim: 0
}
layer {
name: "norm2"
type: kLRN
lrn_conf {
local_size: 5
alpha: 0.0001
beta: 0.75
knorm: 1
}
srclayers: "pool2"
# partition_dim: 0
}
layer{
name: "conv3"
type: kConvolution
srclayers: "norm2"
convolution_conf {
num_filters: 384
kernel: 3
pad: 1
}
# partition_dim: 0
param {
name: "w3"
init {
type: kGaussian
std: 0.01
}
}
param {
name: "b3"
lr_scale: 2
wd_scale: 0
init {
type: kConstant
value: 0
}
}
}
layer {
name: "relu3"
type: kReLU
srclayers: "conv3"
# partition_dim: 0
}
layer{
name: "conv4"
type: kConvolution
srclayers: "relu3"
convolution_conf {
num_filters: 384
kernel: 3
pad: 1
}
# partition_dim: 0
param {
name: "w4"
init {
type: kGaussian
std: 0.01
}
}
param {
name: "b4"
lr_scale:2
wd_scale:0
init {
type: kConstant
value: 1
}
}
}
layer {
name: "relu4"
type: kReLU
srclayers: "conv4"
# partition_dim: 0
}
layer{
name: "conv5"
type: kConvolution
srclayers: "relu4"
convolution_conf {
num_filters: 256
kernel: 3
pad: 1
}
# partition_dim: 0
param {
name: "w5"
init {
type: kGaussian
std: 0.01
}
}
param {
name: "b5"
lr_scale: 2
wd_scale: 0
init {
type: kConstant
value: 1
}
}
}
layer {
name: "relu5"
type: kReLU
srclayers: "conv5"
# partition_dim: 0
}
layer {
name: "pool5"
type: kPooling
pooling_conf {
pool: MAX
kernel: 3
stride: 2
}
srclayers: "relu5"
# partition_dim: 0
}
layer {
name: "ip6"
type: kInnerProduct
innerproduct_conf {
num_output: 4096
}
param {
name: "w6"
init {
type: kGaussian
std: 0.005
}
}
param {
name: "b6"
lr_scale: 2
wd_scale: 0
init {
type: kConstant
value: 1
}
}
srclayers: "pool5"
# partition_dim: 1
}
layer {
name: "relu6"
type: kReLU
srclayers: "ip6"
# partition_dim: 1
}
layer {
name: "drop6"
type: kDropout
srclayers: "relu6"
# partition_dim: 1
}
layer {
name: "ip7"
type: kInnerProduct
innerproduct_conf {
num_output: 4096
}
# partition_dim: 1
param {
name: "w7"
init {
type: kGaussian
std: 0.005
}
}
param {
name: "b7"
lr_scale: 2
wd_scale: 0
init {
type: kConstant
value: 1
}
}
srclayers: "drop6"
}
layer {
name: "relu7"
type: kReLU
srclayers: "ip7"
# partition_dim: 1
}
layer {
name: "drop7"
type: kDropout
srclayers: "relu7"
# partition_dim: 1
}
layer {
name: "ip8"
type: kInnerProduct
innerproduct_conf {
num_output: 1000
}
# partition_dim: 1
param {
name: "w8"
init {
type: kGaussian
std: 0.01
}
}
param {
name: "b8"
lr_scale: 2
wd_scale: 0
init {
type: kConstant
value: 0
}
}
srclayers: "drop7"
}
layer {
name: "loss"
type: kSoftmaxLoss
softmaxloss_conf {
topk:1
}
srclayers: "ip8"
srclayers: "data"
}
}
cluster {
nworker_groups: 1
nserver_groups: 1
nworkers_per_group: 1
nworkers_per_procs: 1
workspace: "examples/alexnet"
}