Skip to content

Instantly share code, notes, and snippets.

@leehomyc
Last active March 15, 2016 02:52
Show Gist options
  • Save leehomyc/334d302a6cd947cf305e to your computer and use it in GitHub Desktop.
Save leehomyc/334d302a6cd947cf305e to your computer and use it in GitHub Desktop.
Mask_Network.prototxt
name: 'Mask_Network'
input: 'data'
input_dim: 1
input_dim: 3
input_dim: 500
input_dim: 500
force_backward: true
layers { bottom: 'data' top: 'conv1_1' name: 'conv1_1' type: CONVOLUTION
blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0
convolution_param { engine: CAFFE num_output: 64 pad: 100 kernel_size: 3 } }
layers { bottom: 'conv1_1' top: 'conv1_1' name: 'relu1_1' type: RELU }
layers { bottom: 'conv1_1' top: 'conv1_2' name: 'conv1_2' type: CONVOLUTION
blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0
convolution_param { engine: CAFFE num_output: 64 pad: 1 kernel_size: 3 } }
layers { bottom: 'conv1_2' top: 'conv1_2' name: 'relu1_2' type: RELU }
layers { name: 'pool1' bottom: 'conv1_2' top: 'pool1' type: POOLING
pooling_param { pool: MAX kernel_size: 2 stride: 2 } }
layers { name: 'conv2_1' bottom: 'pool1' top: 'conv2_1' type: CONVOLUTION
blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0
convolution_param { engine: CAFFE num_output: 128 pad: 1 kernel_size: 3 } }
layers { bottom: 'conv2_1' top: 'conv2_1' name: 'relu2_1' type: RELU }
layers { bottom: 'conv2_1' top: 'conv2_2' name: 'conv2_2' type: CONVOLUTION
blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0
convolution_param { engine: CAFFE num_output: 128 pad: 1 kernel_size: 3 } }
layers { bottom: 'conv2_2' top: 'conv2_2' name: 'relu2_2' type: RELU }
layers { bottom: 'conv2_2' top: 'pool2' name: 'pool2' type: POOLING
pooling_param { pool: MAX kernel_size: 2 stride: 2 } }
layers { bottom: 'pool2' top: 'conv3_1' name: 'conv3_1' type: CONVOLUTION
blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0
convolution_param { engine: CAFFE num_output: 256 pad: 1 kernel_size: 3 } }
layers { bottom: 'conv3_1' top: 'conv3_1' name: 'relu3_1' type: RELU }
layers { bottom: 'conv3_1' top: 'conv3_2' name: 'conv3_2' type: CONVOLUTION
blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0
convolution_param { engine: CAFFE num_output: 256 pad: 1 kernel_size: 3 } }
layers { bottom: 'conv3_2' top: 'conv3_2' name: 'relu3_2' type: RELU }
layers { bottom: 'conv3_2' top: 'conv3_3' name: 'conv3_3' type: CONVOLUTION
blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0
convolution_param { engine: CAFFE num_output: 256 pad: 1 kernel_size: 3 } }
layers { bottom: 'conv3_3' top: 'conv3_3' name: 'relu3_3' type: RELU }
layers { bottom: 'conv3_3' top: 'pool3' name: 'pool3' type: POOLING
pooling_param { pool: MAX kernel_size: 2 stride: 2 } }
layers { bottom: 'pool3' top: 'conv4_1' name: 'conv4_1' type: CONVOLUTION
blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0
convolution_param { engine: CAFFE num_output: 512 pad: 1 kernel_size: 3 } }
layers { bottom: 'conv4_1' top: 'conv4_1' name: 'relu4_1' type: RELU }
layers { bottom: 'conv4_1' top: 'conv4_2' name: 'conv4_2' type: CONVOLUTION
blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0
convolution_param { engine: CAFFE num_output: 512 pad: 1 kernel_size: 3 } }
layers { bottom: 'conv4_2' top: 'conv4_2' name: 'relu4_2' type: RELU }
layers { bottom: 'conv4_2' top: 'conv4_3' name: 'conv4_3' type: CONVOLUTION
blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0
convolution_param { engine: CAFFE num_output: 512 pad: 1 kernel_size: 3 } }
layers { bottom: 'conv4_3' top: 'conv4_3' name: 'relu4_3' type: RELU }
layers { bottom: 'conv4_3' top: 'pool4' name: 'pool4' type: POOLING
pooling_param { pool: MAX kernel_size: 2 stride: 2 } }
layers { bottom: 'pool4' top: 'conv5_1' name: 'conv5_1' type: CONVOLUTION
blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0
convolution_param { engine: CAFFE num_output: 512 pad: 1 kernel_size: 3 } }
layers { bottom: 'conv5_1' top: 'conv5_1' name: 'relu5_1' type: RELU }
layers { bottom: 'conv5_1' top: 'conv5_2' name: 'conv5_2' type: CONVOLUTION
blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0
convolution_param { engine: CAFFE num_output: 512 pad: 1 kernel_size: 3 } }
layers { bottom: 'conv5_2' top: 'conv5_2' name: 'relu5_2' type: RELU }
layers { bottom: 'conv5_2' top: 'conv5_3' name: 'conv5_3' type: CONVOLUTION
blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0
convolution_param { engine: CAFFE num_output: 512 pad: 1 kernel_size: 3 } }
layers { bottom: 'conv5_3' top: 'conv5_3' name: 'relu5_3' type: RELU }
layers { bottom: 'conv5_3' top: 'pool5' name: 'pool5' type: POOLING
pooling_param { pool: MAX kernel_size: 2 stride: 2 } }
layers { bottom: 'pool5' top: 'fc6' name: 'fc6' type: CONVOLUTION
blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0
convolution_param { engine: CAFFE kernel_size: 7 num_output: 4096 } }
layers { bottom: 'fc6' top: 'fc6' name: 'relu6' type: RELU }
layers { bottom: 'fc6' top: 'fc6' name: 'drop6' type: DROPOUT
dropout_param { dropout_ratio: 0.5 } }
layers { bottom: 'fc6' top: 'fc7' name: 'fc7' type: CONVOLUTION
blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0
convolution_param { engine: CAFFE kernel_size: 1 num_output: 4096 } }
layers { bottom: 'fc7' top: 'fc7' name: 'relu7' type: RELU }
layers { bottom: 'fc7' top: 'fc7' name: 'drop7' type: DROPOUT
dropout_param { dropout_ratio: 0.5 } }
layers { name: 'score-fr' type: CONVOLUTION bottom: 'fc7' top: 'score'
blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0
convolution_param { engine: CAFFE num_output: 21 kernel_size: 1 } }
layers { type: DECONVOLUTION name: 'score2' bottom: 'score' top: 'score2'
blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0
convolution_param { kernel_size: 4 stride: 2 num_output: 21 } }
layers { name: 'score-pool4' type: CONVOLUTION bottom: 'pool4' top: 'score-pool4'
blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0
convolution_param { engine: CAFFE num_output: 21 kernel_size: 1 } }
layers { type: CROP name: 'crop' bottom: 'score-pool4' bottom: 'score2'
top: 'score-pool4c' }
layers { type: ELTWISE name: 'fuse' bottom: 'score2' bottom: 'score-pool4c'
top: 'score-fused'
eltwise_param { operation: SUM } }
layers { type: DECONVOLUTION name: 'score4' bottom: 'score-fused'
top: 'score4'
blobs_lr: 1 weight_decay: 1
convolution_param { bias_term: false kernel_size: 4 stride: 2 num_output: 21 } }
layers { name: 'score-pool3' type: CONVOLUTION bottom: 'pool3' top: 'score-pool3'
blobs_lr: 1 blobs_lr: 2 weight_decay: 1 weight_decay: 0
convolution_param { engine: CAFFE num_output: 21 kernel_size: 1 } }
layers { type: CROP name: 'crop2' bottom: 'score-pool3' bottom: 'score4'
top: 'score-pool3c' }
layers { type: ELTWISE name: 'fuse2' bottom: 'score4' bottom: 'score-pool3c'
top: 'score-final'
eltwise_param { operation: SUM } }
layers { type: DECONVOLUTION name: 'upsample'
bottom: 'score-final' top: 'bigscore'
blobs_lr: 0
convolution_param { bias_term: false num_output: 21 kernel_size: 16 stride: 8 } }
layers { type: CROP name: 'crop3' bottom: 'bigscore' bottom: 'data' top: 'coarse' }
layers { type: SPLIT name: 'splitting'
bottom: 'coarse' top: 'unary' top: 'Q0'
}
layers {
name: "inference1"
type: MULTI_STAGE_MEANFIELD
bottom: "unary"
bottom: "Q0"
bottom: "data"
top: "pred"
blobs_lr: 0.001
blobs_lr: 0.001
blobs_lr:0.01 #new parameter
multi_stage_meanfield_param {
num_iterations: 10
compatibility_mode: POTTS
threshold: 2
theta_alpha: 160
theta_beta: 3
theta_gamma: 3
spatial_filter_weight: 3
bilateral_filter_weight: 5
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment