Skip to content

Instantly share code, notes, and snippets.

@tonycao
Created April 26, 2017 00:21
Show Gist options
  • Save tonycao/74d8169227c6931a7b8d5d5952d5fb03 to your computer and use it in GitHub Desktop.
Save tonycao/74d8169227c6931a7b8d5d5952d5fb03 to your computer and use it in GitHub Desktop.
layer {
name: "Image1"
type: "ImageData"
top: "img0"
include {
phase: TRAIN
}
image_data_param {
source: "img1_list.txt"
root_folder: "./"
batch_size: 8
}
}
layer {
name: "Image2"
type: "ImageData"
top: "img1"
include {
phase: TRAIN
}
image_data_param {
source: "img2_list.txt"
root_folder: "./"
batch_size: 8
}
}
layer {
name: "Flow"
type: "FloData"
top: "flow_gt_aug"
include {
phase: TRAIN
}
image_data_param {
source: "flo_list.txt"
root_folder: "./"
batch_size: 8
}
}
layer {
name: "Image1"
type: "ImageData"
top: "img0"
include {
phase: TEST
}
image_data_param {
source: "img1_list_test.txt"
root_folder: "./"
batch_size: 8
}
}
layer {
name: "Image2"
type: "ImageData"
top: "img1"
include {
phase: TEST
}
image_data_param {
source: "img2_list_test.txt"
root_folder: "./"
batch_size: 8
}
}
layer {
name: "Flow"
type: "FloData"
top: "flow_gt_aug"
include {
phase: TEST
}
image_data_param {
source: "flo_list_test.txt"
root_folder: "./"
batch_size: 8
}
}
layer {
name: "Mean1"
type: "Mean"
bottom: "img0"
top: "img0_aug"
mean_param {
operation: SUBTRACT
input_scale: 0.0039216
value: 0.411451
value: 0.432060
value: 0.450141
}
}
layer {
name: "Mean2"
type: "Mean"
bottom: "img1"
top: "img1_aug"
mean_param {
operation: SUBTRACT
input_scale: 0.0039216
value: 0.410602
value: 0.431021
value: 0.448553
}
}
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"
}
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"
}
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"
}
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"
}
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"
}
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: "final_predict_flow"
# eltwise_param {
# operation: SUM
# coeff: 20.0
# }
# }
# layer {
# name: "Out1"
# type: "HDF5Output"
# bottom: "img0_aug"
# bottom: "img1_aug"
# hdf5_output_param {
# file_name: "input_images.hdf5"
# }
# }
# layer {
# name: "Out2"
# type: "HDF5Output"
# bottom: "flow_gt_aug"
# bottom: "predict_flow2"
# hdf5_output_param {
# file_name: "input_flow.hdf5"
# }
# }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment