layer { name: "input" type: "Input" top: "data" # BGR image from [0,255] ***NOT MEAN CENTERED*** input_param { shape { dim: 60 dim: 3 dim: 227 dim: 227 } } } layer { # Convert to lab name: "img_lab" type: "ColorConv" bottom: "data" top: "img_lab" propagate_down: false color_conv_param { input: 0 # BGR output: 3 # Lab } } layer { # 0-center lightness channel name: "data_lab" type: "Convolution" bottom: "img_lab" top: "data_lab" # [-50,50] propagate_down: false param {lr_mult: 0 decay_mult: 0} param {lr_mult: 0 decay_mult: 0} convolution_param { kernel_size: 1 num_output: 3 group: 3 } } layer { name: "conv1" type: "Convolution" # bottom: "img" bottom: "data_lab" # bottom: "img_bn" top: "conv1" param {lr_mult: 0 decay_mult: 0} param {lr_mult: 0 decay_mult: 0} convolution_param { num_output: 96 kernel_size: 11 stride: 4 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 0 } } } layer { name: "relu1" type: "ReLU" bottom: "conv1" top: "conv1" } layer { name: "pool1" type: "Pooling" bottom: "conv1" top: "pool1" pooling_param { pool: MAX kernel_size: 3 stride: 2 } } layer { name: "conv2" type: "Convolution" bottom: "pool1" top: "conv2" param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } convolution_param { num_output: 256 pad: 2 kernel_size: 5 group: 2 } } layer { name: "relu2" type: "ReLU" bottom: "conv2" top: "conv2" } layer { name: "pool2" type: "Pooling" # bottom: "conv2" bottom: "conv2" top: "pool2" pooling_param { pool: MAX kernel_size: 3 stride: 2 # pad: 1 } } layer { name: "conv3" type: "Convolution" bottom: "pool2" top: "conv3" # propagate_down: false param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } convolution_param { num_output: 384 pad: 1 kernel_size: 3 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 0 } } } layer { name: "relu3" type: "ReLU" bottom: "conv3" top: "conv3" } layer { name: "conv4" type: "Convolution" bottom: "conv3" top: "conv4" param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } convolution_param { num_output: 384 pad: 1 kernel_size: 3 group: 2 } } layer { name: "relu4" type: "ReLU" bottom: "conv4" top: "conv4" } layer { name: "conv5" type: "Convolution" bottom: "conv4" top: "conv5" param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } convolution_param { num_output: 256 pad: 1 kernel_size: 3 group: 2 } } layer { name: "relu5" type: "ReLU" bottom: "conv5" top: "conv5" } layer { name: "pool5" type: "Pooling" bottom: "conv5" top: "pool5" pooling_param { pool: MAX kernel_size: 3 stride: 2 } } layer { name: "fc6" type: "Convolution" bottom: "pool5" top: "fc6" param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } convolution_param { kernel_size: 6 dilation: 2 pad: 5 stride: 1 num_output: 4096 weight_filler { type: "gaussian" std: 0.005 } bias_filler { type: "constant" value: 1 } } } layer { name: "relu6" type: "ReLU" bottom: "fc6" top: "fc6" } layer { name: "fc7" type: "Convolution" bottom: "fc6" top: "fc7" param { lr_mult: 0 decay_mult: 0 } param { lr_mult: 0 decay_mult: 0 } convolution_param { kernel_size: 1 stride: 1 num_output: 4096 weight_filler { type: "gaussian" std: 0.005 } bias_filler { type: "constant" value: 1 } } } layer { name: "relu7" type: "ReLU" bottom: "fc7" top: "fc7" }