Skip to content

Instantly share code, notes, and snippets.

@xmfbit
Created June 21, 2017 10:37
Show Gist options
  • Save xmfbit/00dd301cd4468df66bbcaa6965bece97 to your computer and use it in GitHub Desktop.
Save xmfbit/00dd301cd4468df66bbcaa6965bece97 to your computer and use it in GitHub Desktop.
Deploy prototxt file for FlowNetS, FlyingChairs dataset
# Enter your network definition here.
# Use Shift+Enter to update the visualization.
layer {
name: "CustomData1"
type: "CustomData"
top: "blob0"
top: "blob1"
top: "blob2"
top: "blob3"
include {
phase: TRAIN
}
data_param {
source: "../../../data/FlyingChairs_release_lmdb"
batch_size: 8
backend: LMDB
preselection_file: "../../../data/FlyingChairs_release_test_train_split.list"
preselection_label: 1
rand_permute: true
rand_permute_seed: 77
slice_point: 3
slice_point: 6
slice_point: 8
encoding: UINT8 # image1
encoding: UINT8 # image2
encoding: UINT16FLOW # flow ground truth
encoding: BOOL1 # validation
verbose: true
}
}
layer {
name: "CustomData2"
type: "CustomData"
top: "blob0"
top: "blob1"
top: "blob2"
top: "blob3"
include {
phase: TEST
}
data_param {
source: "../../../data/FlyingChairs_release_lmdb"
batch_size: 8
backend: LMDB
preselection_file: "../../../data/FlyingChairs_release_test_train_split.list"
preselection_label: 2
rand_permute: true
rand_permute_seed: 77
slice_point: 3
slice_point: 6
slice_point: 8
encoding: UINT8
encoding: UINT8
encoding: UINT16FLOW
encoding: BOOL1
verbose: true
}
}
layer {
name: "Eltwise1"
type: "Eltwise"
bottom: "blob0"
top: "blob4"
eltwise_param {
operation: SUM
coeff: 0.00392156862745
}
}
layer {
name: "Eltwise2"
type: "Eltwise"
bottom: "blob1"
top: "blob5"
eltwise_param {
operation: SUM
coeff: 0.00392156862745
}
}
layer {
name: "img0s_aug"
type: "DataAugmentation"
bottom: "blob4"
top: "img0_aug"
top: "blob7"
propagate_down: false
augmentation_param {
max_multiplier: 1
augment_during_test: false
recompute_mean: 1000
mean_per_pixel: false
translate {
rand_type: "uniform_bernoulli"
exp: false
mean: 0
spread: 0.4
prob: 1.0
}
rotate {
rand_type: "uniform_bernoulli"
exp: false
mean: 0
spread: 0.4
prob: 1.0
}
zoom {
rand_type: "uniform_bernoulli"
exp: true
mean: 0.2
spread: 0.4
prob: 1.0
}
squeeze {
rand_type: "uniform_bernoulli"
exp: true
mean: 0
spread: 0.3
prob: 1.0
}
lmult_pow {
rand_type: "uniform_bernoulli"
exp: true
mean: -0.2
spread: 0.4
prob: 1.0
}
lmult_mult {
rand_type: "uniform_bernoulli"
exp: true
mean: 0.0
spread: 0.4
prob: 1.0
}
lmult_add {
rand_type: "uniform_bernoulli"
exp: false
mean: 0
spread: 0.03
prob: 1.0
}
sat_pow {
rand_type: "uniform_bernoulli"
exp: true
mean: 0
spread: 0.4
prob: 1.0
}
sat_mult {
rand_type: "uniform_bernoulli"
exp: true
mean: -0.3
spread: 0.5
prob: 1.0
}
sat_add {
rand_type: "uniform_bernoulli"
exp: false
mean: 0
spread: 0.03
prob: 1.0
}
col_pow {
rand_type: "gaussian_bernoulli"
exp: true
mean: 0
spread: 0.4
prob: 1.0
}
col_mult {
rand_type: "gaussian_bernoulli"
exp: true
mean: 0
spread: 0.2
prob: 1.0
}
col_add {
rand_type: "gaussian_bernoulli"
exp: false
mean: 0
spread: 0.02
prob: 1.0
}
ladd_pow {
rand_type: "gaussian_bernoulli"
exp: true
mean: 0
spread: 0.4
prob: 1.0
}
ladd_mult {
rand_type: "gaussian_bernoulli"
exp: true
mean: 0.0
spread: 0.4
prob: 1.0
}
ladd_add {
rand_type: "gaussian_bernoulli"
exp: false
mean: 0
spread: 0.04
prob: 1.0
}
col_rotate {
rand_type: "uniform_bernoulli"
exp: false
mean: 0
spread: 1
prob: 1.0
}
crop_width: 448
crop_height: 320
chromatic_eigvec: 0.51
chromatic_eigvec: 0.56
chromatic_eigvec: 0.65
chromatic_eigvec: 0.79
chromatic_eigvec: 0.01
chromatic_eigvec: -0.62
chromatic_eigvec: 0.35
chromatic_eigvec: -0.83
chromatic_eigvec: 0.44
noise {
rand_type: "uniform_bernoulli"
exp: false
mean: 0.03
spread: 0.03
prob: 1.0
}
}
}
layer {
name: "aug_params1"
type: "GenerateAugmentationParameters"
bottom: "blob7"
bottom: "blob4"
bottom: "img0_aug"
top: "blob8"
augmentation_param {
augment_during_test: false
translate {
rand_type: "gaussian_bernoulli"
exp: false
mean: 0
spread: 0.03
prob: 1.0
}
rotate {
rand_type: "gaussian_bernoulli"
exp: false
mean: 0
spread: 0.03
prob: 1.0
}
zoom {
rand_type: "gaussian_bernoulli"
exp: true
mean: 0
spread: 0.03
prob: 1.0
}
gamma {
rand_type: "gaussian_bernoulli"
exp: true
mean: 0
spread: 0.02
prob: 1.0
}
brightness {
rand_type: "gaussian_bernoulli"
exp: false
mean: 0
spread: 0.02
prob: 1.0
}
contrast {
rand_type: "gaussian_bernoulli"
exp: true
mean: 0
spread: 0.02
prob: 1.0
}
color {
rand_type: "gaussian_bernoulli"
exp: true
mean: 0
spread: 0.02
prob: 1.0
}
}
coeff_schedule_param {
half_life: 50000
initial_coeff: 0.5
final_coeff: 1
}
}
layer {
name: "img1s_aug"
type: "DataAugmentation"
bottom: "blob5"
bottom: "blob8"
top: "img1_aug"
propagate_down: false
propagate_down: false
augmentation_param {
max_multiplier: 1
augment_during_test: false
recompute_mean: 1000
mean_per_pixel: false
crop_width: 448
crop_height: 320
chromatic_eigvec: 0.51
chromatic_eigvec: 0.56
chromatic_eigvec: 0.65
chromatic_eigvec: 0.79
chromatic_eigvec: 0.01
chromatic_eigvec: -0.62
chromatic_eigvec: 0.35
chromatic_eigvec: -0.83
chromatic_eigvec: 0.44
}
}
layer {
name: "FlowAugmentation1"
type: "FlowAugmentation"
bottom: "blob2"
bottom: "blob7"
bottom: "blob8"
top: "flow_gt_aug"
augmentation_param {
crop_width: 448
crop_height: 320
}
}
layer {
name: "Eltwise3"
type: "Eltwise"
bottom: "flow_gt_aug"
top: "scaled_flow_gt"
eltwise_param {
operation: SUM
coeff: 0.05
}
}
layer {
name: "Concat1"
type: "Concat"
bottom: "img0_aug"
bottom: "img1_aug"
top: "input"
concat_param {
axis: 1
}
}
layer {
name: "conv1"
type: "Convolution"
bottom: "input"
top: "conv1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 1
decay_mult: 0
}
convolution_param {
num_output: 64
pad: 3
kernel_size: 7
stride: 2
weight_filler {
type: "msra"
}
bias_filler {
type: "constant"
}
engine: CUDNN
}
}
layer {
name: "ReLU1"
type: "ReLU"
bottom: "conv1"
top: "conv1"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv2"
type: "Convolution"
bottom: "conv1"
top: "conv2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 1
decay_mult: 0
}
convolution_param {
num_output: 128
pad: 2
kernel_size: 5
stride: 2
weight_filler {
type: "msra"
}
bias_filler {
type: "constant"
}
engine: CUDNN
}
}
layer {
name: "ReLU2"
type: "ReLU"
bottom: "conv2"
top: "conv2"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv3"
type: "Convolution"
bottom: "conv2"
top: "conv3"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 1
decay_mult: 0
}
convolution_param {
num_output: 256
pad: 2
kernel_size: 5
stride: 2
weight_filler {
type: "msra"
}
bias_filler {
type: "constant"
}
engine: CUDNN
}
}
layer {
name: "ReLU3"
type: "ReLU"
bottom: "conv3"
top: "conv3"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv3_1"
type: "Convolution"
bottom: "conv3"
top: "conv3_1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 1
decay_mult: 0
}
convolution_param {
num_output: 256
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "msra"
}
bias_filler {
type: "constant"
}
engine: CUDNN
}
}
layer {
name: "ReLU4"
type: "ReLU"
bottom: "conv3_1"
top: "conv3_1"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv4"
type: "Convolution"
bottom: "conv3_1"
top: "conv4"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 1
decay_mult: 0
}
convolution_param {
num_output: 512
pad: 1
kernel_size: 3
stride: 2
weight_filler {
type: "msra"
}
bias_filler {
type: "constant"
}
engine: CUDNN
}
}
layer {
name: "ReLU5"
type: "ReLU"
bottom: "conv4"
top: "conv4"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv4_1"
type: "Convolution"
bottom: "conv4"
top: "conv4_1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 1
decay_mult: 0
}
convolution_param {
num_output: 512
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "msra"
}
bias_filler {
type: "constant"
}
engine: CUDNN
}
}
layer {
name: "ReLU6"
type: "ReLU"
bottom: "conv4_1"
top: "conv4_1"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv5"
type: "Convolution"
bottom: "conv4_1"
top: "conv5"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 1
decay_mult: 0
}
convolution_param {
num_output: 512
pad: 1
kernel_size: 3
stride: 2
weight_filler {
type: "msra"
}
bias_filler {
type: "constant"
}
engine: CUDNN
}
}
layer {
name: "ReLU7"
type: "ReLU"
bottom: "conv5"
top: "conv5"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv5_1"
type: "Convolution"
bottom: "conv5"
top: "conv5_1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 1
decay_mult: 0
}
convolution_param {
num_output: 512
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "msra"
}
bias_filler {
type: "constant"
}
engine: CUDNN
}
}
layer {
name: "ReLU8"
type: "ReLU"
bottom: "conv5_1"
top: "conv5_1"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv6"
type: "Convolution"
bottom: "conv5_1"
top: "conv6"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 1
decay_mult: 0
}
convolution_param {
num_output: 1024
pad: 1
kernel_size: 3
stride: 2
weight_filler {
type: "msra"
}
bias_filler {
type: "constant"
}
engine: CUDNN
}
}
layer {
name: "ReLU9"
type: "ReLU"
bottom: "conv6"
top: "conv6"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "conv6_1"
type: "Convolution"
bottom: "conv6"
top: "conv6_1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 1
decay_mult: 0
}
convolution_param {
num_output: 1024
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "msra"
}
bias_filler {
type: "constant"
}
engine: CUDNN
}
}
layer {
name: "ReLU10"
type: "ReLU"
bottom: "conv6_1"
top: "conv6_1"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "Convolution1"
type: "Convolution"
bottom: "conv6_1"
top: "predict_flow6"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 1
decay_mult: 0
}
convolution_param {
num_output: 2
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "msra"
}
bias_filler {
type: "constant"
}
engine: CUDNN
}
}
layer {
name: "Downsample1"
type: "Downsample"
bottom: "scaled_flow_gt"
bottom: "predict_flow6"
top: "blob24"
propagate_down: false
propagate_down: false
}
layer {
name: "flow_loss6"
type: "L1Loss"
bottom: "predict_flow6"
bottom: "blob24"
top: "flow_loss6"
loss_weight: 0.32
l1_loss_param {
l2_per_location: true
}
}
layer {
name: "deconv5"
type: "Deconvolution"
bottom: "conv6_1"
top: "deconv5"
param {
lr_mult: 1
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
convolution_param {
num_output: 512
pad: 1
kernel_size: 4
stride: 2
weight_filler {
type: "msra"
}
bias_filler {
type: "constant"
}
engine: CUDNN
}
}
layer {
name: "ReLU11"
type: "ReLU"
bottom: "deconv5"
top: "deconv5"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "upsample_flow6to5"
type: "Deconvolution"
bottom: "predict_flow6"
top: "upsampled_flow6_to_5"
param {
lr_mult: 1
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
convolution_param {
num_output: 2
pad: 1
kernel_size: 4
stride: 2
weight_filler {
type: "msra"
}
bias_filler {
type: "constant"
}
engine: CUDNN
}
}
layer {
name: "Concat2"
type: "Concat"
bottom: "conv5_1"
bottom: "deconv5"
bottom: "upsampled_flow6_to_5"
top: "concat5"
}
layer {
name: "Convolution2"
type: "Convolution"
bottom: "concat5"
top: "predict_flow5"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 1
decay_mult: 0
}
convolution_param {
num_output: 2
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "msra"
}
bias_filler {
type: "constant"
}
engine: CUDNN
}
}
layer {
name: "Downsample2"
type: "Downsample"
bottom: "scaled_flow_gt"
bottom: "predict_flow5"
top: "blob29"
propagate_down: false
propagate_down: false
}
layer {
name: "flow_loss5"
type: "L1Loss"
bottom: "predict_flow5"
bottom: "blob29"
top: "flow_loss5"
loss_weight: 0.08
l1_loss_param {
l2_per_location: true
}
}
layer {
name: "deconv4"
type: "Deconvolution"
bottom: "concat5"
top: "deconv4"
param {
lr_mult: 1
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
convolution_param {
num_output: 256
pad: 1
kernel_size: 4
stride: 2
weight_filler {
type: "msra"
}
bias_filler {
type: "constant"
}
engine: CUDNN
}
}
layer {
name: "ReLU12"
type: "ReLU"
bottom: "deconv4"
top: "deconv4"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "upsample_flow5to4"
type: "Deconvolution"
bottom: "predict_flow5"
top: "upsampled_flow5_to_4"
param {
lr_mult: 1
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
convolution_param {
num_output: 2
pad: 1
kernel_size: 4
stride: 2
weight_filler {
type: "msra"
}
bias_filler {
type: "constant"
}
engine: CUDNN
}
}
layer {
name: "Concat3"
type: "Concat"
bottom: "conv4_1"
bottom: "deconv4"
bottom: "upsampled_flow5_to_4"
top: "concat4"
}
layer {
name: "Convolution3"
type: "Convolution"
bottom: "concat4"
top: "predict_flow4"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 1
decay_mult: 0
}
convolution_param {
num_output: 2
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "msra"
}
bias_filler {
type: "constant"
}
engine: CUDNN
}
}
layer {
name: "Downsample3"
type: "Downsample"
bottom: "scaled_flow_gt"
bottom: "predict_flow4"
top: "blob34"
propagate_down: false
propagate_down: false
}
layer {
name: "flow_loss4"
type: "L1Loss"
bottom: "predict_flow4"
bottom: "blob34"
top: "flow_loss4"
loss_weight: 0.02
l1_loss_param {
l2_per_location: true
}
}
layer {
name: "deconv3"
type: "Deconvolution"
bottom: "concat4"
top: "deconv3"
param {
lr_mult: 1
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
convolution_param {
num_output: 128
pad: 1
kernel_size: 4
stride: 2
weight_filler {
type: "msra"
}
bias_filler {
type: "constant"
}
engine: CUDNN
}
}
layer {
name: "ReLU13"
type: "ReLU"
bottom: "deconv3"
top: "deconv3"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "upsample_flow4to3"
type: "Deconvolution"
bottom: "predict_flow4"
top: "upsampled_flow4_to_3"
param {
lr_mult: 1
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
convolution_param {
num_output: 2
pad: 1
kernel_size: 4
stride: 2
weight_filler {
type: "msra"
}
bias_filler {
type: "constant"
}
engine: CUDNN
}
}
layer {
name: "Concat4"
type: "Concat"
bottom: "conv3_1"
bottom: "deconv3"
bottom: "upsampled_flow4_to_3"
top: "concat3"
}
layer {
name: "Convolution4"
type: "Convolution"
bottom: "concat3"
top: "predict_flow3"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 1
decay_mult: 0
}
convolution_param {
num_output: 2
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "msra"
}
bias_filler {
type: "constant"
}
engine: CUDNN
}
}
layer {
name: "Downsample4"
type: "Downsample"
bottom: "scaled_flow_gt"
bottom: "predict_flow3"
top: "blob39"
propagate_down: false
propagate_down: false
}
layer {
name: "flow_loss3"
type: "L1Loss"
bottom: "predict_flow3"
bottom: "blob39"
top: "flow_loss3"
loss_weight: 0.01
l1_loss_param {
l2_per_location: true
}
}
layer {
name: "deconv2"
type: "Deconvolution"
bottom: "concat3"
top: "deconv2"
param {
lr_mult: 1
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
convolution_param {
num_output: 64
pad: 1
kernel_size: 4
stride: 2
weight_filler {
type: "msra"
}
bias_filler {
type: "constant"
}
engine: CUDNN
}
}
layer {
name: "ReLU14"
type: "ReLU"
bottom: "deconv2"
top: "deconv2"
relu_param {
negative_slope: 0.1
}
}
layer {
name: "upsample_flow3to2"
type: "Deconvolution"
bottom: "predict_flow3"
top: "upsampled_flow3_to_2"
param {
lr_mult: 1
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
convolution_param {
num_output: 2
pad: 1
kernel_size: 4
stride: 2
weight_filler {
type: "msra"
}
bias_filler {
type: "constant"
}
engine: CUDNN
}
}
layer {
name: "Concat5"
type: "Concat"
bottom: "conv2"
bottom: "deconv2"
bottom: "upsampled_flow3_to_2"
top: "concat2"
}
layer {
name: "Convolution5"
type: "Convolution"
bottom: "concat2"
top: "predict_flow2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 1
decay_mult: 0
}
convolution_param {
num_output: 2
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "msra"
}
bias_filler {
type: "constant"
}
engine: CUDNN
}
}
layer {
name: "Downsample5"
type: "Downsample"
bottom: "scaled_flow_gt"
bottom: "predict_flow2"
top: "blob44"
propagate_down: false
propagate_down: false
}
layer {
name: "flow_loss2"
type: "L1Loss"
bottom: "predict_flow2"
bottom: "blob44"
top: "flow_loss2"
loss_weight: 0.005
l1_loss_param {
l2_per_location: true
}
}
layer {
name: "Eltwise4"
type: "Eltwise"
bottom: "predict_flow2"
top: "blob45"
eltwise_param {
operation: SUM
coeff: 20.0
}
}
layer {
name: "Silence1"
type: "Silence"
bottom: "blob0"
}
layer {
name: "Silence2"
type: "Silence"
bottom: "blob1"
}
layer {
name: "Silence3"
type: "Silence"
bottom: "blob2"
}
layer {
name: "Silence4"
type: "Silence"
bottom: "blob3"
}
layer {
name: "Silence5"
type: "Silence"
bottom: "blob45"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment