xxradon / PytorchToCaffe

Pytorch model to caffe model, supported pytorch 0.3, 0.3.1, 0.4, 0.4.1 ,1.0 , 1.0.1 , 1.2 ,1.3 .notice that only pytorch 1.1 have some bugs
MIT License
782 stars 224 forks source link

Convert model accuracy drop about 8% #20

Open raninbowlalala opened 5 years ago

raninbowlalala commented 5 years ago

Hi, I use your project to convert inceptionV3 from pytorch to caffe. The original pytorch model is from', the Top-1 accuracy is about 77%, after I conveted, I test the caffemodel and prototxt on Imagenet val dataset and I got Top-1 accuracy is 69%. Can you help me? The prototxt is as below: `name: "inception_v3"

layer { name: "data"

type: "Data"

type: "ImageData" top: "blob1" top: "label" transform_param { scale: 0.0078125 mirror: false crop_size: 299 mean_value: 128.0 mean_value: 128.0 mean_value: 128.0 } image_data_param { source: "~/imagenet/val.txt" new_height: 324 new_width: 324 batch_size: 20 } } layer { name: "conv1" type: "Convolution" bottom: "blob1" top: "conv_blob1" convolution_param { num_output: 32 bias_term: false pad: 0 kernel_size: 3 group: 1 stride: 2 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm1" type: "BatchNorm" bottom: "conv_blob1" top: "batch_norm_blob1" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale1" type: "Scale" bottom: "batch_norm_blob1" top: "batch_norm_blob1" scale_param { bias_term: true } } layer { name: "relu1" type: "ReLU" bottom: "batch_norm_blob1" top: "relu_blob1" } layer { name: "conv2" type: "Convolution" bottom: "relu_blob1" top: "conv_blob2" convolution_param { num_output: 32 bias_term: false pad: 0 kernel_size: 3 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm2" type: "BatchNorm" bottom: "conv_blob2" top: "batch_norm_blob2" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale2" type: "Scale" bottom: "batch_norm_blob2" top: "batch_norm_blob2" scale_param { bias_term: true } } layer { name: "relu2" type: "ReLU" bottom: "batch_norm_blob2" top: "relu_blob2" } layer { name: "conv3" type: "Convolution" bottom: "relu_blob2" top: "conv_blob3" convolution_param { num_output: 64 bias_term: false pad: 1 kernel_size: 3 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm3" type: "BatchNorm" bottom: "conv_blob3" top: "batch_norm_blob3" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale3" type: "Scale" bottom: "batch_norm_blob3" top: "batch_norm_blob3" scale_param { bias_term: true } } layer { name: "relu3" type: "ReLU" bottom: "batch_norm_blob3" top: "relu_blob3" } layer { name: "max_pool1" type: "Pooling" bottom: "relu_blob3" top: "max_pool_blob1" pooling_param { pool: MAX kernel_size: 3 stride: 2 } } layer { name: "conv4" type: "Convolution" bottom: "max_pool_blob1" top: "conv_blob4" convolution_param { num_output: 80 bias_term: false pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm4" type: "BatchNorm" bottom: "conv_blob4" top: "batch_norm_blob4" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale4" type: "Scale" bottom: "batch_norm_blob4" top: "batch_norm_blob4" scale_param { bias_term: true } } layer { name: "relu4" type: "ReLU" bottom: "batch_norm_blob4" top: "relu_blob4" } layer { name: "conv5" type: "Convolution" bottom: "relu_blob4" top: "conv_blob5" convolution_param { num_output: 192 bias_term: false pad: 0 kernel_size: 3 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm5" type: "BatchNorm" bottom: "conv_blob5" top: "batch_norm_blob5" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale5" type: "Scale" bottom: "batch_norm_blob5" top: "batch_norm_blob5" scale_param { bias_term: true } } layer { name: "relu5" type: "ReLU" bottom: "batch_norm_blob5" top: "relu_blob5" } layer { name: "max_pool2" type: "Pooling" bottom: "relu_blob5" top: "max_pool_blob2" pooling_param { pool: MAX kernel_size: 3 stride: 2 } } layer { name: "conv6" type: "Convolution" bottom: "max_pool_blob2" top: "conv_blob6" convolution_param { num_output: 64 bias_term: false pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm6" type: "BatchNorm" bottom: "conv_blob6" top: "batch_norm_blob6" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale6" type: "Scale" bottom: "batch_norm_blob6" top: "batch_norm_blob6" scale_param { bias_term: true } } layer { name: "relu6" type: "ReLU" bottom: "batch_norm_blob6" top: "relu_blob6" } layer { name: "conv7" type: "Convolution" bottom: "max_pool_blob2" top: "conv_blob7" convolution_param { num_output: 48 bias_term: false pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm7" type: "BatchNorm" bottom: "conv_blob7" top: "batch_norm_blob7" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale7" type: "Scale" bottom: "batch_norm_blob7" top: "batch_norm_blob7" scale_param { bias_term: true } } layer { name: "relu7" type: "ReLU" bottom: "batch_norm_blob7" top: "relu_blob7" } layer { name: "conv8" type: "Convolution" bottom: "relu_blob7" top: "conv_blob8" convolution_param { num_output: 64 bias_term: false pad: 2 kernel_size: 5 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm8" type: "BatchNorm" bottom: "conv_blob8" top: "batch_norm_blob8" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale8" type: "Scale" bottom: "batch_norm_blob8" top: "batch_norm_blob8" scale_param { bias_term: true } } layer { name: "relu8" type: "ReLU" bottom: "batch_norm_blob8" top: "relu_blob8" } layer { name: "conv9" type: "Convolution" bottom: "max_pool_blob2" top: "conv_blob9" convolution_param { num_output: 64 bias_term: false pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm9" type: "BatchNorm" bottom: "conv_blob9" top: "batch_norm_blob9" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale9" type: "Scale" bottom: "batch_norm_blob9" top: "batch_norm_blob9" scale_param { bias_term: true } } layer { name: "relu9" type: "ReLU" bottom: "batch_norm_blob9" top: "relu_blob9" } layer { name: "conv10" type: "Convolution" bottom: "relu_blob9" top: "conv_blob10" convolution_param { num_output: 96 bias_term: false pad: 1 kernel_size: 3 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm10" type: "BatchNorm" bottom: "conv_blob10" top: "batch_norm_blob10" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale10" type: "Scale" bottom: "batch_norm_blob10" top: "batch_norm_blob10" scale_param { bias_term: true } } layer { name: "relu10" type: "ReLU" bottom: "batch_norm_blob10" top: "relu_blob10" } layer { name: "conv11" type: "Convolution" bottom: "relu_blob10" top: "conv_blob11" convolution_param { num_output: 96 bias_term: false pad: 1 kernel_size: 3 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm11" type: "BatchNorm" bottom: "conv_blob11" top: "batch_norm_blob11" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale11" type: "Scale" bottom: "batch_norm_blob11" top: "batch_norm_blob11" scale_param { bias_term: true } } layer { name: "relu11" type: "ReLU" bottom: "batch_norm_blob11" top: "relu_blob11" } layer { name: "ave_pool1" type: "Pooling" bottom: "max_pool_blob2" top: "ave_pool_blob1" pooling_param { pool: AVE kernel_size: 3 stride: 1 pad: 1 } } layer { name: "conv12" type: "Convolution" bottom: "ave_pool_blob1" top: "conv_blob12" convolution_param { num_output: 32 bias_term: false pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm12" type: "BatchNorm" bottom: "conv_blob12" top: "batch_norm_blob12" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale12" type: "Scale" bottom: "batch_norm_blob12" top: "batch_norm_blob12" scale_param { bias_term: true } } layer { name: "relu12" type: "ReLU" bottom: "batch_norm_blob12" top: "relu_blob12" } layer { name: "cat1" type: "Concat" bottom: "relu_blob6" bottom: "relu_blob8" bottom: "relu_blob11" bottom: "relu_blob12" top: "cat_blob1" concat_param { axis: 1 } } layer { name: "conv13" type: "Convolution" bottom: "cat_blob1" top: "conv_blob13" convolution_param { num_output: 64 bias_term: false pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm13" type: "BatchNorm" bottom: "conv_blob13" top: "batch_norm_blob13" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale13" type: "Scale" bottom: "batch_norm_blob13" top: "batch_norm_blob13" scale_param { bias_term: true } } layer { name: "relu13" type: "ReLU" bottom: "batch_norm_blob13" top: "relu_blob13" } layer { name: "conv14" type: "Convolution" bottom: "cat_blob1" top: "conv_blob14" convolution_param { num_output: 48 bias_term: false pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm14" type: "BatchNorm" bottom: "conv_blob14" top: "batch_norm_blob14" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale14" type: "Scale" bottom: "batch_norm_blob14" top: "batch_norm_blob14" scale_param { bias_term: true } } layer { name: "relu14" type: "ReLU" bottom: "batch_norm_blob14" top: "relu_blob14" } layer { name: "conv15" type: "Convolution" bottom: "relu_blob14" top: "conv_blob15" convolution_param { num_output: 64 bias_term: false pad: 2 kernel_size: 5 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm15" type: "BatchNorm" bottom: "conv_blob15" top: "batch_norm_blob15" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale15" type: "Scale" bottom: "batch_norm_blob15" top: "batch_norm_blob15" scale_param { bias_term: true } } layer { name: "relu15" type: "ReLU" bottom: "batch_norm_blob15" top: "relu_blob15" } layer { name: "conv16" type: "Convolution" bottom: "cat_blob1" top: "conv_blob16" convolution_param { num_output: 64 bias_term: false pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm16" type: "BatchNorm" bottom: "conv_blob16" top: "batch_norm_blob16" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale16" type: "Scale" bottom: "batch_norm_blob16" top: "batch_norm_blob16" scale_param { bias_term: true } } layer { name: "relu16" type: "ReLU" bottom: "batch_norm_blob16" top: "relu_blob16" } layer { name: "conv17" type: "Convolution" bottom: "relu_blob16" top: "conv_blob17" convolution_param { num_output: 96 bias_term: false pad: 1 kernel_size: 3 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm17" type: "BatchNorm" bottom: "conv_blob17" top: "batch_norm_blob17" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale17" type: "Scale" bottom: "batch_norm_blob17" top: "batch_norm_blob17" scale_param { bias_term: true } } layer { name: "relu17" type: "ReLU" bottom: "batch_norm_blob17" top: "relu_blob17" } layer { name: "conv18" type: "Convolution" bottom: "relu_blob17" top: "conv_blob18" convolution_param { num_output: 96 bias_term: false pad: 1 kernel_size: 3 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm18" type: "BatchNorm" bottom: "conv_blob18" top: "batch_norm_blob18" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale18" type: "Scale" bottom: "batch_norm_blob18" top: "batch_norm_blob18" scale_param { bias_term: true } } layer { name: "relu18" type: "ReLU" bottom: "batch_norm_blob18" top: "relu_blob18" } layer { name: "ave_pool2" type: "Pooling" bottom: "cat_blob1" top: "ave_pool_blob2" pooling_param { pool: AVE kernel_size: 3 stride: 1 pad: 1 } } layer { name: "conv19" type: "Convolution" bottom: "ave_pool_blob2" top: "conv_blob19" convolution_param { num_output: 64 bias_term: false pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm19" type: "BatchNorm" bottom: "conv_blob19" top: "batch_norm_blob19" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale19" type: "Scale" bottom: "batch_norm_blob19" top: "batch_norm_blob19" scale_param { bias_term: true } } layer { name: "relu19" type: "ReLU" bottom: "batch_norm_blob19" top: "relu_blob19" } layer { name: "cat2" type: "Concat" bottom: "relu_blob13" bottom: "relu_blob15" bottom: "relu_blob18" bottom: "relu_blob19" top: "cat_blob2" concat_param { axis: 1 } } layer { name: "conv20" type: "Convolution" bottom: "cat_blob2" top: "conv_blob20" convolution_param { num_output: 64 bias_term: false pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm20" type: "BatchNorm" bottom: "conv_blob20" top: "batch_norm_blob20" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale20" type: "Scale" bottom: "batch_norm_blob20" top: "batch_norm_blob20" scale_param { bias_term: true } } layer { name: "relu20" type: "ReLU" bottom: "batch_norm_blob20" top: "relu_blob20" } layer { name: "conv21" type: "Convolution" bottom: "cat_blob2" top: "conv_blob21" convolution_param { num_output: 48 bias_term: false pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm21" type: "BatchNorm" bottom: "conv_blob21" top: "batch_norm_blob21" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale21" type: "Scale" bottom: "batch_norm_blob21" top: "batch_norm_blob21" scale_param { bias_term: true } } layer { name: "relu21" type: "ReLU" bottom: "batch_norm_blob21" top: "relu_blob21" } layer { name: "conv22" type: "Convolution" bottom: "relu_blob21" top: "conv_blob22" convolution_param { num_output: 64 bias_term: false pad: 2 kernel_size: 5 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm22" type: "BatchNorm" bottom: "conv_blob22" top: "batch_norm_blob22" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale22" type: "Scale" bottom: "batch_norm_blob22" top: "batch_norm_blob22" scale_param { bias_term: true } } layer { name: "relu22" type: "ReLU" bottom: "batch_norm_blob22" top: "relu_blob22" } layer { name: "conv23" type: "Convolution" bottom: "cat_blob2" top: "conv_blob23" convolution_param { num_output: 64 bias_term: false pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm23" type: "BatchNorm" bottom: "conv_blob23" top: "batch_norm_blob23" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale23" type: "Scale" bottom: "batch_norm_blob23" top: "batch_norm_blob23" scale_param { bias_term: true } } layer { name: "relu23" type: "ReLU" bottom: "batch_norm_blob23" top: "relu_blob23" } layer { name: "conv24" type: "Convolution" bottom: "relu_blob23" top: "conv_blob24" convolution_param { num_output: 96 bias_term: false pad: 1 kernel_size: 3 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm24" type: "BatchNorm" bottom: "conv_blob24" top: "batch_norm_blob24" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale24" type: "Scale" bottom: "batch_norm_blob24" top: "batch_norm_blob24" scale_param { bias_term: true } } layer { name: "relu24" type: "ReLU" bottom: "batch_norm_blob24" top: "relu_blob24" } layer { name: "conv25" type: "Convolution" bottom: "relu_blob24" top: "conv_blob25" convolution_param { num_output: 96 bias_term: false pad: 1 kernel_size: 3 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm25" type: "BatchNorm" bottom: "conv_blob25" top: "batch_norm_blob25" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale25" type: "Scale" bottom: "batch_norm_blob25" top: "batch_norm_blob25" scale_param { bias_term: true } } layer { name: "relu25" type: "ReLU" bottom: "batch_norm_blob25" top: "relu_blob25" } layer { name: "ave_pool3" type: "Pooling" bottom: "cat_blob2" top: "ave_pool_blob3" pooling_param { pool: AVE kernel_size: 3 stride: 1 pad: 1 } } layer { name: "conv26" type: "Convolution" bottom: "ave_pool_blob3" top: "conv_blob26" convolution_param { num_output: 64 bias_term: false pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm26" type: "BatchNorm" bottom: "conv_blob26" top: "batch_norm_blob26" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale26" type: "Scale" bottom: "batch_norm_blob26" top: "batch_norm_blob26" scale_param { bias_term: true } } layer { name: "relu26" type: "ReLU" bottom: "batch_norm_blob26" top: "relu_blob26" } layer { name: "cat3" type: "Concat" bottom: "relu_blob20" bottom: "relu_blob22" bottom: "relu_blob25" bottom: "relu_blob26" top: "cat_blob3" concat_param { axis: 1 } } layer { name: "conv27" type: "Convolution" bottom: "cat_blob3" top: "conv_blob27" convolution_param { num_output: 384 bias_term: false pad: 0 kernel_size: 3 group: 1 stride: 2 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm27" type: "BatchNorm" bottom: "conv_blob27" top: "batch_norm_blob27" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale27" type: "Scale" bottom: "batch_norm_blob27" top: "batch_norm_blob27" scale_param { bias_term: true } } layer { name: "relu27" type: "ReLU" bottom: "batch_norm_blob27" top: "relu_blob27" } layer { name: "conv28" type: "Convolution" bottom: "cat_blob3" top: "conv_blob28" convolution_param { num_output: 64 bias_term: false pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm28" type: "BatchNorm" bottom: "conv_blob28" top: "batch_norm_blob28" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale28" type: "Scale" bottom: "batch_norm_blob28" top: "batch_norm_blob28" scale_param { bias_term: true } } layer { name: "relu28" type: "ReLU" bottom: "batch_norm_blob28" top: "relu_blob28" } layer { name: "conv29" type: "Convolution" bottom: "relu_blob28" top: "conv_blob29" convolution_param { num_output: 96 bias_term: false pad: 1 kernel_size: 3 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm29" type: "BatchNorm" bottom: "conv_blob29" top: "batch_norm_blob29" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale29" type: "Scale" bottom: "batch_norm_blob29" top: "batch_norm_blob29" scale_param { bias_term: true } } layer { name: "relu29" type: "ReLU" bottom: "batch_norm_blob29" top: "relu_blob29" } layer { name: "conv30" type: "Convolution" bottom: "relu_blob29" top: "conv_blob30" convolution_param { num_output: 96 bias_term: false pad: 0 kernel_size: 3 group: 1 stride: 2 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm30" type: "BatchNorm" bottom: "conv_blob30" top: "batch_norm_blob30" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale30" type: "Scale" bottom: "batch_norm_blob30" top: "batch_norm_blob30" scale_param { bias_term: true } } layer { name: "relu30" type: "ReLU" bottom: "batch_norm_blob30" top: "relu_blob30" } layer { name: "max_pool3" type: "Pooling" bottom: "cat_blob3" top: "max_pool_blob3" pooling_param { pool: MAX kernel_size: 3 stride: 2 } } layer { name: "cat4" type: "Concat" bottom: "relu_blob27" bottom: "relu_blob30" bottom: "max_pool_blob3" top: "cat_blob4" concat_param { axis: 1 } } layer { name: "conv31" type: "Convolution" bottom: "cat_blob4" top: "conv_blob31" convolution_param { num_output: 192 bias_term: false pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm31" type: "BatchNorm" bottom: "conv_blob31" top: "batch_norm_blob31" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale31" type: "Scale" bottom: "batch_norm_blob31" top: "batch_norm_blob31" scale_param { bias_term: true } } layer { name: "relu31" type: "ReLU" bottom: "batch_norm_blob31" top: "relu_blob31" } layer { name: "conv32" type: "Convolution" bottom: "cat_blob4" top: "conv_blob32" convolution_param { num_output: 128 bias_term: false pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm32" type: "BatchNorm" bottom: "conv_blob32" top: "batch_norm_blob32" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale32" type: "Scale" bottom: "batch_norm_blob32" top: "batch_norm_blob32" scale_param { bias_term: true } } layer { name: "relu32" type: "ReLU" bottom: "batch_norm_blob32" top: "relu_blob32" } layer { name: "conv33" type: "Convolution" bottom: "relu_blob32" top: "conv_blob33" convolution_param { num_output: 128 bias_term: false pad: 0 pad: 3 kernel_size: 1 kernel_size: 7 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm33" type: "BatchNorm" bottom: "conv_blob33" top: "batch_norm_blob33" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale33" type: "Scale" bottom: "batch_norm_blob33" top: "batch_norm_blob33" scale_param { bias_term: true } } layer { name: "relu33" type: "ReLU" bottom: "batch_norm_blob33" top: "relu_blob33" } layer { name: "conv34" type: "Convolution" bottom: "relu_blob33" top: "conv_blob34" convolution_param { num_output: 192 bias_term: false pad: 3 pad: 0 kernel_size: 7 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm34" type: "BatchNorm" bottom: "conv_blob34" top: "batch_norm_blob34" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale34" type: "Scale" bottom: "batch_norm_blob34" top: "batch_norm_blob34" scale_param { bias_term: true } } layer { name: "relu34" type: "ReLU" bottom: "batch_norm_blob34" top: "relu_blob34" } layer { name: "conv35" type: "Convolution" bottom: "cat_blob4" top: "conv_blob35" convolution_param { num_output: 128 bias_term: false pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm35" type: "BatchNorm" bottom: "conv_blob35" top: "batch_norm_blob35" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale35" type: "Scale" bottom: "batch_norm_blob35" top: "batch_norm_blob35" scale_param { bias_term: true } } layer { name: "relu35" type: "ReLU" bottom: "batch_norm_blob35" top: "relu_blob35" } layer { name: "conv36" type: "Convolution" bottom: "relu_blob35" top: "conv_blob36" convolution_param { num_output: 128 bias_term: false pad: 3 pad: 0 kernel_size: 7 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm36" type: "BatchNorm" bottom: "conv_blob36" top: "batch_norm_blob36" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale36" type: "Scale" bottom: "batch_norm_blob36" top: "batch_norm_blob36" scale_param { bias_term: true } } layer { name: "relu36" type: "ReLU" bottom: "batch_norm_blob36" top: "relu_blob36" } layer { name: "conv37" type: "Convolution" bottom: "relu_blob36" top: "conv_blob37" convolution_param { num_output: 128 bias_term: false pad: 0 pad: 3 kernel_size: 1 kernel_size: 7 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm37" type: "BatchNorm" bottom: "conv_blob37" top: "batch_norm_blob37" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale37" type: "Scale" bottom: "batch_norm_blob37" top: "batch_norm_blob37" scale_param { bias_term: true } } layer { name: "relu37" type: "ReLU" bottom: "batch_norm_blob37" top: "relu_blob37" } layer { name: "conv38" type: "Convolution" bottom: "relu_blob37" top: "conv_blob38" convolution_param { num_output: 128 bias_term: false pad: 3 pad: 0 kernel_size: 7 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm38" type: "BatchNorm" bottom: "conv_blob38" top: "batch_norm_blob38" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale38" type: "Scale" bottom: "batch_norm_blob38" top: "batch_norm_blob38" scale_param { bias_term: true } } layer { name: "relu38" type: "ReLU" bottom: "batch_norm_blob38" top: "relu_blob38" } layer { name: "conv39" type: "Convolution" bottom: "relu_blob38" top: "conv_blob39" convolution_param { num_output: 192 bias_term: false pad: 0 pad: 3 kernel_size: 1 kernel_size: 7 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm39" type: "BatchNorm" bottom: "conv_blob39" top: "batch_norm_blob39" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale39" type: "Scale" bottom: "batch_norm_blob39" top: "batch_norm_blob39" scale_param { bias_term: true } } layer { name: "relu39" type: "ReLU" bottom: "batch_norm_blob39" top: "relu_blob39" } layer { name: "ave_pool4" type: "Pooling" bottom: "cat_blob4" top: "ave_pool_blob4" pooling_param { pool: AVE kernel_size: 3 stride: 1 pad: 1 } } layer { name: "conv40" type: "Convolution" bottom: "ave_pool_blob4" top: "conv_blob40" convolution_param { num_output: 192 bias_term: false pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm40" type: "BatchNorm" bottom: "conv_blob40" top: "batch_norm_blob40" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale40" type: "Scale" bottom: "batch_norm_blob40" top: "batch_norm_blob40" scale_param { bias_term: true } } layer { name: "relu40" type: "ReLU" bottom: "batch_norm_blob40" top: "relu_blob40" } layer { name: "cat5" type: "Concat" bottom: "relu_blob31" bottom: "relu_blob34" bottom: "relu_blob39" bottom: "relu_blob40" top: "cat_blob5" concat_param { axis: 1 } } layer { name: "conv41" type: "Convolution" bottom: "cat_blob5" top: "conv_blob41" convolution_param { num_output: 192 bias_term: false pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm41" type: "BatchNorm" bottom: "conv_blob41" top: "batch_norm_blob41" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale41" type: "Scale" bottom: "batch_norm_blob41" top: "batch_norm_blob41" scale_param { bias_term: true } } layer { name: "relu41" type: "ReLU" bottom: "batch_norm_blob41" top: "relu_blob41" } layer { name: "conv42" type: "Convolution" bottom: "cat_blob5" top: "conv_blob42" convolution_param { num_output: 160 bias_term: false pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm42" type: "BatchNorm" bottom: "conv_blob42" top: "batch_norm_blob42" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale42" type: "Scale" bottom: "batch_norm_blob42" top: "batch_norm_blob42" scale_param { bias_term: true } } layer { name: "relu42" type: "ReLU" bottom: "batch_norm_blob42" top: "relu_blob42" } layer { name: "conv43" type: "Convolution" bottom: "relu_blob42" top: "conv_blob43" convolution_param { num_output: 160 bias_term: false pad: 0 pad: 3 kernel_size: 1 kernel_size: 7 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm43" type: "BatchNorm" bottom: "conv_blob43" top: "batch_norm_blob43" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale43" type: "Scale" bottom: "batch_norm_blob43" top: "batch_norm_blob43" scale_param { bias_term: true } } layer { name: "relu43" type: "ReLU" bottom: "batch_norm_blob43" top: "relu_blob43" } layer { name: "conv44" type: "Convolution" bottom: "relu_blob43" top: "conv_blob44" convolution_param { num_output: 192 bias_term: false pad: 3 pad: 0 kernel_size: 7 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm44" type: "BatchNorm" bottom: "conv_blob44" top: "batch_norm_blob44" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale44" type: "Scale" bottom: "batch_norm_blob44" top: "batch_norm_blob44" scale_param { bias_term: true } } layer { name: "relu44" type: "ReLU" bottom: "batch_norm_blob44" top: "relu_blob44" } layer { name: "conv45" type: "Convolution" bottom: "cat_blob5" top: "conv_blob45" convolution_param { num_output: 160 bias_term: false pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm45" type: "BatchNorm" bottom: "conv_blob45" top: "batch_norm_blob45" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale45" type: "Scale" bottom: "batch_norm_blob45" top: "batch_norm_blob45" scale_param { bias_term: true } } layer { name: "relu45" type: "ReLU" bottom: "batch_norm_blob45" top: "relu_blob45" } layer { name: "conv46" type: "Convolution" bottom: "relu_blob45" top: "conv_blob46" convolution_param { num_output: 160 bias_term: false pad: 3 pad: 0 kernel_size: 7 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm46" type: "BatchNorm" bottom: "conv_blob46" top: "batch_norm_blob46" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale46" type: "Scale" bottom: "batch_norm_blob46" top: "batch_norm_blob46" scale_param { bias_term: true } } layer { name: "relu46" type: "ReLU" bottom: "batch_norm_blob46" top: "relu_blob46" } layer { name: "conv47" type: "Convolution" bottom: "relu_blob46" top: "conv_blob47" convolution_param { num_output: 160 bias_term: false pad: 0 pad: 3 kernel_size: 1 kernel_size: 7 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm47" type: "BatchNorm" bottom: "conv_blob47" top: "batch_norm_blob47" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale47" type: "Scale" bottom: "batch_norm_blob47" top: "batch_norm_blob47" scale_param { bias_term: true } } layer { name: "relu47" type: "ReLU" bottom: "batch_norm_blob47" top: "relu_blob47" } layer { name: "conv48" type: "Convolution" bottom: "relu_blob47" top: "conv_blob48" convolution_param { num_output: 160 bias_term: false pad: 3 pad: 0 kernel_size: 7 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm48" type: "BatchNorm" bottom: "conv_blob48" top: "batch_norm_blob48" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale48" type: "Scale" bottom: "batch_norm_blob48" top: "batch_norm_blob48" scale_param { bias_term: true } } layer { name: "relu48" type: "ReLU" bottom: "batch_norm_blob48" top: "relu_blob48" } layer { name: "conv49" type: "Convolution" bottom: "relu_blob48" top: "conv_blob49" convolution_param { num_output: 192 bias_term: false pad: 0 pad: 3 kernel_size: 1 kernel_size: 7 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm49" type: "BatchNorm" bottom: "conv_blob49" top: "batch_norm_blob49" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale49" type: "Scale" bottom: "batch_norm_blob49" top: "batch_norm_blob49" scale_param { bias_term: true } } layer { name: "relu49" type: "ReLU" bottom: "batch_norm_blob49" top: "relu_blob49" } layer { name: "ave_pool5" type: "Pooling" bottom: "cat_blob5" top: "ave_pool_blob5" pooling_param { pool: AVE kernel_size: 3 stride: 1 pad: 1 } } layer { name: "conv50" type: "Convolution" bottom: "ave_pool_blob5" top: "conv_blob50" convolution_param { num_output: 192 bias_term: false pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm50" type: "BatchNorm" bottom: "conv_blob50" top: "batch_norm_blob50" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale50" type: "Scale" bottom: "batch_norm_blob50" top: "batch_norm_blob50" scale_param { bias_term: true } } layer { name: "relu50" type: "ReLU" bottom: "batch_norm_blob50" top: "relu_blob50" } layer { name: "cat6" type: "Concat" bottom: "relu_blob41" bottom: "relu_blob44" bottom: "relu_blob49" bottom: "relu_blob50" top: "cat_blob6" concat_param { axis: 1 } } layer { name: "conv51" type: "Convolution" bottom: "cat_blob6" top: "conv_blob51" convolution_param { num_output: 192 bias_term: false pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm51" type: "BatchNorm" bottom: "conv_blob51" top: "batch_norm_blob51" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale51" type: "Scale" bottom: "batch_norm_blob51" top: "batch_norm_blob51" scale_param { bias_term: true } } layer { name: "relu51" type: "ReLU" bottom: "batch_norm_blob51" top: "relu_blob51" } layer { name: "conv52" type: "Convolution" bottom: "cat_blob6" top: "conv_blob52" convolution_param { num_output: 160 bias_term: false pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm52" type: "BatchNorm" bottom: "conv_blob52" top: "batch_norm_blob52" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale52" type: "Scale" bottom: "batch_norm_blob52" top: "batch_norm_blob52" scale_param { bias_term: true } } layer { name: "relu52" type: "ReLU" bottom: "batch_norm_blob52" top: "relu_blob52" } layer { name: "conv53" type: "Convolution" bottom: "relu_blob52" top: "conv_blob53" convolution_param { num_output: 160 bias_term: false pad: 0 pad: 3 kernel_size: 1 kernel_size: 7 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm53" type: "BatchNorm" bottom: "conv_blob53" top: "batch_norm_blob53" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale53" type: "Scale" bottom: "batch_norm_blob53" top: "batch_norm_blob53" scale_param { bias_term: true } } layer { name: "relu53" type: "ReLU" bottom: "batch_norm_blob53" top: "relu_blob53" } layer { name: "conv54" type: "Convolution" bottom: "relu_blob53" top: "conv_blob54" convolution_param { num_output: 192 bias_term: false pad: 3 pad: 0 kernel_size: 7 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm54" type: "BatchNorm" bottom: "conv_blob54" top: "batch_norm_blob54" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale54" type: "Scale" bottom: "batch_norm_blob54" top: "batch_norm_blob54" scale_param { bias_term: true } } layer { name: "relu54" type: "ReLU" bottom: "batch_norm_blob54" top: "relu_blob54" } layer { name: "conv55" type: "Convolution" bottom: "cat_blob6" top: "conv_blob55" convolution_param { num_output: 160 bias_term: false pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm55" type: "BatchNorm" bottom: "conv_blob55" top: "batch_norm_blob55" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale55" type: "Scale" bottom: "batch_norm_blob55" top: "batch_norm_blob55" scale_param { bias_term: true } } layer { name: "relu55" type: "ReLU" bottom: "batch_norm_blob55" top: "relu_blob55" } layer { name: "conv56" type: "Convolution" bottom: "relu_blob55" top: "conv_blob56" convolution_param { num_output: 160 bias_term: false pad: 3 pad: 0 kernel_size: 7 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm56" type: "BatchNorm" bottom: "conv_blob56" top: "batch_norm_blob56" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale56" type: "Scale" bottom: "batch_norm_blob56" top: "batch_norm_blob56" scale_param { bias_term: true } } layer { name: "relu56" type: "ReLU" bottom: "batch_norm_blob56" top: "relu_blob56" } layer { name: "conv57" type: "Convolution" bottom: "relu_blob56" top: "conv_blob57" convolution_param { num_output: 160 bias_term: false pad: 0 pad: 3 kernel_size: 1 kernel_size: 7 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm57" type: "BatchNorm" bottom: "conv_blob57" top: "batch_norm_blob57" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale57" type: "Scale" bottom: "batch_norm_blob57" top: "batch_norm_blob57" scale_param { bias_term: true } } layer { name: "relu57" type: "ReLU" bottom: "batch_norm_blob57" top: "relu_blob57" } layer { name: "conv58" type: "Convolution" bottom: "relu_blob57" top: "conv_blob58" convolution_param { num_output: 160 bias_term: false pad: 3 pad: 0 kernel_size: 7 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm58" type: "BatchNorm" bottom: "conv_blob58" top: "batch_norm_blob58" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale58" type: "Scale" bottom: "batch_norm_blob58" top: "batch_norm_blob58" scale_param { bias_term: true } } layer { name: "relu58" type: "ReLU" bottom: "batch_norm_blob58" top: "relu_blob58" } layer { name: "conv59" type: "Convolution" bottom: "relu_blob58" top: "conv_blob59" convolution_param { num_output: 192 bias_term: false pad: 0 pad: 3 kernel_size: 1 kernel_size: 7 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm59" type: "BatchNorm" bottom: "conv_blob59" top: "batch_norm_blob59" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale59" type: "Scale" bottom: "batch_norm_blob59" top: "batch_norm_blob59" scale_param { bias_term: true } } layer { name: "relu59" type: "ReLU" bottom: "batch_norm_blob59" top: "relu_blob59" } layer { name: "ave_pool6" type: "Pooling" bottom: "cat_blob6" top: "ave_pool_blob6" pooling_param { pool: AVE kernel_size: 3 stride: 1 pad: 1 } } layer { name: "conv60" type: "Convolution" bottom: "ave_pool_blob6" top: "conv_blob60" convolution_param { num_output: 192 bias_term: false pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm60" type: "BatchNorm" bottom: "conv_blob60" top: "batch_norm_blob60" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale60" type: "Scale" bottom: "batch_norm_blob60" top: "batch_norm_blob60" scale_param { bias_term: true } } layer { name: "relu60" type: "ReLU" bottom: "batch_norm_blob60" top: "relu_blob60" } layer { name: "cat7" type: "Concat" bottom: "relu_blob51" bottom: "relu_blob54" bottom: "relu_blob59" bottom: "relu_blob60" top: "cat_blob7" concat_param { axis: 1 } } layer { name: "conv61" type: "Convolution" bottom: "cat_blob7" top: "conv_blob61" convolution_param { num_output: 192 bias_term: false pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm61" type: "BatchNorm" bottom: "conv_blob61" top: "batch_norm_blob61" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale61" type: "Scale" bottom: "batch_norm_blob61" top: "batch_norm_blob61" scale_param { bias_term: true } } layer { name: "relu61" type: "ReLU" bottom: "batch_norm_blob61" top: "relu_blob61" } layer { name: "conv62" type: "Convolution" bottom: "cat_blob7" top: "conv_blob62" convolution_param { num_output: 192 bias_term: false pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm62" type: "BatchNorm" bottom: "conv_blob62" top: "batch_norm_blob62" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale62" type: "Scale" bottom: "batch_norm_blob62" top: "batch_norm_blob62" scale_param { bias_term: true } } layer { name: "relu62" type: "ReLU" bottom: "batch_norm_blob62" top: "relu_blob62" } layer { name: "conv63" type: "Convolution" bottom: "relu_blob62" top: "conv_blob63" convolution_param { num_output: 192 bias_term: false pad: 0 pad: 3 kernel_size: 1 kernel_size: 7 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm63" type: "BatchNorm" bottom: "conv_blob63" top: "batch_norm_blob63" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale63" type: "Scale" bottom: "batch_norm_blob63" top: "batch_norm_blob63" scale_param { bias_term: true } } layer { name: "relu63" type: "ReLU" bottom: "batch_norm_blob63" top: "relu_blob63" } layer { name: "conv64" type: "Convolution" bottom: "relu_blob63" top: "conv_blob64" convolution_param { num_output: 192 bias_term: false pad: 3 pad: 0 kernel_size: 7 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm64" type: "BatchNorm" bottom: "conv_blob64" top: "batch_norm_blob64" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale64" type: "Scale" bottom: "batch_norm_blob64" top: "batch_norm_blob64" scale_param { bias_term: true } } layer { name: "relu64" type: "ReLU" bottom: "batch_norm_blob64" top: "relu_blob64" } layer { name: "conv65" type: "Convolution" bottom: "cat_blob7" top: "conv_blob65" convolution_param { num_output: 192 bias_term: false pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm65" type: "BatchNorm" bottom: "conv_blob65" top: "batch_norm_blob65" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale65" type: "Scale" bottom: "batch_norm_blob65" top: "batch_norm_blob65" scale_param { bias_term: true } } layer { name: "relu65" type: "ReLU" bottom: "batch_norm_blob65" top: "relu_blob65" } layer { name: "conv66" type: "Convolution" bottom: "relu_blob65" top: "conv_blob66" convolution_param { num_output: 192 bias_term: false pad: 3 pad: 0 kernel_size: 7 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm66" type: "BatchNorm" bottom: "conv_blob66" top: "batch_norm_blob66" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale66" type: "Scale" bottom: "batch_norm_blob66" top: "batch_norm_blob66" scale_param { bias_term: true } } layer { name: "relu66" type: "ReLU" bottom: "batch_norm_blob66" top: "relu_blob66" } layer { name: "conv67" type: "Convolution" bottom: "relu_blob66" top: "conv_blob67" convolution_param { num_output: 192 bias_term: false pad: 0 pad: 3 kernel_size: 1 kernel_size: 7 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm67" type: "BatchNorm" bottom: "conv_blob67" top: "batch_norm_blob67" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale67" type: "Scale" bottom: "batch_norm_blob67" top: "batch_norm_blob67" scale_param { bias_term: true } } layer { name: "relu67" type: "ReLU" bottom: "batch_norm_blob67" top: "relu_blob67" } layer { name: "conv68" type: "Convolution" bottom: "relu_blob67" top: "conv_blob68" convolution_param { num_output: 192 bias_term: false pad: 3 pad: 0 kernel_size: 7 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm68" type: "BatchNorm" bottom: "conv_blob68" top: "batch_norm_blob68" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale68" type: "Scale" bottom: "batch_norm_blob68" top: "batch_norm_blob68" scale_param { bias_term: true } } layer { name: "relu68" type: "ReLU" bottom: "batch_norm_blob68" top: "relu_blob68" } layer { name: "conv69" type: "Convolution" bottom: "relu_blob68" top: "conv_blob69" convolution_param { num_output: 192 bias_term: false pad: 0 pad: 3 kernel_size: 1 kernel_size: 7 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm69" type: "BatchNorm" bottom: "conv_blob69" top: "batch_norm_blob69" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale69" type: "Scale" bottom: "batch_norm_blob69" top: "batch_norm_blob69" scale_param { bias_term: true } } layer { name: "relu69" type: "ReLU" bottom: "batch_norm_blob69" top: "relu_blob69" } layer { name: "ave_pool7" type: "Pooling" bottom: "cat_blob7" top: "ave_pool_blob7" pooling_param { pool: AVE kernel_size: 3 stride: 1 pad: 1 } } layer { name: "conv70" type: "Convolution" bottom: "ave_pool_blob7" top: "conv_blob70" convolution_param { num_output: 192 bias_term: false pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm70" type: "BatchNorm" bottom: "conv_blob70" top: "batch_norm_blob70" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale70" type: "Scale" bottom: "batch_norm_blob70" top: "batch_norm_blob70" scale_param { bias_term: true } } layer { name: "relu70" type: "ReLU" bottom: "batch_norm_blob70" top: "relu_blob70" } layer { name: "cat8" type: "Concat" bottom: "relu_blob61" bottom: "relu_blob64" bottom: "relu_blob69" bottom: "relu_blob70" top: "cat_blob8" concat_param { axis: 1 } } layer { name: "conv71" type: "Convolution" bottom: "cat_blob8" top: "conv_blob71" convolution_param { num_output: 192 bias_term: false pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm71" type: "BatchNorm" bottom: "conv_blob71" top: "batch_norm_blob71" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale71" type: "Scale" bottom: "batch_norm_blob71" top: "batch_norm_blob71" scale_param { bias_term: true } } layer { name: "relu71" type: "ReLU" bottom: "batch_norm_blob71" top: "relu_blob71" } layer { name: "conv72" type: "Convolution" bottom: "relu_blob71" top: "conv_blob72" convolution_param { num_output: 320 bias_term: false pad: 0 kernel_size: 3 group: 1 stride: 2 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm72" type: "BatchNorm" bottom: "conv_blob72" top: "batch_norm_blob72" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale72" type: "Scale" bottom: "batch_norm_blob72" top: "batch_norm_blob72" scale_param { bias_term: true } } layer { name: "relu72" type: "ReLU" bottom: "batch_norm_blob72" top: "relu_blob72" } layer { name: "conv73" type: "Convolution" bottom: "cat_blob8" top: "conv_blob73" convolution_param { num_output: 192 bias_term: false pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm73" type: "BatchNorm" bottom: "conv_blob73" top: "batch_norm_blob73" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale73" type: "Scale" bottom: "batch_norm_blob73" top: "batch_norm_blob73" scale_param { bias_term: true } } layer { name: "relu73" type: "ReLU" bottom: "batch_norm_blob73" top: "relu_blob73" } layer { name: "conv74" type: "Convolution" bottom: "relu_blob73" top: "conv_blob74" convolution_param { num_output: 192 bias_term: false pad: 0 pad: 3 kernel_size: 1 kernel_size: 7 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm74" type: "BatchNorm" bottom: "conv_blob74" top: "batch_norm_blob74" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale74" type: "Scale" bottom: "batch_norm_blob74" top: "batch_norm_blob74" scale_param { bias_term: true } } layer { name: "relu74" type: "ReLU" bottom: "batch_norm_blob74" top: "relu_blob74" } layer { name: "conv75" type: "Convolution" bottom: "relu_blob74" top: "conv_blob75" convolution_param { num_output: 192 bias_term: false pad: 3 pad: 0 kernel_size: 7 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm75" type: "BatchNorm" bottom: "conv_blob75" top: "batch_norm_blob75" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale75" type: "Scale" bottom: "batch_norm_blob75" top: "batch_norm_blob75" scale_param { bias_term: true } } layer { name: "relu75" type: "ReLU" bottom: "batch_norm_blob75" top: "relu_blob75" } layer { name: "conv76" type: "Convolution" bottom: "relu_blob75" top: "conv_blob76" convolution_param { num_output: 192 bias_term: false pad: 0 kernel_size: 3 group: 1 stride: 2 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm76" type: "BatchNorm" bottom: "conv_blob76" top: "batch_norm_blob76" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale76" type: "Scale" bottom: "batch_norm_blob76" top: "batch_norm_blob76" scale_param { bias_term: true } } layer { name: "relu76" type: "ReLU" bottom: "batch_norm_blob76" top: "relu_blob76" } layer { name: "max_pool4" type: "Pooling" bottom: "cat_blob8" top: "max_pool_blob4" pooling_param { pool: MAX kernel_size: 3 stride: 2 } } layer { name: "cat9" type: "Concat" bottom: "relu_blob72" bottom: "relu_blob76" bottom: "max_pool_blob4" top: "cat_blob9" concat_param { axis: 1 } } layer { name: "conv77" type: "Convolution" bottom: "cat_blob9" top: "conv_blob77" convolution_param { num_output: 320 bias_term: false pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm77" type: "BatchNorm" bottom: "conv_blob77" top: "batch_norm_blob77" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale77" type: "Scale" bottom: "batch_norm_blob77" top: "batch_norm_blob77" scale_param { bias_term: true } } layer { name: "relu77" type: "ReLU" bottom: "batch_norm_blob77" top: "relu_blob77" } layer { name: "conv78" type: "Convolution" bottom: "cat_blob9" top: "conv_blob78" convolution_param { num_output: 384 bias_term: false pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm78" type: "BatchNorm" bottom: "conv_blob78" top: "batch_norm_blob78" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale78" type: "Scale" bottom: "batch_norm_blob78" top: "batch_norm_blob78" scale_param { bias_term: true } } layer { name: "relu78" type: "ReLU" bottom: "batch_norm_blob78" top: "relu_blob78" } layer { name: "conv79" type: "Convolution" bottom: "relu_blob78" top: "conv_blob79" convolution_param { num_output: 384 bias_term: false pad: 0 pad: 1 kernel_size: 1 kernel_size: 3 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm79" type: "BatchNorm" bottom: "conv_blob79" top: "batch_norm_blob79" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale79" type: "Scale" bottom: "batch_norm_blob79" top: "batch_norm_blob79" scale_param { bias_term: true } } layer { name: "relu79" type: "ReLU" bottom: "batch_norm_blob79" top: "relu_blob79" } layer { name: "conv80" type: "Convolution" bottom: "relu_blob78" top: "conv_blob80" convolution_param { num_output: 384 bias_term: false pad: 1 pad: 0 kernel_size: 3 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm80" type: "BatchNorm" bottom: "conv_blob80" top: "batch_norm_blob80" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale80" type: "Scale" bottom: "batch_norm_blob80" top: "batch_norm_blob80" scale_param { bias_term: true } } layer { name: "relu80" type: "ReLU" bottom: "batch_norm_blob80" top: "relu_blob80" } layer { name: "cat10" type: "Concat" bottom: "relu_blob79" bottom: "relu_blob80" top: "cat_blob10" concat_param { axis: 1 } } layer { name: "conv81" type: "Convolution" bottom: "cat_blob9" top: "conv_blob81" convolution_param { num_output: 448 bias_term: false pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm81" type: "BatchNorm" bottom: "conv_blob81" top: "batch_norm_blob81" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale81" type: "Scale" bottom: "batch_norm_blob81" top: "batch_norm_blob81" scale_param { bias_term: true } } layer { name: "relu81" type: "ReLU" bottom: "batch_norm_blob81" top: "relu_blob81" } layer { name: "conv82" type: "Convolution" bottom: "relu_blob81" top: "conv_blob82" convolution_param { num_output: 384 bias_term: false pad: 1 kernel_size: 3 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm82" type: "BatchNorm" bottom: "conv_blob82" top: "batch_norm_blob82" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale82" type: "Scale" bottom: "batch_norm_blob82" top: "batch_norm_blob82" scale_param { bias_term: true } } layer { name: "relu82" type: "ReLU" bottom: "batch_norm_blob82" top: "relu_blob82" } layer { name: "conv83" type: "Convolution" bottom: "relu_blob82" top: "conv_blob83" convolution_param { num_output: 384 bias_term: false pad: 0 pad: 1 kernel_size: 1 kernel_size: 3 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm83" type: "BatchNorm" bottom: "conv_blob83" top: "batch_norm_blob83" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale83" type: "Scale" bottom: "batch_norm_blob83" top: "batch_norm_blob83" scale_param { bias_term: true } } layer { name: "relu83" type: "ReLU" bottom: "batch_norm_blob83" top: "relu_blob83" } layer { name: "conv84" type: "Convolution" bottom: "relu_blob82" top: "conv_blob84" convolution_param { num_output: 384 bias_term: false pad: 1 pad: 0 kernel_size: 3 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm84" type: "BatchNorm" bottom: "conv_blob84" top: "batch_norm_blob84" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale84" type: "Scale" bottom: "batch_norm_blob84" top: "batch_norm_blob84" scale_param { bias_term: true } } layer { name: "relu84" type: "ReLU" bottom: "batch_norm_blob84" top: "relu_blob84" } layer { name: "cat11" type: "Concat" bottom: "relu_blob83" bottom: "relu_blob84" top: "cat_blob11" concat_param { axis: 1 } } layer { name: "ave_pool8" type: "Pooling" bottom: "cat_blob9" top: "ave_pool_blob8" pooling_param { pool: AVE kernel_size: 3 stride: 1 pad: 1 } } layer { name: "conv85" type: "Convolution" bottom: "ave_pool_blob8" top: "conv_blob85" convolution_param { num_output: 192 bias_term: false pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm85" type: "BatchNorm" bottom: "conv_blob85" top: "batch_norm_blob85" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale85" type: "Scale" bottom: "batch_norm_blob85" top: "batch_norm_blob85" scale_param { bias_term: true } } layer { name: "relu85" type: "ReLU" bottom: "batch_norm_blob85" top: "relu_blob85" } layer { name: "cat12" type: "Concat" bottom: "relu_blob77" bottom: "cat_blob10" bottom: "cat_blob11" bottom: "relu_blob85" top: "cat_blob12" concat_param { axis: 1 } } layer { name: "conv86" type: "Convolution" bottom: "cat_blob12" top: "conv_blob86" convolution_param { num_output: 320 bias_term: false pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm86" type: "BatchNorm" bottom: "conv_blob86" top: "batch_norm_blob86" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale86" type: "Scale" bottom: "batch_norm_blob86" top: "batch_norm_blob86" scale_param { bias_term: true } } layer { name: "relu86" type: "ReLU" bottom: "batch_norm_blob86" top: "relu_blob86" } layer { name: "conv87" type: "Convolution" bottom: "cat_blob12" top: "conv_blob87" convolution_param { num_output: 384 bias_term: false pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm87" type: "BatchNorm" bottom: "conv_blob87" top: "batch_norm_blob87" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale87" type: "Scale" bottom: "batch_norm_blob87" top: "batch_norm_blob87" scale_param { bias_term: true } } layer { name: "relu87" type: "ReLU" bottom: "batch_norm_blob87" top: "relu_blob87" } layer { name: "conv88" type: "Convolution" bottom: "relu_blob87" top: "conv_blob88" convolution_param { num_output: 384 bias_term: false pad: 0 pad: 1 kernel_size: 1 kernel_size: 3 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm88" type: "BatchNorm" bottom: "conv_blob88" top: "batch_norm_blob88" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale88" type: "Scale" bottom: "batch_norm_blob88" top: "batch_norm_blob88" scale_param { bias_term: true } } layer { name: "relu88" type: "ReLU" bottom: "batch_norm_blob88" top: "relu_blob88" } layer { name: "conv89" type: "Convolution" bottom: "relu_blob87" top: "conv_blob89" convolution_param { num_output: 384 bias_term: false pad: 1 pad: 0 kernel_size: 3 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm89" type: "BatchNorm" bottom: "conv_blob89" top: "batch_norm_blob89" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale89" type: "Scale" bottom: "batch_norm_blob89" top: "batch_norm_blob89" scale_param { bias_term: true } } layer { name: "relu89" type: "ReLU" bottom: "batch_norm_blob89" top: "relu_blob89" } layer { name: "cat13" type: "Concat" bottom: "relu_blob88" bottom: "relu_blob89" top: "cat_blob13" concat_param { axis: 1 } } layer { name: "conv90" type: "Convolution" bottom: "cat_blob12" top: "conv_blob90" convolution_param { num_output: 448 bias_term: false pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm90" type: "BatchNorm" bottom: "conv_blob90" top: "batch_norm_blob90" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale90" type: "Scale" bottom: "batch_norm_blob90" top: "batch_norm_blob90" scale_param { bias_term: true } } layer { name: "relu90" type: "ReLU" bottom: "batch_norm_blob90" top: "relu_blob90" } layer { name: "conv91" type: "Convolution" bottom: "relu_blob90" top: "conv_blob91" convolution_param { num_output: 384 bias_term: false pad: 1 kernel_size: 3 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm91" type: "BatchNorm" bottom: "conv_blob91" top: "batch_norm_blob91" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale91" type: "Scale" bottom: "batch_norm_blob91" top: "batch_norm_blob91" scale_param { bias_term: true } } layer { name: "relu91" type: "ReLU" bottom: "batch_norm_blob91" top: "relu_blob91" } layer { name: "conv92" type: "Convolution" bottom: "relu_blob91" top: "conv_blob92" convolution_param { num_output: 384 bias_term: false pad: 0 pad: 1 kernel_size: 1 kernel_size: 3 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm92" type: "BatchNorm" bottom: "conv_blob92" top: "batch_norm_blob92" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale92" type: "Scale" bottom: "batch_norm_blob92" top: "batch_norm_blob92" scale_param { bias_term: true } } layer { name: "relu92" type: "ReLU" bottom: "batch_norm_blob92" top: "relu_blob92" } layer { name: "conv93" type: "Convolution" bottom: "relu_blob91" top: "conv_blob93" convolution_param { num_output: 384 bias_term: false pad: 1 pad: 0 kernel_size: 3 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm93" type: "BatchNorm" bottom: "conv_blob93" top: "batch_norm_blob93" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale93" type: "Scale" bottom: "batch_norm_blob93" top: "batch_norm_blob93" scale_param { bias_term: true } } layer { name: "relu93" type: "ReLU" bottom: "batch_norm_blob93" top: "relu_blob93" } layer { name: "cat14" type: "Concat" bottom: "relu_blob92" bottom: "relu_blob93" top: "cat_blob14" concat_param { axis: 1 } } layer { name: "ave_pool9" type: "Pooling" bottom: "cat_blob12" top: "ave_pool_blob9" pooling_param { pool: AVE kernel_size: 3 stride: 1 pad: 1 } } layer { name: "conv94" type: "Convolution" bottom: "ave_pool_blob9" top: "conv_blob94" convolution_param { num_output: 192 bias_term: false pad: 0 kernel_size: 1 group: 1 stride: 1 weight_filler { type: "xavier" } dilation: 1 } } layer { name: "batch_norm94" type: "BatchNorm" bottom: "conv_blob94" top: "batch_norm_blob94" batch_norm_param { use_global_stats: true eps: 0.0010000000474974513 } } layer { name: "bn_scale94" type: "Scale" bottom: "batch_norm_blob94" top: "batch_norm_blob94" scale_param { bias_term: true } } layer { name: "relu94" type: "ReLU" bottom: "batch_norm_blob94" top: "relu_blob94" } layer { name: "cat15" type: "Concat" bottom: "relu_blob86" bottom: "cat_blob13" bottom: "cat_blob14" bottom: "relu_blob94" top: "cat_blob15" concat_param { axis: 1 } } layer { name: "ave_pool10" type: "Pooling" bottom: "cat_blob15" top: "ave_pool_blob10" pooling_param { pool: AVE kernel_size: 8 stride: 8 } } layer { name: "dropout1" type: "Dropout" bottom: "ave_pool_blob10" top: "ave_pool_blob10" include { phase: TRAIN } dropout_param { dropout_ratio: 0.5 } } layer { name: "view1" type: "Reshape" bottom: "ave_pool_blob10" top: "view_blob1" reshape_param { shape { dim: 0 dim: -1 } } } layer { name: "fc1" type: "InnerProduct" bottom: "view_blob1" top: "fc_blob1" inner_product_param { num_output: 1000 bias_term: true weight_filler { type: "xavier" } bias_filler { type: "constant" } } }

layer { name: "loss" type: "SoftmaxWithLoss" bottom: "fc_blob1" bottom: "label" top: "loss" } layer { name: "loss/top-1" type: "Accuracy" bottom: "fc_blob1" bottom: "label" top: "loss/top-1" include { phase: TEST } } layer { name: "acc/top-5" type: "Accuracy" bottom: "fc_blob1" bottom: "label" top: "acc/top-5" include { phase: TEST } accuracy_param { top_k: 5 } } `

xxradon commented 5 years ago

Did you checkout your model input was the same by pytorch and caffe?