Created
July 14, 2016 17:32
-
-
Save colegleason/7d4b946d69d1d188bba90299c8dc046a to your computer and use it in GitHub Desktop.
Deploy network for Posenet
This file contains hidden or 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: "GoogLeNet" | |
input: "data" | |
input_dim: 1 | |
input_dim: 3 | |
input_dim: 224 | |
input_dim: 224 | |
layers { | |
name: "conv1" | |
type: CONVOLUTION | |
bottom: "data" | |
top: "conv1" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 64 | |
kernel_size: 7 | |
stride: 2 | |
pad: 3 | |
weight_filler { | |
type: "gaussian" | |
std: 0.015 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu1" | |
type: RELU | |
bottom: "conv1" | |
top: "conv1" | |
} | |
layers { | |
name: "pool1" | |
type: POOLING | |
bottom: "conv1" | |
top: "pool1" | |
pooling_param { | |
pool: MAX | |
kernel_size: 3 | |
stride: 2 | |
pad: 0 | |
} | |
} | |
layers { | |
name: "norm1" | |
type: LRN | |
bottom: "pool1" | |
top: "norm1" | |
lrn_param { | |
local_size: 5 | |
alpha: 0.0001 | |
beta: 0.75 | |
} | |
} | |
layers { | |
name: "reduction2" | |
type: CONVOLUTION | |
bottom: "norm1" | |
top: "reduction2" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 64 | |
pad: 0 | |
kernel_size: 1 | |
group: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_reduction2" | |
type: RELU | |
bottom: "reduction2" | |
top: "reduction2" | |
} | |
layers { | |
name: "conv2" | |
type: CONVOLUTION | |
bottom: "reduction2" | |
top: "conv2" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 192 | |
pad: 1 | |
kernel_size: 3 | |
group: 1 | |
weight_filler { | |
type: "gaussian" | |
std: 0.02 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu2" | |
type: RELU | |
bottom: "conv2" | |
top: "conv2" | |
} | |
layers { | |
name: "norm2" | |
type: LRN | |
bottom: "conv2" | |
top: "norm2" | |
lrn_param { | |
local_size: 5 | |
alpha: 0.0001 | |
beta: 0.75 | |
} | |
} | |
layers { | |
name: "pool2" | |
type: POOLING | |
bottom: "norm2" | |
top: "pool2" | |
pooling_param { | |
pool: MAX | |
kernel_size: 3 | |
stride: 2 | |
pad: 0 | |
} | |
} | |
# Inception module 1 *************** | |
layers { | |
name: "icp1_reduction1" | |
type: CONVOLUTION | |
bottom: "pool2" | |
top: "icp1_reduction1" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 96 | |
pad: 0 | |
kernel_size: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_icp1_reduction1" | |
type: RELU | |
bottom: "icp1_reduction1" | |
top: "icp1_reduction1" | |
} | |
layers { | |
name: "icp1_reduction2" | |
type: CONVOLUTION | |
bottom: "pool2" | |
top: "icp1_reduction2" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 16 | |
pad: 0 | |
kernel_size: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_icp1_reduction2" | |
type: RELU | |
bottom: "icp1_reduction2" | |
top: "icp1_reduction2" | |
} | |
layers { | |
name: "icp1_pool" | |
type: POOLING | |
bottom: "pool2" | |
top: "icp1_pool" | |
pooling_param { | |
pool: MAX | |
kernel_size: 3 | |
stride: 1 | |
pad: 1 | |
} | |
} | |
# *********** | |
layers { | |
name: "icp1_out0" | |
type: CONVOLUTION | |
bottom: "pool2" | |
top: "icp1_out0" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 64 | |
pad: 0 | |
kernel_size: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_icp1_out0" | |
type: RELU | |
bottom: "icp1_out0" | |
top: "icp1_out0" | |
} | |
layers { | |
name: "icp1_out1" | |
type: CONVOLUTION | |
bottom: "icp1_reduction1" | |
top: "icp1_out1" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 128 | |
pad: 1 | |
kernel_size: 3 | |
weight_filler { | |
type: "gaussian" | |
std: 0.04 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_icp1_out1" | |
type: RELU | |
bottom: "icp1_out1" | |
top: "icp1_out1" | |
} | |
layers { | |
name: "icp1_out2" | |
type: CONVOLUTION | |
bottom: "icp1_reduction2" | |
top: "icp1_out2" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 32 | |
pad: 2 | |
kernel_size: 5 | |
weight_filler { | |
type: "gaussian" | |
std: 0.08 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_icp1_out2" | |
type: RELU | |
bottom: "icp1_out2" | |
top: "icp1_out2" | |
} | |
layers { | |
name: "icp1_out3" | |
type: CONVOLUTION | |
bottom: "icp1_pool" | |
top: "icp1_out3" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 32 | |
pad: 0 | |
kernel_size: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_icp1_out3" | |
type: RELU | |
bottom: "icp1_out3" | |
top: "icp1_out3" | |
} | |
# Concat them together | |
layers { | |
name: "icp2_in" | |
type: CONCAT | |
bottom: "icp1_out0" | |
bottom: "icp1_out1" | |
bottom: "icp1_out2" | |
bottom: "icp1_out3" | |
top: "icp2_in" | |
} | |
# Inception module 2 *************** | |
layers { | |
name: "icp2_reduction1" | |
type: CONVOLUTION | |
bottom: "icp2_in" | |
top: "icp2_reduction1" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 128 | |
pad: 0 | |
kernel_size: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_icp2_reduction1" | |
type: RELU | |
bottom: "icp2_reduction1" | |
top: "icp2_reduction1" | |
} | |
layers { | |
name: "icp2_reduction2" | |
type: CONVOLUTION | |
bottom: "icp2_in" | |
top: "icp2_reduction2" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 32 | |
pad: 0 | |
kernel_size: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_icp2_reduction2" | |
type: RELU | |
bottom: "icp2_reduction2" | |
top: "icp2_reduction2" | |
} | |
layers { | |
name: "icp2_pool" | |
type: POOLING | |
bottom: "icp2_in" | |
top: "icp2_pool" | |
pooling_param { | |
pool: MAX | |
kernel_size: 3 | |
stride: 1 | |
pad: 1 | |
} | |
} | |
# *********** | |
layers { | |
name: "icp2_out0" | |
type: CONVOLUTION | |
bottom: "icp2_in" | |
top: "icp2_out0" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 128 | |
pad: 0 | |
kernel_size: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_icp2_out0" | |
type: RELU | |
bottom: "icp2_out0" | |
top: "icp2_out0" | |
} | |
layers { | |
name: "icp2_out1" | |
type: CONVOLUTION | |
bottom: "icp2_reduction1" | |
top: "icp2_out1" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 192 | |
pad: 1 | |
kernel_size: 3 | |
weight_filler { | |
type: "gaussian" | |
std: 0.04 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_icp2_out1" | |
type: RELU | |
bottom: "icp2_out1" | |
top: "icp2_out1" | |
} | |
layers { | |
name: "icp2_out2" | |
type: CONVOLUTION | |
bottom: "icp2_reduction2" | |
top: "icp2_out2" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 96 | |
pad: 2 | |
kernel_size: 5 | |
weight_filler { | |
type: "gaussian" | |
std: 0.08 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_icp2_out2" | |
type: RELU | |
bottom: "icp2_out2" | |
top: "icp2_out2" | |
} | |
layers { | |
name: "icp2_out3" | |
type: CONVOLUTION | |
bottom: "icp2_pool" | |
top: "icp2_out3" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 64 | |
pad: 0 | |
kernel_size: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_icp2_out3" | |
type: RELU | |
bottom: "icp2_out3" | |
top: "icp2_out3" | |
} | |
# Concat them together | |
layers { | |
name: "icp2_out" | |
type: CONCAT | |
bottom: "icp2_out0" | |
bottom: "icp2_out1" | |
bottom: "icp2_out2" | |
bottom: "icp2_out3" | |
top: "icp2_out" | |
} | |
layers { | |
name: "icp3_in" | |
type: POOLING | |
bottom: "icp2_out" | |
top: "icp3_in" | |
pooling_param { | |
pool: MAX | |
kernel_size: 3 | |
stride: 2 | |
pad: 0 | |
} | |
} | |
# Inception module 3 *************** | |
layers { | |
name: "icp3_reduction1" | |
type: CONVOLUTION | |
bottom: "icp3_in" | |
top: "icp3_reduction1" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 96 | |
pad: 0 | |
kernel_size: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_icp3_reduction1" | |
type: RELU | |
bottom: "icp3_reduction1" | |
top: "icp3_reduction1" | |
} | |
layers { | |
name: "icp3_reduction2" | |
type: CONVOLUTION | |
bottom: "icp3_in" | |
top: "icp3_reduction2" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 16 | |
pad: 0 | |
kernel_size: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_icp3_reduction2" | |
type: RELU | |
bottom: "icp3_reduction2" | |
top: "icp3_reduction2" | |
} | |
layers { | |
name: "icp3_pool" | |
type: POOLING | |
bottom: "icp3_in" | |
top: "icp3_pool" | |
pooling_param { | |
pool: MAX | |
kernel_size: 3 | |
stride: 1 | |
pad: 1 | |
} | |
} | |
# *********** | |
layers { | |
name: "icp3_out0" | |
type: CONVOLUTION | |
bottom: "icp3_in" | |
top: "icp3_out0" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 192 | |
pad: 0 | |
kernel_size: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_icp3_out0" | |
type: RELU | |
bottom: "icp3_out0" | |
top: "icp3_out0" | |
} | |
layers { | |
name: "icp3_out1" | |
type: CONVOLUTION | |
bottom: "icp3_reduction1" | |
top: "icp3_out1" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 208 | |
pad: 1 | |
kernel_size: 3 | |
weight_filler { | |
type: "gaussian" | |
std: 0.04 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_icp3_out1" | |
type: RELU | |
bottom: "icp3_out1" | |
top: "icp3_out1" | |
} | |
layers { | |
name: "icp3_out2" | |
type: CONVOLUTION | |
bottom: "icp3_reduction2" | |
top: "icp3_out2" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 48 | |
pad: 2 | |
kernel_size: 5 | |
weight_filler { | |
type: "gaussian" | |
std: 0.08 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_icp3_out2" | |
type: RELU | |
bottom: "icp3_out2" | |
top: "icp3_out2" | |
} | |
layers { | |
name: "icp3_out3" | |
type: CONVOLUTION | |
bottom: "icp3_pool" | |
top: "icp3_out3" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 64 | |
pad: 0 | |
kernel_size: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_icp3_out3" | |
type: RELU | |
bottom: "icp3_out3" | |
top: "icp3_out3" | |
} | |
# Concat them together | |
layers { | |
name: "icp3_out" | |
type: CONCAT | |
bottom: "icp3_out0" | |
bottom: "icp3_out1" | |
bottom: "icp3_out2" | |
bottom: "icp3_out3" | |
top: "icp3_out" | |
} | |
# first classification branch ************ | |
layers { | |
name: "cls1_pool" | |
type: POOLING | |
bottom: "icp3_out" | |
top: "cls1_pool" | |
pooling_param { | |
pool: AVE | |
kernel_size: 5 | |
stride: 3 | |
pad: 0 | |
# this padding is somewhat special | |
} | |
} | |
layers { | |
name: "cls1_reduction_pose" | |
type: CONVOLUTION | |
bottom: "cls1_pool" | |
top: "cls1_reduction" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 128 | |
pad: 0 | |
kernel_size: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_cls1_reduction" | |
type: RELU | |
bottom: "cls1_reduction" | |
top: "cls1_reduction" | |
} | |
layers { | |
name: "cls1_fc1_pose" | |
type: INNER_PRODUCT | |
bottom: "cls1_reduction" | |
top: "cls1_fc1" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
inner_product_param { | |
num_output: 1024 | |
weight_filler { | |
type: "gaussian" | |
std: 0.01 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_cls1_fc1" | |
type: RELU | |
bottom: "cls1_fc1" | |
top: "cls1_fc1" | |
} | |
layers { | |
name: "cls1_drop" | |
type: DROPOUT | |
bottom: "cls1_fc1" | |
top: "cls1_fc1" | |
dropout_param { | |
dropout_ratio: 0.7 | |
} | |
} | |
layers { | |
name: "cls1_fc_pose_xyz" | |
type: INNER_PRODUCT | |
bottom: "cls1_fc1" | |
top: "cls1_fc_xyz" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
inner_product_param { | |
num_output: 3 | |
weight_filler { | |
type: "gaussian" | |
std: 0.5 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "cls1_fc_pose_wpqr" | |
type: INNER_PRODUCT | |
bottom: "cls1_fc1" | |
top: "cls1_fc_wpqr" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
inner_product_param { | |
num_output: 4 | |
weight_filler { | |
type: "gaussian" | |
std: 0.01 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
# Inception module 4 *************** | |
layers { | |
name: "icp4_reduction1" | |
type: CONVOLUTION | |
bottom: "icp3_out" | |
top: "icp4_reduction1" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 112 | |
pad: 0 | |
kernel_size: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_icp4_reduction1" | |
type: RELU | |
bottom: "icp4_reduction1" | |
top: "icp4_reduction1" | |
} | |
layers { | |
name: "icp4_reduction2" | |
type: CONVOLUTION | |
bottom: "icp3_out" | |
top: "icp4_reduction2" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 24 | |
pad: 0 | |
kernel_size: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_icp4_reduction2" | |
type: RELU | |
bottom: "icp4_reduction2" | |
top: "icp4_reduction2" | |
} | |
layers { | |
name: "icp4_pool" | |
type: POOLING | |
bottom: "icp3_out" | |
top: "icp4_pool" | |
pooling_param { | |
pool: MAX | |
kernel_size: 3 | |
stride: 1 | |
pad: 1 | |
} | |
} | |
# *********** | |
layers { | |
name: "icp4_out0" | |
type: CONVOLUTION | |
bottom: "icp3_out" | |
top: "icp4_out0" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 160 | |
pad: 0 | |
kernel_size: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_icp4_out0" | |
type: RELU | |
bottom: "icp4_out0" | |
top: "icp4_out0" | |
} | |
layers { | |
name: "icp4_out1" | |
type: CONVOLUTION | |
bottom: "icp4_reduction1" | |
top: "icp4_out1" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 224 | |
pad: 1 | |
kernel_size: 3 | |
weight_filler { | |
type: "gaussian" | |
std: 0.04 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_icp4_out1" | |
type: RELU | |
bottom: "icp4_out1" | |
top: "icp4_out1" | |
} | |
layers { | |
name: "icp4_out2" | |
type: CONVOLUTION | |
bottom: "icp4_reduction2" | |
top: "icp4_out2" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 64 | |
pad: 2 | |
kernel_size: 5 | |
weight_filler { | |
type: "gaussian" | |
std: 0.08 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_icp4_out2" | |
type: RELU | |
bottom: "icp4_out2" | |
top: "icp4_out2" | |
} | |
layers { | |
name: "icp4_out3" | |
type: CONVOLUTION | |
bottom: "icp4_pool" | |
top: "icp4_out3" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 64 | |
pad: 0 | |
kernel_size: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_icp4_out3" | |
type: RELU | |
bottom: "icp4_out3" | |
top: "icp4_out3" | |
} | |
# Concat them together | |
layers { | |
name: "icp4_out" | |
type: CONCAT | |
bottom: "icp4_out0" | |
bottom: "icp4_out1" | |
bottom: "icp4_out2" | |
bottom: "icp4_out3" | |
top: "icp4_out" | |
} | |
# Inception module 5 *************** | |
layers { | |
name: "icp5_reduction1" | |
type: CONVOLUTION | |
bottom: "icp4_out" | |
top: "icp5_reduction1" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 128 | |
pad: 0 | |
kernel_size: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_icp5_reduction1" | |
type: RELU | |
bottom: "icp5_reduction1" | |
top: "icp5_reduction1" | |
} | |
layers { | |
name: "icp5_reduction2" | |
type: CONVOLUTION | |
bottom: "icp4_out" | |
top: "icp5_reduction2" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 24 | |
pad: 0 | |
kernel_size: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_icp5_reduction2" | |
type: RELU | |
bottom: "icp5_reduction2" | |
top: "icp5_reduction2" | |
} | |
layers { | |
name: "icp5_pool" | |
type: POOLING | |
bottom: "icp4_out" | |
top: "icp5_pool" | |
pooling_param { | |
pool: MAX | |
kernel_size: 3 | |
stride: 1 | |
pad: 1 | |
} | |
} | |
# *********** | |
layers { | |
name: "icp5_out0" | |
type: CONVOLUTION | |
bottom: "icp4_out" | |
top: "icp5_out0" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 128 | |
pad: 0 | |
kernel_size: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_icp5_out0" | |
type: RELU | |
bottom: "icp5_out0" | |
top: "icp5_out0" | |
} | |
layers { | |
name: "icp5_out1" | |
type: CONVOLUTION | |
bottom: "icp5_reduction1" | |
top: "icp5_out1" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 256 | |
pad: 1 | |
kernel_size: 3 | |
weight_filler { | |
type: "gaussian" | |
std: 0.04 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_icp5_out1" | |
type: RELU | |
bottom: "icp5_out1" | |
top: "icp5_out1" | |
} | |
layers { | |
name: "icp5_out2" | |
type: CONVOLUTION | |
bottom: "icp5_reduction2" | |
top: "icp5_out2" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 64 | |
pad: 2 | |
kernel_size: 5 | |
weight_filler { | |
type: "gaussian" | |
std: 0.08 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_icp5_out2" | |
type: RELU | |
bottom: "icp5_out2" | |
top: "icp5_out2" | |
} | |
layers { | |
name: "icp5_out3" | |
type: CONVOLUTION | |
bottom: "icp5_pool" | |
top: "icp5_out3" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 64 | |
pad: 0 | |
kernel_size: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_icp5_out3" | |
type: RELU | |
bottom: "icp5_out3" | |
top: "icp5_out3" | |
} | |
# Concat them together | |
layers { | |
name: "icp5_out" | |
type: CONCAT | |
bottom: "icp5_out0" | |
bottom: "icp5_out1" | |
bottom: "icp5_out2" | |
bottom: "icp5_out3" | |
top: "icp5_out" | |
} | |
# Inception module 6 *************** | |
layers { | |
name: "icp6_reduction1" | |
type: CONVOLUTION | |
bottom: "icp5_out" | |
top: "icp6_reduction1" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 144 | |
pad: 0 | |
kernel_size: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_icp6_reduction1" | |
type: RELU | |
bottom: "icp6_reduction1" | |
top: "icp6_reduction1" | |
} | |
layers { | |
name: "icp6_reduction2" | |
type: CONVOLUTION | |
bottom: "icp5_out" | |
top: "icp6_reduction2" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 32 | |
pad: 0 | |
kernel_size: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_icp6_reduction2" | |
type: RELU | |
bottom: "icp6_reduction2" | |
top: "icp6_reduction2" | |
} | |
layers { | |
name: "icp6_pool" | |
type: POOLING | |
bottom: "icp5_out" | |
top: "icp6_pool" | |
pooling_param { | |
pool: MAX | |
kernel_size: 3 | |
stride: 1 | |
pad: 1 | |
} | |
} | |
# *********** | |
layers { | |
name: "icp6_out0" | |
type: CONVOLUTION | |
bottom: "icp5_out" | |
top: "icp6_out0" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 112 | |
pad: 0 | |
kernel_size: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_icp6_out0" | |
type: RELU | |
bottom: "icp6_out0" | |
top: "icp6_out0" | |
} | |
layers { | |
name: "icp6_out1" | |
type: CONVOLUTION | |
bottom: "icp6_reduction1" | |
top: "icp6_out1" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 288 | |
pad: 1 | |
kernel_size: 3 | |
weight_filler { | |
type: "gaussian" | |
std: 0.04 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_icp6_out1" | |
type: RELU | |
bottom: "icp6_out1" | |
top: "icp6_out1" | |
} | |
layers { | |
name: "icp6_out2" | |
type: CONVOLUTION | |
bottom: "icp6_reduction2" | |
top: "icp6_out2" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 64 | |
pad: 2 | |
kernel_size: 5 | |
weight_filler { | |
type: "gaussian" | |
std: 0.08 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_icp6_out2" | |
type: RELU | |
bottom: "icp6_out2" | |
top: "icp6_out2" | |
} | |
layers { | |
name: "icp6_out3" | |
type: CONVOLUTION | |
bottom: "icp6_pool" | |
top: "icp6_out3" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 64 | |
pad: 0 | |
kernel_size: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_icp6_out3" | |
type: RELU | |
bottom: "icp6_out3" | |
top: "icp6_out3" | |
} | |
# Concat them together | |
layers { | |
name: "icp6_out" | |
type: CONCAT | |
bottom: "icp6_out0" | |
bottom: "icp6_out1" | |
bottom: "icp6_out2" | |
bottom: "icp6_out3" | |
top: "icp6_out" | |
} | |
# second classification branch ************ | |
layers { | |
name: "cls2_pool" | |
type: POOLING | |
bottom: "icp6_out" | |
top: "cls2_pool" | |
pooling_param { | |
pool: AVE | |
kernel_size: 5 | |
stride: 3 | |
pad: 0 | |
# this padding is somewhat special | |
} | |
} | |
layers { | |
name: "cls2_reduction_pose" | |
type: CONVOLUTION | |
bottom: "cls2_pool" | |
top: "cls2_reduction" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 128 | |
pad: 0 | |
kernel_size: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_cls2_reduction" | |
type: RELU | |
bottom: "cls2_reduction" | |
top: "cls2_reduction" | |
} | |
layers { | |
name: "cls2_fc1" | |
type: INNER_PRODUCT | |
bottom: "cls2_reduction" | |
top: "cls2_fc1" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
inner_product_param { | |
num_output: 1024 | |
weight_filler { | |
type: "gaussian" | |
std: 0.01 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_cls2_fc1" | |
type: RELU | |
bottom: "cls2_fc1" | |
top: "cls2_fc1" | |
} | |
layers { | |
name: "cls2_drop" | |
type: DROPOUT | |
bottom: "cls2_fc1" | |
top: "cls2_fc1" | |
dropout_param { | |
dropout_ratio: 0.7 | |
} | |
} | |
layers { | |
name: "cls2_fc_pose_xyz" | |
type: INNER_PRODUCT | |
bottom: "cls2_fc1" | |
top: "cls2_fc_xyz" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
inner_product_param { | |
num_output: 3 | |
weight_filler { | |
type: "gaussian" | |
std: 0.5 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "cls2_fc_pose_wpqr" | |
type: INNER_PRODUCT | |
bottom: "cls2_fc1" | |
top: "cls2_fc_wpqr" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
inner_product_param { | |
num_output: 4 | |
weight_filler { | |
type: "gaussian" | |
std: 0.01 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
# Inception module 7 *************** | |
layers { | |
name: "icp7_reduction1" | |
type: CONVOLUTION | |
bottom: "icp6_out" | |
top: "icp7_reduction1" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 160 | |
pad: 0 | |
kernel_size: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_icp7_reduction1" | |
type: RELU | |
bottom: "icp7_reduction1" | |
top: "icp7_reduction1" | |
} | |
layers { | |
name: "icp7_reduction2" | |
type: CONVOLUTION | |
bottom: "icp6_out" | |
top: "icp7_reduction2" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 32 | |
pad: 0 | |
kernel_size: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_icp7_reduction2" | |
type: RELU | |
bottom: "icp7_reduction2" | |
top: "icp7_reduction2" | |
} | |
layers { | |
name: "icp7_pool" | |
type: POOLING | |
bottom: "icp6_out" | |
top: "icp7_pool" | |
pooling_param { | |
pool: MAX | |
kernel_size: 3 | |
stride: 1 | |
pad: 1 | |
} | |
} | |
# *********** | |
layers { | |
name: "icp7_out0" | |
type: CONVOLUTION | |
bottom: "icp6_out" | |
top: "icp7_out0" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 256 | |
pad: 0 | |
kernel_size: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_icp7_out0" | |
type: RELU | |
bottom: "icp7_out0" | |
top: "icp7_out0" | |
} | |
layers { | |
name: "icp7_out1" | |
type: CONVOLUTION | |
bottom: "icp7_reduction1" | |
top: "icp7_out1" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 320 | |
pad: 1 | |
kernel_size: 3 | |
weight_filler { | |
type: "gaussian" | |
std: 0.04 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_icp7_out1" | |
type: RELU | |
bottom: "icp7_out1" | |
top: "icp7_out1" | |
} | |
layers { | |
name: "icp7_out2" | |
type: CONVOLUTION | |
bottom: "icp7_reduction2" | |
top: "icp7_out2" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 128 | |
pad: 2 | |
kernel_size: 5 | |
weight_filler { | |
type: "gaussian" | |
std: 0.08 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_icp7_out2" | |
type: RELU | |
bottom: "icp7_out2" | |
top: "icp7_out2" | |
} | |
layers { | |
name: "icp7_out3" | |
type: CONVOLUTION | |
bottom: "icp7_pool" | |
top: "icp7_out3" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 128 | |
pad: 0 | |
kernel_size: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_icp7_out3" | |
type: RELU | |
bottom: "icp7_out3" | |
top: "icp7_out3" | |
} | |
# Concat them together | |
layers { | |
name: "icp7_out" | |
type: CONCAT | |
bottom: "icp7_out0" | |
bottom: "icp7_out1" | |
bottom: "icp7_out2" | |
bottom: "icp7_out3" | |
top: "icp7_out" | |
} | |
layers { | |
name: "icp8_in" | |
type: POOLING | |
bottom: "icp7_out" | |
top: "icp8_in" | |
pooling_param { | |
pool: MAX | |
kernel_size: 3 | |
stride: 2 | |
pad: 0 | |
} | |
} | |
# Inception module 8 *************** | |
layers { | |
name: "icp8_reduction1" | |
type: CONVOLUTION | |
bottom: "icp8_in" | |
top: "icp8_reduction1" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 160 | |
pad: 0 | |
kernel_size: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_icp8_reduction1" | |
type: RELU | |
bottom: "icp8_reduction1" | |
top: "icp8_reduction1" | |
} | |
layers { | |
name: "icp8_reduction2" | |
type: CONVOLUTION | |
bottom: "icp8_in" | |
top: "icp8_reduction2" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 32 | |
pad: 0 | |
kernel_size: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_icp8_reduction2" | |
type: RELU | |
bottom: "icp8_reduction2" | |
top: "icp8_reduction2" | |
} | |
layers { | |
name: "icp8_pool" | |
type: POOLING | |
bottom: "icp8_in" | |
top: "icp8_pool" | |
pooling_param { | |
pool: MAX | |
kernel_size: 3 | |
stride: 1 | |
pad: 1 | |
} | |
} | |
# *********** | |
layers { | |
name: "icp8_out0" | |
type: CONVOLUTION | |
bottom: "icp8_in" | |
top: "icp8_out0" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 256 | |
pad: 0 | |
kernel_size: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_icp8_out0" | |
type: RELU | |
bottom: "icp8_out0" | |
top: "icp8_out0" | |
} | |
layers { | |
name: "icp8_out1" | |
type: CONVOLUTION | |
bottom: "icp8_reduction1" | |
top: "icp8_out1" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 320 | |
pad: 1 | |
kernel_size: 3 | |
weight_filler { | |
type: "gaussian" | |
std: 0.04 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_icp8_out1" | |
type: RELU | |
bottom: "icp8_out1" | |
top: "icp8_out1" | |
} | |
layers { | |
name: "icp8_out2" | |
type: CONVOLUTION | |
bottom: "icp8_reduction2" | |
top: "icp8_out2" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 128 | |
pad: 2 | |
kernel_size: 5 | |
weight_filler { | |
type: "gaussian" | |
std: 0.08 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_icp8_out2" | |
type: RELU | |
bottom: "icp8_out2" | |
top: "icp8_out2" | |
} | |
layers { | |
name: "icp8_out3" | |
type: CONVOLUTION | |
bottom: "icp8_pool" | |
top: "icp8_out3" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 128 | |
pad: 0 | |
kernel_size: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_icp8_out3" | |
type: RELU | |
bottom: "icp8_out3" | |
top: "icp8_out3" | |
} | |
# Concat them together | |
layers { | |
name: "icp8_out" | |
type: CONCAT | |
bottom: "icp8_out0" | |
bottom: "icp8_out1" | |
bottom: "icp8_out2" | |
bottom: "icp8_out3" | |
top: "icp8_out" | |
} | |
# Inception module 9 *************** | |
layers { | |
name: "icp9_reduction1" | |
type: CONVOLUTION | |
bottom: "icp8_out" | |
top: "icp9_reduction1" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 192 | |
pad: 0 | |
kernel_size: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_icp9_reduction1" | |
type: RELU | |
bottom: "icp9_reduction1" | |
top: "icp9_reduction1" | |
} | |
layers { | |
name: "icp9_reduction2" | |
type: CONVOLUTION | |
bottom: "icp8_out" | |
top: "icp9_reduction2" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 48 | |
pad: 0 | |
kernel_size: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_icp9_reduction2" | |
type: RELU | |
bottom: "icp9_reduction2" | |
top: "icp9_reduction2" | |
} | |
layers { | |
name: "icp9_pool" | |
type: POOLING | |
bottom: "icp8_out" | |
top: "icp9_pool" | |
pooling_param { | |
pool: MAX | |
kernel_size: 3 | |
stride: 1 | |
pad: 1 | |
} | |
} | |
# *********** | |
layers { | |
name: "icp9_out0" | |
type: CONVOLUTION | |
bottom: "icp8_out" | |
top: "icp9_out0" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 384 | |
pad: 0 | |
kernel_size: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_icp9_out0" | |
type: RELU | |
bottom: "icp9_out0" | |
top: "icp9_out0" | |
} | |
layers { | |
name: "icp9_out1" | |
type: CONVOLUTION | |
bottom: "icp9_reduction1" | |
top: "icp9_out1" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 384 | |
pad: 1 | |
kernel_size: 3 | |
weight_filler { | |
type: "gaussian" | |
std: 0.04 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_icp9_out1" | |
type: RELU | |
bottom: "icp9_out1" | |
top: "icp9_out1" | |
} | |
layers { | |
name: "icp9_out2" | |
type: CONVOLUTION | |
bottom: "icp9_reduction2" | |
top: "icp9_out2" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 128 | |
pad: 2 | |
kernel_size: 5 | |
weight_filler { | |
type: "gaussian" | |
std: 0.08 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_icp9_out2" | |
type: RELU | |
bottom: "icp9_out2" | |
top: "icp9_out2" | |
} | |
layers { | |
name: "icp9_out3" | |
type: CONVOLUTION | |
bottom: "icp9_pool" | |
top: "icp9_out3" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
convolution_param { | |
num_output: 128 | |
pad: 0 | |
kernel_size: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_icp9_out3" | |
type: RELU | |
bottom: "icp9_out3" | |
top: "icp9_out3" | |
} | |
# Concat them together | |
layers { | |
name: "icp9_out" | |
type: CONCAT | |
bottom: "icp9_out0" | |
bottom: "icp9_out1" | |
bottom: "icp9_out2" | |
bottom: "icp9_out3" | |
top: "icp9_out" | |
} | |
# third classification branch | |
layers { | |
name: "cls3_pool" | |
type: POOLING | |
bottom: "icp9_out" | |
top: "cls3_pool" | |
pooling_param { | |
pool: AVE | |
kernel_size: 7 | |
stride: 1 | |
pad: 0 | |
# This padding is somewhat special | |
} | |
} | |
layers { | |
name: "cls3_fc1_pose" | |
type: INNER_PRODUCT | |
bottom: "cls3_pool" | |
top: "cls3_fc1" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
inner_product_param { | |
num_output: 2048 | |
weight_filler { | |
type: "gaussian" | |
std: 0.01 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "relu_cls3_fc1_2" | |
type: RELU | |
bottom: "cls3_fc1" | |
top: "cls3_fc1" | |
} | |
layers { | |
name: "cls3_drop" | |
type: DROPOUT | |
bottom: "cls3_fc1" | |
top: "cls3_fc1" | |
dropout_param { | |
dropout_ratio: 0.5 | |
} | |
} | |
layers { | |
name: "cls3_fc_pose_xyz" | |
type: INNER_PRODUCT | |
bottom: "cls3_fc1" | |
top: "cls3_fc_xyz" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
inner_product_param { | |
num_output: 3 | |
weight_filler { | |
type: "gaussian" | |
std: 0.5 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layers { | |
name: "cls3_fc_pose_wpqr" | |
type: INNER_PRODUCT | |
bottom: "cls3_fc1" | |
top: "cls3_fc_wpqr" | |
blobs_lr: 1 | |
blobs_lr: 2 | |
weight_decay: 1 | |
weight_decay: 0 | |
inner_product_param { | |
num_output: 4 | |
weight_filler { | |
type: "gaussian" | |
std: 0.01 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Hi Colegleason,
I am a new user and I have trained the posenet model by using my own dataset and now I want to get predictions from this model.
Can you please advise me how to achieve that?
Regards