Created
January 11, 2019 06:23
-
-
Save rexlow/fb29d5b39dca13352757dc1ebaddf5a1 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: "HED" | |
layer { | |
name: "data" | |
type: "ImageLabelmapData" | |
top: "data" | |
top: "label" | |
include { | |
phase: TRAIN | |
} | |
transform_param { | |
mirror: false | |
mean_value: 104.00699 | |
mean_value: 116.66877 | |
mean_value: 122.67892 | |
} | |
image_data_param { | |
root_folder: "../../data/HED-BSDS/" | |
source: "../../data/HED-BSDS/train_pair.lst" | |
batch_size: 1 | |
shuffle: true | |
new_height: 0 | |
new_width: 0 | |
} | |
} | |
layer { | |
name: "data" | |
type: "ImageLabelmapData" | |
top: "data" | |
top: "label" | |
include { | |
phase: TEST | |
} | |
transform_param { | |
mirror: false | |
mean_value: 104.00699 | |
mean_value: 116.66877 | |
mean_value: 122.67892 | |
} | |
image_data_param { | |
root_folder: "../../data/HED-BSDS/" | |
source: "../../data/HED-BSDS/train_pair.lst" | |
#Just setup the network. No real online testing | |
batch_size: 1 | |
shuffle: true | |
new_height: 0 | |
new_width: 0 | |
} | |
} | |
layer { bottom: 'data' top: 'conv1_1' name: 'conv1_1' type: "Convolution" | |
param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0} | |
convolution_param { engine: CAFFE num_output: 64 pad: 35 kernel_size: 3 } } | |
layer { bottom: 'conv1_1' top: 'conv1_1' name: 'relu1_1' type: "ReLU" } | |
layer { bottom: 'conv1_1' top: 'conv1_2' name: 'conv1_2' type: "Convolution" | |
param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0} | |
convolution_param { engine: CAFFE num_output: 64 pad: 1 kernel_size: 3 } } | |
layer { bottom: 'conv1_2' top: 'conv1_2' name: 'relu1_2' type: "ReLU" } | |
layer { name: 'pool1' bottom: 'conv1_2' top: 'pool1' type: "Pooling" | |
pooling_param { pool: MAX kernel_size: 2 stride: 2 } } | |
layer { name: 'conv2_1' bottom: 'pool1' top: 'conv2_1' type: "Convolution" | |
param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0} | |
convolution_param { engine: CAFFE num_output: 128 pad: 1 kernel_size: 3 } } | |
layer { bottom: 'conv2_1' top: 'conv2_1' name: 'relu2_1' type: "ReLU" } | |
layer { bottom: 'conv2_1' top: 'conv2_2' name: 'conv2_2' type: "Convolution" | |
param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0} | |
convolution_param { engine: CAFFE num_output: 128 pad: 1 kernel_size: 3 } } | |
layer { bottom: 'conv2_2' top: 'conv2_2' name: 'relu2_2' type: "ReLU" } | |
layer { bottom: 'conv2_2' top: 'pool2' name: 'pool2' type: "Pooling" | |
pooling_param { pool: MAX kernel_size: 2 stride: 2 } } | |
layer { bottom: 'pool2' top: 'conv3_1' name: 'conv3_1' type: "Convolution" | |
param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0} | |
convolution_param { engine: CAFFE num_output: 256 pad: 1 kernel_size: 3 } } | |
layer { bottom: 'conv3_1' top: 'conv3_1' name: 'relu3_1' type: "ReLU" } | |
layer { bottom: 'conv3_1' top: 'conv3_2' name: 'conv3_2' type: "Convolution" | |
param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0} | |
convolution_param { engine: CAFFE num_output: 256 pad: 1 kernel_size: 3 } } | |
layer { bottom: 'conv3_2' top: 'conv3_2' name: 'relu3_2' type: "ReLU" } | |
layer { bottom: 'conv3_2' top: 'conv3_3' name: 'conv3_3' type: "Convolution" | |
param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0} | |
convolution_param { engine: CAFFE num_output: 256 pad: 1 kernel_size: 3 } } | |
layer { bottom: 'conv3_3' top: 'conv3_3' name: 'relu3_3' type: "ReLU" } | |
layer { bottom: 'conv3_3' top: 'pool3' name: 'pool3' type: "Pooling" | |
pooling_param { pool: MAX kernel_size: 2 stride: 2 } } | |
layer { bottom: 'pool3' top: 'conv4_1' name: 'conv4_1' type: "Convolution" | |
param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0} | |
convolution_param { engine: CAFFE num_output: 512 pad: 1 kernel_size: 3 } } | |
layer { bottom: 'conv4_1' top: 'conv4_1' name: 'relu4_1' type: "ReLU" } | |
layer { bottom: 'conv4_1' top: 'conv4_2' name: 'conv4_2' type: "Convolution" | |
param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0} | |
convolution_param { engine: CAFFE num_output: 512 pad: 1 kernel_size: 3 } } | |
layer { bottom: 'conv4_2' top: 'conv4_2' name: 'relu4_2' type: "ReLU" } | |
layer { bottom: 'conv4_2' top: 'conv4_3' name: 'conv4_3' type: "Convolution" | |
param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0} | |
convolution_param { engine: CAFFE num_output: 512 pad: 1 kernel_size: 3 } } | |
layer { bottom: 'conv4_3' top: 'conv4_3' name: 'relu4_3' type: "ReLU" } | |
layer { bottom: 'conv4_3' top: 'pool4' name: 'pool4' type: "Pooling" | |
pooling_param { pool: MAX kernel_size: 2 stride: 2 } } | |
layer { bottom: 'pool4' top: 'conv5_1' name: 'conv5_1' type: "Convolution" | |
param { lr_mult: 100 decay_mult: 1 } param { lr_mult: 200 decay_mult: 0} | |
convolution_param { engine: CAFFE num_output: 512 pad: 1 kernel_size: 3 } } | |
layer { bottom: 'conv5_1' top: 'conv5_1' name: 'relu5_1' type: "ReLU" } | |
layer { bottom: 'conv5_1' top: 'conv5_2' name: 'conv5_2' type: "Convolution" | |
param { lr_mult: 100 decay_mult: 1 } param { lr_mult: 200 decay_mult: 0} | |
convolution_param { engine: CAFFE num_output: 512 pad: 1 kernel_size: 3 } } | |
layer { bottom: 'conv5_2' top: 'conv5_2' name: 'relu5_2' type: "ReLU" } | |
layer { bottom: 'conv5_2' top: 'conv5_3' name: 'conv5_3' type: "Convolution" | |
param { lr_mult: 100 decay_mult: 1 } param { lr_mult: 200 decay_mult: 0} | |
convolution_param { engine: CAFFE num_output: 512 pad: 1 kernel_size: 3 } } | |
layer { bottom: 'conv5_3' top: 'conv5_3' name: 'relu5_3' type: "ReLU" } | |
## DSN conv 1 ### | |
layer { name: 'score-dsn1' type: "Convolution" bottom: 'conv1_2' top: 'score-dsn1-up' | |
param { lr_mult: 0.01 decay_mult: 1 } param { lr_mult: 0.02 decay_mult: 0} | |
convolution_param { engine: CAFFE num_output: 1 kernel_size: 1 } } | |
layer { type: "Crop" name: 'crop' bottom: 'score-dsn1-up' bottom: 'data' top: 'upscore-dsn1' } | |
layer { type: "SigmoidCrossEntropyLoss" bottom: "upscore-dsn1" bottom: "label" top:"dsn1_loss" loss_weight: 1} | |
### DSN conv 2 ### | |
layer { name: 'score-dsn2' type: "Convolution" bottom: 'conv2_2' top: 'score-dsn2' | |
param { lr_mult: 0.01 decay_mult: 1 } param { lr_mult: 0.02 decay_mult: 0} | |
convolution_param { engine: CAFFE num_output: 1 kernel_size: 1 } } | |
layer { type: "Deconvolution" name: 'upsample_2' bottom: 'score-dsn2' top: 'score-dsn2-up' | |
param { lr_mult: 0 decay_mult: 1 } param { lr_mult: 0 decay_mult: 0} | |
convolution_param { kernel_size: 4 stride: 2 num_output: 1 } } | |
layer { type: "Crop" name: 'crop' bottom: 'score-dsn2-up' bottom: 'data' top: 'upscore-dsn2' } | |
layer { type: "SigmoidCrossEntropyLoss" bottom: "upscore-dsn2" bottom: "label" top:"dsn2_loss" loss_weight: 1} | |
### DSN conv 3 ### | |
layer { name: 'score-dsn3' type: "Convolution" bottom: 'conv3_3' top: 'score-dsn3' | |
param { lr_mult: 0.01 decay_mult: 1 } param { lr_mult: 0.02 decay_mult: 0} | |
convolution_param { engine: CAFFE num_output: 1 kernel_size: 1 } } | |
layer { type: "Deconvolution" name: 'upsample_4' bottom: 'score-dsn3' top: 'score-dsn3-up' | |
param { lr_mult: 0 decay_mult: 1 } param { lr_mult: 0 decay_mult: 0} | |
convolution_param { kernel_size: 8 stride: 4 num_output: 1 } } | |
layer { type: "Crop" name: 'crop' bottom: 'score-dsn3-up' bottom: 'data' top: 'upscore-dsn3' } | |
layer { type: "SigmoidCrossEntropyLoss" bottom: "upscore-dsn3" bottom: "label" top:"dsn3_loss" loss_weight: 1} | |
###DSN conv 4### | |
layer { name: 'score-dsn4' type: "Convolution" bottom: 'conv4_3' top: 'score-dsn4' | |
param { lr_mult: 0.01 decay_mult: 1 } param { lr_mult: 0.02 decay_mult: 0} | |
convolution_param { engine: CAFFE num_output: 1 kernel_size: 1 } } | |
layer { type: "Deconvolution" name: 'upsample_8' bottom: 'score-dsn4' top: 'score-dsn4-up' | |
param { lr_mult: 0 decay_mult: 1 } param { lr_mult: 0 decay_mult: 0} | |
convolution_param { kernel_size: 16 stride: 8 num_output: 1 } } | |
layer { type: "Crop" name: 'crop' bottom: 'score-dsn4-up' bottom: 'data' top: 'upscore-dsn4' } | |
layer { type: "SigmoidCrossEntropyLoss" bottom: "upscore-dsn4" bottom: "label" top:"dsn4_loss" loss_weight: 1} | |
###DSN conv 5### | |
layer { name: 'score-dsn5' type: "Convolution" bottom: 'conv5_3' top: 'score-dsn5' | |
param { lr_mult: 0.01 decay_mult: 1 } param { lr_mult: 0.02 decay_mult: 0} | |
convolution_param { engine: CAFFE num_output: 1 kernel_size: 1 } } | |
layer { type: "Deconvolution" name: 'upsample_16' bottom: 'score-dsn5' top: 'score-dsn5-up' | |
param { lr_mult: 0 decay_mult: 1 } param { lr_mult: 0 decay_mult: 0} | |
convolution_param { kernel_size: 32 stride: 16 num_output: 1 } } | |
layer { type: "Crop" name: 'crop' bottom: 'score-dsn5-up' bottom: 'data' top: 'upscore-dsn5' } | |
layer { type: "SigmoidCrossEntropyLoss" bottom: "upscore-dsn5" bottom: "label" top:"dsn5_loss" loss_weight: 1} | |
### Concat and multiscale weight layer ### | |
layer { name: "concat" bottom: "upscore-dsn1" bottom: "upscore-dsn2" bottom: "upscore-dsn3" | |
bottom: "upscore-dsn4" bottom: "upscore-dsn5" top: "concat-upscore" type: "Concat" | |
concat_param { concat_dim: 1} } | |
layer { name: 'new-score-weighting' type: "Convolution" bottom: 'concat-upscore' top: 'upscore-fuse' | |
param { lr_mult: 0.001 decay_mult: 1 } param { lr_mult: 0.002 decay_mult: 0} | |
convolution_param { engine: CAFFE num_output: 1 kernel_size: 1 weight_filler {type: "constant" value: 0.2} } } | |
layer { type: "SigmoidCrossEntropyLoss" bottom: "upscore-fuse" bottom: "label" top:"fuse_loss" loss_weight: 1} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment