首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >[技术杂谈][原创]caffe ssd报类似错Check failed height == datum_height解决方法

[技术杂谈][原创]caffe ssd报类似错Check failed height == datum_height解决方法

作者头像
云未归来
发布2025-07-18 16:09:59
发布2025-07-18 16:09:59
630
举报

网上基本没有这个报错的解决方法,最终被我找出来了,原因生成lmdb问题,在生成lmdb时候,要把编码打开

--encode_type=jpg --encoded=True,一开始我设置为空,encoded=False就会报类似于Check failed: height <= datum_height或者

Check failed: height == datum_height或者Check failed: height >= datum_height的错误,如果不想编码也可以,进过实验证明,只要把数据增强部分删除也可以正常训练,先前train.prototxt是这样的

name: "VGG_VOC0712_SSD_300x300_train" layer {   name: "data"   type: "AnnotatedData"   top: "data"   top: "label"   include {     phase: TRAIN   }   transform_param {     mirror: true     mean_value: 104     mean_value: 117     mean_value: 123     resize_param {       prob: 1       resize_mode: WARP       height: 300       width: 300       interp_mode: LINEAR       interp_mode: AREA       interp_mode: NEAREST       interp_mode: CUBIC       interp_mode: LANCZOS4     }     emit_constraint {       emit_type: CENTER     }   }   data_param {     source: "D:/caffe-ssd-microsoft/myproj/lmdb/train_lmdb"     batch_size: 32     backend: LMDB   }   annotated_data_param {     batch_sampler {       max_sample: 1       max_trials: 1     }     batch_sampler {       sampler {         min_scale: 0.3         max_scale: 1.0         min_aspect_ratio: 0.5         max_aspect_ratio: 2.0       }       sample_constraint {         min_jaccard_overlap: 0.1       }       max_sample: 1       max_trials: 50     }     batch_sampler {       sampler {         min_scale: 0.3         max_scale: 1.0         min_aspect_ratio: 0.5         max_aspect_ratio: 2.0       }       sample_constraint {         min_jaccard_overlap: 0.3       }       max_sample: 1       max_trials: 50     }     batch_sampler {       sampler {         min_scale: 0.3         max_scale: 1.0         min_aspect_ratio: 0.5         max_aspect_ratio: 2.0       }       sample_constraint {         min_jaccard_overlap: 0.5       }       max_sample: 1       max_trials: 50     }     batch_sampler {       sampler {         min_scale: 0.3         max_scale: 1.0         min_aspect_ratio: 0.5         max_aspect_ratio: 2.0       }       sample_constraint {         min_jaccard_overlap: 0.7       }       max_sample: 1       max_trials: 50     }     batch_sampler {       sampler {         min_scale: 0.3         max_scale: 1.0         min_aspect_ratio: 0.5         max_aspect_ratio: 2.0       }       sample_constraint {         min_jaccard_overlap: 0.9       }       max_sample: 1       max_trials: 50     }     batch_sampler {       sampler {         min_scale: 0.3         max_scale: 1.0         min_aspect_ratio: 0.5         max_aspect_ratio: 2.0       }       sample_constraint {         max_jaccard_overlap: 1.0       }       max_sample: 1       max_trials: 50     }     label_map_file: ">D:/caffe-ssd-microsoft/myproj/prototxt/labelmap_voc.prototxt"   } }

layer {   name: "conv1_1"   type: "Convolution"   bottom: "data"   top: "conv1_1"   param {     lr_mult: 0     decay_mult: 0   }   param {     lr_mult: 0     decay_mult: 0   }   convolution_param {     num_output: 64     pad: 1     kernel_size: 3     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "relu1_1"   type: "ReLU"   bottom: "conv1_1"   top: "conv1_1" } layer {   name: "conv1_2"   type: "Convolution"   bottom: "conv1_1"   top: "conv1_2"   param {     lr_mult: 0     decay_mult: 0   }   param {     lr_mult: 0     decay_mult: 0   }   convolution_param {     num_output: 64     pad: 1     kernel_size: 3     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "relu1_2"   type: "ReLU"   bottom: "conv1_2"   top: "conv1_2" } layer {   name: "pool1"   type: "Pooling"   bottom: "conv1_2"   top: "pool1"   pooling_param {     pool: MAX     kernel_size: 2     stride: 2   } } layer {   name: "conv2_1"   type: "Convolution"   bottom: "pool1"   top: "conv2_1"   param {     lr_mult: 0     decay_mult: 0   }   param {     lr_mult: 0     decay_mult: 0   }   convolution_param {     num_output: 128     pad: 1     kernel_size: 3     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "relu2_1"   type: "ReLU"   bottom: "conv2_1"   top: "conv2_1" } layer {   name: "conv2_2"   type: "Convolution"   bottom: "conv2_1"   top: "conv2_2"   param {     lr_mult: 0     decay_mult: 0   }   param {     lr_mult: 0     decay_mult: 0   }   convolution_param {     num_output: 128     pad: 1     kernel_size: 3     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "relu2_2"   type: "ReLU"   bottom: "conv2_2"   top: "conv2_2" } layer {   name: "pool2"   type: "Pooling"   bottom: "conv2_2"   top: "pool2"   pooling_param {     pool: MAX     kernel_size: 2     stride: 2   } } layer {   name: "conv3_1"   type: "Convolution"   bottom: "pool2"   top: "conv3_1"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 256     pad: 1     kernel_size: 3     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "relu3_1"   type: "ReLU"   bottom: "conv3_1"   top: "conv3_1" } layer {   name: "conv3_2"   type: "Convolution"   bottom: "conv3_1"   top: "conv3_2"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 256     pad: 1     kernel_size: 3     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "relu3_2"   type: "ReLU"   bottom: "conv3_2"   top: "conv3_2" } layer {   name: "conv3_3"   type: "Convolution"   bottom: "conv3_2"   top: "conv3_3"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 256     pad: 1     kernel_size: 3     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "relu3_3"   type: "ReLU"   bottom: "conv3_3"   top: "conv3_3" } layer {   name: "pool3"   type: "Pooling"   bottom: "conv3_3"   top: "pool3"   pooling_param {     pool: MAX     kernel_size: 2     stride: 2   } } layer {   name: "conv4_1"   type: "Convolution"   bottom: "pool3"   top: "conv4_1"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 512     pad: 1     kernel_size: 3     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "relu4_1"   type: "ReLU"   bottom: "conv4_1"   top: "conv4_1" } layer {   name: "conv4_2"   type: "Convolution"   bottom: "conv4_1"   top: "conv4_2"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 512     pad: 1     kernel_size: 3     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "relu4_2"   type: "ReLU"   bottom: "conv4_2"   top: "conv4_2" } layer {   name: "conv4_3"   type: "Convolution"   bottom: "conv4_2"   top: "conv4_3"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 512     pad: 1     kernel_size: 3     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "relu4_3"   type: "ReLU"   bottom: "conv4_3"   top: "conv4_3" } layer {   name: "pool4"   type: "Pooling"   bottom: "conv4_3"   top: "pool4"   pooling_param {     pool: MAX     kernel_size: 2     stride: 2   } } layer {   name: "conv5_1"   type: "Convolution"   bottom: "pool4"   top: "conv5_1"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 512     pad: 1     kernel_size: 3     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "relu5_1"   type: "ReLU"   bottom: "conv5_1"   top: "conv5_1" } layer {   name: "conv5_2"   type: "Convolution"   bottom: "conv5_1"   top: "conv5_2"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 512     pad: 1     kernel_size: 3     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "relu5_2"   type: "ReLU"   bottom: "conv5_2"   top: "conv5_2" } layer {   name: "conv5_3"   type: "Convolution"   bottom: "conv5_2"   top: "conv5_3"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 512     pad: 1     kernel_size: 3     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "relu5_3"   type: "ReLU"   bottom: "conv5_3"   top: "conv5_3" } layer {   name: "pool5"   type: "Pooling"   bottom: "conv5_3"   top: "pool5"   pooling_param {     pool: MAX     kernel_size: 3     stride: 1     pad: 1   } } layer {   name: "fc6"   type: "Convolution"   bottom: "pool5"   top: "fc6"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 1024     pad: 6     kernel_size: 3     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }     dilation: 6   } } layer {   name: "relu6"   type: "ReLU"   bottom: "fc6"   top: "fc6" } layer {   name: "fc7"   type: "Convolution"   bottom: "fc6"   top: "fc7"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 1024     kernel_size: 1     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "relu7"   type: "ReLU"   bottom: "fc7"   top: "fc7" } layer {   name: "conv6_1"   type: "Convolution"   bottom: "fc7"   top: "conv6_1"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 256     pad: 0     kernel_size: 1     stride: 1     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "conv6_1_relu"   type: "ReLU"   bottom: "conv6_1"   top: "conv6_1" } layer {   name: "conv6_2"   type: "Convolution"   bottom: "conv6_1"   top: "conv6_2"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 512     pad: 1     kernel_size: 3     stride: 2     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "conv6_2_relu"   type: "ReLU"   bottom: "conv6_2"   top: "conv6_2" } layer {   name: "conv7_1"   type: "Convolution"   bottom: "conv6_2"   top: "conv7_1"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 128     pad: 0     kernel_size: 1     stride: 1     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "conv7_1_relu"   type: "ReLU"   bottom: "conv7_1"   top: "conv7_1" } layer {   name: "conv7_2"   type: "Convolution"   bottom: "conv7_1"   top: "conv7_2"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 256     pad: 1     kernel_size: 3     stride: 2     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "conv7_2_relu"   type: "ReLU"   bottom: "conv7_2"   top: "conv7_2" } layer {   name: "conv8_1"   type: "Convolution"   bottom: "conv7_2"   top: "conv8_1"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 128     pad: 0     kernel_size: 1     stride: 1     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "conv8_1_relu"   type: "ReLU"   bottom: "conv8_1"   top: "conv8_1" } layer {   name: "conv8_2"   type: "Convolution"   bottom: "conv8_1"   top: "conv8_2"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 256     pad: 1     kernel_size: 3     stride: 2     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "conv8_2_relu"   type: "ReLU"   bottom: "conv8_2"   top: "conv8_2" } layer {   name: "pool6"   type: "Pooling"   bottom: "conv8_2"   top: "pool6"   pooling_param {     pool: AVE     global_pooling: true   } } layer {   name: "conv4_3_norm"   type: "Normalize"   bottom: "conv4_3"   top: "conv4_3_norm"   norm_param {     across_spatial: false     scale_filler {       type: "constant"       value: 20     }     channel_shared: false   } } layer {   name: "conv4_3_norm_mbox_loc"   type: "Convolution"   bottom: "conv4_3_norm"   top: "conv4_3_norm_mbox_loc"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 12     pad: 1     kernel_size: 3     stride: 1     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "conv4_3_norm_mbox_loc_perm"   type: "Permute"   bottom: "conv4_3_norm_mbox_loc"   top: "conv4_3_norm_mbox_loc_perm"   permute_param {     order: 0     order: 2     order: 3     order: 1   } } layer {   name: "conv4_3_norm_mbox_loc_flat"   type: "Flatten"   bottom: "conv4_3_norm_mbox_loc_perm"   top: "conv4_3_norm_mbox_loc_flat"   flatten_param {     axis: 1   } } layer {   name: "conv4_3_norm_mbox_conf"   type: "Convolution"   bottom: "conv4_3_norm"   top: "conv4_3_norm_mbox_conf"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 63     pad: 1     kernel_size: 3     stride: 1     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "conv4_3_norm_mbox_conf_perm"   type: "Permute"   bottom: "conv4_3_norm_mbox_conf"   top: "conv4_3_norm_mbox_conf_perm"   permute_param {     order: 0     order: 2     order: 3     order: 1   } } layer {   name: "conv4_3_norm_mbox_conf_flat"   type: "Flatten"   bottom: "conv4_3_norm_mbox_conf_perm"   top: "conv4_3_norm_mbox_conf_flat"   flatten_param {     axis: 1   } } layer {   name: "conv4_3_norm_mbox_priorbox"   type: "PriorBox"   bottom: "conv4_3_norm"   bottom: "data"   top: "conv4_3_norm_mbox_priorbox"   prior_box_param {     min_size: 30.0     aspect_ratio: 2     flip: true     clip: true     variance: 0.1     variance: 0.1     variance: 0.2     variance: 0.2   } } layer {   name: "fc7_mbox_loc"   type: "Convolution"   bottom: "fc7"   top: "fc7_mbox_loc"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 24     pad: 1     kernel_size: 3     stride: 1     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "fc7_mbox_loc_perm"   type: "Permute"   bottom: "fc7_mbox_loc"   top: "fc7_mbox_loc_perm"   permute_param {     order: 0     order: 2     order: 3     order: 1   } } layer {   name: "fc7_mbox_loc_flat"   type: "Flatten"   bottom: "fc7_mbox_loc_perm"   top: "fc7_mbox_loc_flat"   flatten_param {     axis: 1   } } layer {   name: "fc7_mbox_conf"   type: "Convolution"   bottom: "fc7"   top: "fc7_mbox_conf"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 126     pad: 1     kernel_size: 3     stride: 1     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "fc7_mbox_conf_perm"   type: "Permute"   bottom: "fc7_mbox_conf"   top: "fc7_mbox_conf_perm"   permute_param {     order: 0     order: 2     order: 3     order: 1   } } layer {   name: "fc7_mbox_conf_flat"   type: "Flatten"   bottom: "fc7_mbox_conf_perm"   top: "fc7_mbox_conf_flat"   flatten_param {     axis: 1   } } layer {   name: "fc7_mbox_priorbox"   type: "PriorBox"   bottom: "fc7"   bottom: "data"   top: "fc7_mbox_priorbox"   prior_box_param {     min_size: 60.0     max_size: 114.0     aspect_ratio: 2     aspect_ratio: 3     flip: true     clip: true     variance: 0.1     variance: 0.1     variance: 0.2     variance: 0.2   } } layer {   name: "conv6_2_mbox_loc"   type: "Convolution"   bottom: "conv6_2"   top: "conv6_2_mbox_loc"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 24     pad: 1     kernel_size: 3     stride: 1     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "conv6_2_mbox_loc_perm"   type: "Permute"   bottom: "conv6_2_mbox_loc"   top: "conv6_2_mbox_loc_perm"   permute_param {     order: 0     order: 2     order: 3     order: 1   } } layer {   name: "conv6_2_mbox_loc_flat"   type: "Flatten"   bottom: "conv6_2_mbox_loc_perm"   top: "conv6_2_mbox_loc_flat"   flatten_param {     axis: 1   } } layer {   name: "conv6_2_mbox_conf"   type: "Convolution"   bottom: "conv6_2"   top: "conv6_2_mbox_conf"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 126     pad: 1     kernel_size: 3     stride: 1     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "conv6_2_mbox_conf_perm"   type: "Permute"   bottom: "conv6_2_mbox_conf"   top: "conv6_2_mbox_conf_perm"   permute_param {     order: 0     order: 2     order: 3     order: 1   } } layer {   name: "conv6_2_mbox_conf_flat"   type: "Flatten"   bottom: "conv6_2_mbox_conf_perm"   top: "conv6_2_mbox_conf_flat"   flatten_param {     axis: 1   } } layer {   name: "conv6_2_mbox_priorbox"   type: "PriorBox"   bottom: "conv6_2"   bottom: "data"   top: "conv6_2_mbox_priorbox"   prior_box_param {     min_size: 114.0     max_size: 168.0     aspect_ratio: 2     aspect_ratio: 3     flip: true     clip: true     variance: 0.1     variance: 0.1     variance: 0.2     variance: 0.2   } } layer {   name: "conv7_2_mbox_loc"   type: "Convolution"   bottom: "conv7_2"   top: "conv7_2_mbox_loc"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 24     pad: 1     kernel_size: 3     stride: 1     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "conv7_2_mbox_loc_perm"   type: "Permute"   bottom: "conv7_2_mbox_loc"   top: "conv7_2_mbox_loc_perm"   permute_param {     order: 0     order: 2     order: 3     order: 1   } } layer {   name: "conv7_2_mbox_loc_flat"   type: "Flatten"   bottom: "conv7_2_mbox_loc_perm"   top: "conv7_2_mbox_loc_flat"   flatten_param {     axis: 1   } } layer {   name: "conv7_2_mbox_conf"   type: "Convolution"   bottom: "conv7_2"   top: "conv7_2_mbox_conf"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 126     pad: 1     kernel_size: 3     stride: 1     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "conv7_2_mbox_conf_perm"   type: "Permute"   bottom: "conv7_2_mbox_conf"   top: "conv7_2_mbox_conf_perm"   permute_param {     order: 0     order: 2     order: 3     order: 1   } } layer {   name: "conv7_2_mbox_conf_flat"   type: "Flatten"   bottom: "conv7_2_mbox_conf_perm"   top: "conv7_2_mbox_conf_flat"   flatten_param {     axis: 1   } } layer {   name: "conv7_2_mbox_priorbox"   type: "PriorBox"   bottom: "conv7_2"   bottom: "data"   top: "conv7_2_mbox_priorbox"   prior_box_param {     min_size: 168.0     max_size: 222.0     aspect_ratio: 2     aspect_ratio: 3     flip: true     clip: true     variance: 0.1     variance: 0.1     variance: 0.2     variance: 0.2   } } layer {   name: "conv8_2_mbox_loc"   type: "Convolution"   bottom: "conv8_2"   top: "conv8_2_mbox_loc"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 24     pad: 1     kernel_size: 3     stride: 1     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "conv8_2_mbox_loc_perm"   type: "Permute"   bottom: "conv8_2_mbox_loc"   top: "conv8_2_mbox_loc_perm"   permute_param {     order: 0     order: 2     order: 3     order: 1   } } layer {   name: "conv8_2_mbox_loc_flat"   type: "Flatten"   bottom: "conv8_2_mbox_loc_perm"   top: "conv8_2_mbox_loc_flat"   flatten_param {     axis: 1   } } layer {   name: "conv8_2_mbox_conf"   type: "Convolution"   bottom: "conv8_2"   top: "conv8_2_mbox_conf"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 126     pad: 1     kernel_size: 3     stride: 1     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "conv8_2_mbox_conf_perm"   type: "Permute"   bottom: "conv8_2_mbox_conf"   top: "conv8_2_mbox_conf_perm"   permute_param {     order: 0     order: 2     order: 3     order: 1   } } layer {   name: "conv8_2_mbox_conf_flat"   type: "Flatten"   bottom: "conv8_2_mbox_conf_perm"   top: "conv8_2_mbox_conf_flat"   flatten_param {     axis: 1   } } layer {   name: "conv8_2_mbox_priorbox"   type: "PriorBox"   bottom: "conv8_2"   bottom: "data"   top: "conv8_2_mbox_priorbox"   prior_box_param {     min_size: 222.0     max_size: 276.0     aspect_ratio: 2     aspect_ratio: 3     flip: true     clip: true     variance: 0.1     variance: 0.1     variance: 0.2     variance: 0.2   } } layer {   name: "pool6_mbox_loc"   type: "Convolution"   bottom: "pool6"   top: "pool6_mbox_loc"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 24     pad: 1     kernel_size: 3     stride: 1     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "pool6_mbox_loc_perm"   type: "Permute"   bottom: "pool6_mbox_loc"   top: "pool6_mbox_loc_perm"   permute_param {     order: 0     order: 2     order: 3     order: 1   } } layer {   name: "pool6_mbox_loc_flat"   type: "Flatten"   bottom: "pool6_mbox_loc_perm"   top: "pool6_mbox_loc_flat"   flatten_param {     axis: 1   } } layer {   name: "pool6_mbox_conf"   type: "Convolution"   bottom: "pool6"   top: "pool6_mbox_conf"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 126     pad: 1     kernel_size: 3     stride: 1     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "pool6_mbox_conf_perm"   type: "Permute"   bottom: "pool6_mbox_conf"   top: "pool6_mbox_conf_perm"   permute_param {     order: 0     order: 2     order: 3     order: 1   } } layer {   name: "pool6_mbox_conf_flat"   type: "Flatten"   bottom: "pool6_mbox_conf_perm"   top: "pool6_mbox_conf_flat"   flatten_param {     axis: 1   } } layer {   name: "pool6_mbox_priorbox"   type: "PriorBox"   bottom: "pool6"   bottom: "data"   top: "pool6_mbox_priorbox"   prior_box_param {     min_size: 276.0     max_size: 330.0     aspect_ratio: 2     aspect_ratio: 3     flip: true     clip: true     variance: 0.1     variance: 0.1     variance: 0.2     variance: 0.2   } } layer {   name: "mbox_loc"   type: "Concat"   bottom: "conv4_3_norm_mbox_loc_flat"   bottom: "fc7_mbox_loc_flat"   bottom: "conv6_2_mbox_loc_flat"   bottom: "conv7_2_mbox_loc_flat"   bottom: "conv8_2_mbox_loc_flat"   bottom: "pool6_mbox_loc_flat"   top: "mbox_loc"   concat_param {     axis: 1   } } layer {   name: "mbox_conf"   type: "Concat"   bottom: "conv4_3_norm_mbox_conf_flat"   bottom: "fc7_mbox_conf_flat"   bottom: "conv6_2_mbox_conf_flat"   bottom: "conv7_2_mbox_conf_flat"   bottom: "conv8_2_mbox_conf_flat"   bottom: "pool6_mbox_conf_flat"   top: "mbox_conf"   concat_param {     axis: 1   } } layer {   name: "mbox_priorbox"   type: "Concat"   bottom: "conv4_3_norm_mbox_priorbox"   bottom: "fc7_mbox_priorbox"   bottom: "conv6_2_mbox_priorbox"   bottom: "conv7_2_mbox_priorbox"   bottom: "conv8_2_mbox_priorbox"   bottom: "pool6_mbox_priorbox"   top: "mbox_priorbox"   concat_param {     axis: 2   } } layer {   name: "mbox_loss"   type: "MultiBoxLoss"   bottom: "mbox_loc"   bottom: "mbox_conf"   bottom: "mbox_priorbox"   bottom: "label"   top: "mbox_loss"   include {     phase: TRAIN   }   propagate_down: true   propagate_down: true   propagate_down: false   propagate_down: false   loss_param {     normalization: VALID   }   multibox_loss_param {     loc_loss_type: SMOOTH_L1     conf_loss_type: SOFTMAX     loc_weight: 1.0     num_classes: 21     share_location: true     match_type: PER_PREDICTION     overlap_threshold: 0.5     use_prior_for_matching: true     background_label_id: 0     use_difficult_gt: true     do_neg_mining: true     neg_pos_ratio: 3.0     neg_overlap: 0.5     code_type: CENTER_SIZE   } }

修改后

name: "VGG_VOC0712_SSD_300x300_train" layer {   name: "data"   type: "AnnotatedData"   top: "data"   top: "label"   include {     phase: TRAIN   }   transform_param {     mirror: true     mean_value: 104     mean_value: 117     mean_value: 123     resize_param {       prob: 1       resize_mode: WARP       height: 300       width: 300       interp_mode: LINEAR       interp_mode: AREA       interp_mode: NEAREST       interp_mode: CUBIC       interp_mode: LANCZOS4     }     emit_constraint {       emit_type: CENTER     }   }   data_param {     source: "D:/caffe-ssd-microsoft/myproj/lmdb/train_lmdb"     batch_size: 32     backend: LMDB   }   annotated_data_param {     label_map_file: ">D:/caffe-ssd-microsoft/myproj/prototxt/labelmap_voc.prototxt"   } }

layer {   name: "conv1_1"   type: "Convolution"   bottom: "data"   top: "conv1_1"   param {     lr_mult: 0     decay_mult: 0   }   param {     lr_mult: 0     decay_mult: 0   }   convolution_param {     num_output: 64     pad: 1     kernel_size: 3     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "relu1_1"   type: "ReLU"   bottom: "conv1_1"   top: "conv1_1" } layer {   name: "conv1_2"   type: "Convolution"   bottom: "conv1_1"   top: "conv1_2"   param {     lr_mult: 0     decay_mult: 0   }   param {     lr_mult: 0     decay_mult: 0   }   convolution_param {     num_output: 64     pad: 1     kernel_size: 3     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "relu1_2"   type: "ReLU"   bottom: "conv1_2"   top: "conv1_2" } layer {   name: "pool1"   type: "Pooling"   bottom: "conv1_2"   top: "pool1"   pooling_param {     pool: MAX     kernel_size: 2     stride: 2   } } layer {   name: "conv2_1"   type: "Convolution"   bottom: "pool1"   top: "conv2_1"   param {     lr_mult: 0     decay_mult: 0   }   param {     lr_mult: 0     decay_mult: 0   }   convolution_param {     num_output: 128     pad: 1     kernel_size: 3     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "relu2_1"   type: "ReLU"   bottom: "conv2_1"   top: "conv2_1" } layer {   name: "conv2_2"   type: "Convolution"   bottom: "conv2_1"   top: "conv2_2"   param {     lr_mult: 0     decay_mult: 0   }   param {     lr_mult: 0     decay_mult: 0   }   convolution_param {     num_output: 128     pad: 1     kernel_size: 3     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "relu2_2"   type: "ReLU"   bottom: "conv2_2"   top: "conv2_2" } layer {   name: "pool2"   type: "Pooling"   bottom: "conv2_2"   top: "pool2"   pooling_param {     pool: MAX     kernel_size: 2     stride: 2   } } layer {   name: "conv3_1"   type: "Convolution"   bottom: "pool2"   top: "conv3_1"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 256     pad: 1     kernel_size: 3     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "relu3_1"   type: "ReLU"   bottom: "conv3_1"   top: "conv3_1" } layer {   name: "conv3_2"   type: "Convolution"   bottom: "conv3_1"   top: "conv3_2"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 256     pad: 1     kernel_size: 3     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "relu3_2"   type: "ReLU"   bottom: "conv3_2"   top: "conv3_2" } layer {   name: "conv3_3"   type: "Convolution"   bottom: "conv3_2"   top: "conv3_3"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 256     pad: 1     kernel_size: 3     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "relu3_3"   type: "ReLU"   bottom: "conv3_3"   top: "conv3_3" } layer {   name: "pool3"   type: "Pooling"   bottom: "conv3_3"   top: "pool3"   pooling_param {     pool: MAX     kernel_size: 2     stride: 2   } } layer {   name: "conv4_1"   type: "Convolution"   bottom: "pool3"   top: "conv4_1"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 512     pad: 1     kernel_size: 3     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "relu4_1"   type: "ReLU"   bottom: "conv4_1"   top: "conv4_1" } layer {   name: "conv4_2"   type: "Convolution"   bottom: "conv4_1"   top: "conv4_2"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 512     pad: 1     kernel_size: 3     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "relu4_2"   type: "ReLU"   bottom: "conv4_2"   top: "conv4_2" } layer {   name: "conv4_3"   type: "Convolution"   bottom: "conv4_2"   top: "conv4_3"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 512     pad: 1     kernel_size: 3     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "relu4_3"   type: "ReLU"   bottom: "conv4_3"   top: "conv4_3" } layer {   name: "pool4"   type: "Pooling"   bottom: "conv4_3"   top: "pool4"   pooling_param {     pool: MAX     kernel_size: 2     stride: 2   } } layer {   name: "conv5_1"   type: "Convolution"   bottom: "pool4"   top: "conv5_1"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 512     pad: 1     kernel_size: 3     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "relu5_1"   type: "ReLU"   bottom: "conv5_1"   top: "conv5_1" } layer {   name: "conv5_2"   type: "Convolution"   bottom: "conv5_1"   top: "conv5_2"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 512     pad: 1     kernel_size: 3     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "relu5_2"   type: "ReLU"   bottom: "conv5_2"   top: "conv5_2" } layer {   name: "conv5_3"   type: "Convolution"   bottom: "conv5_2"   top: "conv5_3"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 512     pad: 1     kernel_size: 3     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "relu5_3"   type: "ReLU"   bottom: "conv5_3"   top: "conv5_3" } layer {   name: "pool5"   type: "Pooling"   bottom: "conv5_3"   top: "pool5"   pooling_param {     pool: MAX     kernel_size: 3     stride: 1     pad: 1   } } layer {   name: "fc6"   type: "Convolution"   bottom: "pool5"   top: "fc6"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 1024     pad: 6     kernel_size: 3     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }     dilation: 6   } } layer {   name: "relu6"   type: "ReLU"   bottom: "fc6"   top: "fc6" } layer {   name: "fc7"   type: "Convolution"   bottom: "fc6"   top: "fc7"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 1024     kernel_size: 1     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "relu7"   type: "ReLU"   bottom: "fc7"   top: "fc7" } layer {   name: "conv6_1"   type: "Convolution"   bottom: "fc7"   top: "conv6_1"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 256     pad: 0     kernel_size: 1     stride: 1     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "conv6_1_relu"   type: "ReLU"   bottom: "conv6_1"   top: "conv6_1" } layer {   name: "conv6_2"   type: "Convolution"   bottom: "conv6_1"   top: "conv6_2"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 512     pad: 1     kernel_size: 3     stride: 2     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "conv6_2_relu"   type: "ReLU"   bottom: "conv6_2"   top: "conv6_2" } layer {   name: "conv7_1"   type: "Convolution"   bottom: "conv6_2"   top: "conv7_1"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 128     pad: 0     kernel_size: 1     stride: 1     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "conv7_1_relu"   type: "ReLU"   bottom: "conv7_1"   top: "conv7_1" } layer {   name: "conv7_2"   type: "Convolution"   bottom: "conv7_1"   top: "conv7_2"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 256     pad: 1     kernel_size: 3     stride: 2     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "conv7_2_relu"   type: "ReLU"   bottom: "conv7_2"   top: "conv7_2" } layer {   name: "conv8_1"   type: "Convolution"   bottom: "conv7_2"   top: "conv8_1"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 128     pad: 0     kernel_size: 1     stride: 1     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "conv8_1_relu"   type: "ReLU"   bottom: "conv8_1"   top: "conv8_1" } layer {   name: "conv8_2"   type: "Convolution"   bottom: "conv8_1"   top: "conv8_2"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 256     pad: 1     kernel_size: 3     stride: 2     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "conv8_2_relu"   type: "ReLU"   bottom: "conv8_2"   top: "conv8_2" } layer {   name: "pool6"   type: "Pooling"   bottom: "conv8_2"   top: "pool6"   pooling_param {     pool: AVE     global_pooling: true   } } layer {   name: "conv4_3_norm"   type: "Normalize"   bottom: "conv4_3"   top: "conv4_3_norm"   norm_param {     across_spatial: false     scale_filler {       type: "constant"       value: 20     }     channel_shared: false   } } layer {   name: "conv4_3_norm_mbox_loc"   type: "Convolution"   bottom: "conv4_3_norm"   top: "conv4_3_norm_mbox_loc"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 12     pad: 1     kernel_size: 3     stride: 1     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "conv4_3_norm_mbox_loc_perm"   type: "Permute"   bottom: "conv4_3_norm_mbox_loc"   top: "conv4_3_norm_mbox_loc_perm"   permute_param {     order: 0     order: 2     order: 3     order: 1   } } layer {   name: "conv4_3_norm_mbox_loc_flat"   type: "Flatten"   bottom: "conv4_3_norm_mbox_loc_perm"   top: "conv4_3_norm_mbox_loc_flat"   flatten_param {     axis: 1   } } layer {   name: "conv4_3_norm_mbox_conf"   type: "Convolution"   bottom: "conv4_3_norm"   top: "conv4_3_norm_mbox_conf"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 63     pad: 1     kernel_size: 3     stride: 1     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "conv4_3_norm_mbox_conf_perm"   type: "Permute"   bottom: "conv4_3_norm_mbox_conf"   top: "conv4_3_norm_mbox_conf_perm"   permute_param {     order: 0     order: 2     order: 3     order: 1   } } layer {   name: "conv4_3_norm_mbox_conf_flat"   type: "Flatten"   bottom: "conv4_3_norm_mbox_conf_perm"   top: "conv4_3_norm_mbox_conf_flat"   flatten_param {     axis: 1   } } layer {   name: "conv4_3_norm_mbox_priorbox"   type: "PriorBox"   bottom: "conv4_3_norm"   bottom: "data"   top: "conv4_3_norm_mbox_priorbox"   prior_box_param {     min_size: 30.0     aspect_ratio: 2     flip: true     clip: true     variance: 0.1     variance: 0.1     variance: 0.2     variance: 0.2   } } layer {   name: "fc7_mbox_loc"   type: "Convolution"   bottom: "fc7"   top: "fc7_mbox_loc"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 24     pad: 1     kernel_size: 3     stride: 1     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "fc7_mbox_loc_perm"   type: "Permute"   bottom: "fc7_mbox_loc"   top: "fc7_mbox_loc_perm"   permute_param {     order: 0     order: 2     order: 3     order: 1   } } layer {   name: "fc7_mbox_loc_flat"   type: "Flatten"   bottom: "fc7_mbox_loc_perm"   top: "fc7_mbox_loc_flat"   flatten_param {     axis: 1   } } layer {   name: "fc7_mbox_conf"   type: "Convolution"   bottom: "fc7"   top: "fc7_mbox_conf"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 126     pad: 1     kernel_size: 3     stride: 1     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "fc7_mbox_conf_perm"   type: "Permute"   bottom: "fc7_mbox_conf"   top: "fc7_mbox_conf_perm"   permute_param {     order: 0     order: 2     order: 3     order: 1   } } layer {   name: "fc7_mbox_conf_flat"   type: "Flatten"   bottom: "fc7_mbox_conf_perm"   top: "fc7_mbox_conf_flat"   flatten_param {     axis: 1   } } layer {   name: "fc7_mbox_priorbox"   type: "PriorBox"   bottom: "fc7"   bottom: "data"   top: "fc7_mbox_priorbox"   prior_box_param {     min_size: 60.0     max_size: 114.0     aspect_ratio: 2     aspect_ratio: 3     flip: true     clip: true     variance: 0.1     variance: 0.1     variance: 0.2     variance: 0.2   } } layer {   name: "conv6_2_mbox_loc"   type: "Convolution"   bottom: "conv6_2"   top: "conv6_2_mbox_loc"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 24     pad: 1     kernel_size: 3     stride: 1     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "conv6_2_mbox_loc_perm"   type: "Permute"   bottom: "conv6_2_mbox_loc"   top: "conv6_2_mbox_loc_perm"   permute_param {     order: 0     order: 2     order: 3     order: 1   } } layer {   name: "conv6_2_mbox_loc_flat"   type: "Flatten"   bottom: "conv6_2_mbox_loc_perm"   top: "conv6_2_mbox_loc_flat"   flatten_param {     axis: 1   } } layer {   name: "conv6_2_mbox_conf"   type: "Convolution"   bottom: "conv6_2"   top: "conv6_2_mbox_conf"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 126     pad: 1     kernel_size: 3     stride: 1     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "conv6_2_mbox_conf_perm"   type: "Permute"   bottom: "conv6_2_mbox_conf"   top: "conv6_2_mbox_conf_perm"   permute_param {     order: 0     order: 2     order: 3     order: 1   } } layer {   name: "conv6_2_mbox_conf_flat"   type: "Flatten"   bottom: "conv6_2_mbox_conf_perm"   top: "conv6_2_mbox_conf_flat"   flatten_param {     axis: 1   } } layer {   name: "conv6_2_mbox_priorbox"   type: "PriorBox"   bottom: "conv6_2"   bottom: "data"   top: "conv6_2_mbox_priorbox"   prior_box_param {     min_size: 114.0     max_size: 168.0     aspect_ratio: 2     aspect_ratio: 3     flip: true     clip: true     variance: 0.1     variance: 0.1     variance: 0.2     variance: 0.2   } } layer {   name: "conv7_2_mbox_loc"   type: "Convolution"   bottom: "conv7_2"   top: "conv7_2_mbox_loc"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 24     pad: 1     kernel_size: 3     stride: 1     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "conv7_2_mbox_loc_perm"   type: "Permute"   bottom: "conv7_2_mbox_loc"   top: "conv7_2_mbox_loc_perm"   permute_param {     order: 0     order: 2     order: 3     order: 1   } } layer {   name: "conv7_2_mbox_loc_flat"   type: "Flatten"   bottom: "conv7_2_mbox_loc_perm"   top: "conv7_2_mbox_loc_flat"   flatten_param {     axis: 1   } } layer {   name: "conv7_2_mbox_conf"   type: "Convolution"   bottom: "conv7_2"   top: "conv7_2_mbox_conf"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 126     pad: 1     kernel_size: 3     stride: 1     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "conv7_2_mbox_conf_perm"   type: "Permute"   bottom: "conv7_2_mbox_conf"   top: "conv7_2_mbox_conf_perm"   permute_param {     order: 0     order: 2     order: 3     order: 1   } } layer {   name: "conv7_2_mbox_conf_flat"   type: "Flatten"   bottom: "conv7_2_mbox_conf_perm"   top: "conv7_2_mbox_conf_flat"   flatten_param {     axis: 1   } } layer {   name: "conv7_2_mbox_priorbox"   type: "PriorBox"   bottom: "conv7_2"   bottom: "data"   top: "conv7_2_mbox_priorbox"   prior_box_param {     min_size: 168.0     max_size: 222.0     aspect_ratio: 2     aspect_ratio: 3     flip: true     clip: true     variance: 0.1     variance: 0.1     variance: 0.2     variance: 0.2   } } layer {   name: "conv8_2_mbox_loc"   type: "Convolution"   bottom: "conv8_2"   top: "conv8_2_mbox_loc"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 24     pad: 1     kernel_size: 3     stride: 1     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "conv8_2_mbox_loc_perm"   type: "Permute"   bottom: "conv8_2_mbox_loc"   top: "conv8_2_mbox_loc_perm"   permute_param {     order: 0     order: 2     order: 3     order: 1   } } layer {   name: "conv8_2_mbox_loc_flat"   type: "Flatten"   bottom: "conv8_2_mbox_loc_perm"   top: "conv8_2_mbox_loc_flat"   flatten_param {     axis: 1   } } layer {   name: "conv8_2_mbox_conf"   type: "Convolution"   bottom: "conv8_2"   top: "conv8_2_mbox_conf"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 126     pad: 1     kernel_size: 3     stride: 1     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "conv8_2_mbox_conf_perm"   type: "Permute"   bottom: "conv8_2_mbox_conf"   top: "conv8_2_mbox_conf_perm"   permute_param {     order: 0     order: 2     order: 3     order: 1   } } layer {   name: "conv8_2_mbox_conf_flat"   type: "Flatten"   bottom: "conv8_2_mbox_conf_perm"   top: "conv8_2_mbox_conf_flat"   flatten_param {     axis: 1   } } layer {   name: "conv8_2_mbox_priorbox"   type: "PriorBox"   bottom: "conv8_2"   bottom: "data"   top: "conv8_2_mbox_priorbox"   prior_box_param {     min_size: 222.0     max_size: 276.0     aspect_ratio: 2     aspect_ratio: 3     flip: true     clip: true     variance: 0.1     variance: 0.1     variance: 0.2     variance: 0.2   } } layer {   name: "pool6_mbox_loc"   type: "Convolution"   bottom: "pool6"   top: "pool6_mbox_loc"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 24     pad: 1     kernel_size: 3     stride: 1     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "pool6_mbox_loc_perm"   type: "Permute"   bottom: "pool6_mbox_loc"   top: "pool6_mbox_loc_perm"   permute_param {     order: 0     order: 2     order: 3     order: 1   } } layer {   name: "pool6_mbox_loc_flat"   type: "Flatten"   bottom: "pool6_mbox_loc_perm"   top: "pool6_mbox_loc_flat"   flatten_param {     axis: 1   } } layer {   name: "pool6_mbox_conf"   type: "Convolution"   bottom: "pool6"   top: "pool6_mbox_conf"   param {     lr_mult: 1     decay_mult: 1   }   param {     lr_mult: 2     decay_mult: 0   }   convolution_param {     num_output: 126     pad: 1     kernel_size: 3     stride: 1     weight_filler {       type: "xavier"     }     bias_filler {       type: "constant"       value: 0     }   } } layer {   name: "pool6_mbox_conf_perm"   type: "Permute"   bottom: "pool6_mbox_conf"   top: "pool6_mbox_conf_perm"   permute_param {     order: 0     order: 2     order: 3     order: 1   } } layer {   name: "pool6_mbox_conf_flat"   type: "Flatten"   bottom: "pool6_mbox_conf_perm"   top: "pool6_mbox_conf_flat"   flatten_param {     axis: 1   } } layer {   name: "pool6_mbox_priorbox"   type: "PriorBox"   bottom: "pool6"   bottom: "data"   top: "pool6_mbox_priorbox"   prior_box_param {     min_size: 276.0     max_size: 330.0     aspect_ratio: 2     aspect_ratio: 3     flip: true     clip: true     variance: 0.1     variance: 0.1     variance: 0.2     variance: 0.2   } } layer {   name: "mbox_loc"   type: "Concat"   bottom: "conv4_3_norm_mbox_loc_flat"   bottom: "fc7_mbox_loc_flat"   bottom: "conv6_2_mbox_loc_flat"   bottom: "conv7_2_mbox_loc_flat"   bottom: "conv8_2_mbox_loc_flat"   bottom: "pool6_mbox_loc_flat"   top: "mbox_loc"   concat_param {     axis: 1   } } layer {   name: "mbox_conf"   type: "Concat"   bottom: "conv4_3_norm_mbox_conf_flat"   bottom: "fc7_mbox_conf_flat"   bottom: "conv6_2_mbox_conf_flat"   bottom: "conv7_2_mbox_conf_flat"   bottom: "conv8_2_mbox_conf_flat"   bottom: "pool6_mbox_conf_flat"   top: "mbox_conf"   concat_param {     axis: 1   } } layer {   name: "mbox_priorbox"   type: "Concat"   bottom: "conv4_3_norm_mbox_priorbox"   bottom: "fc7_mbox_priorbox"   bottom: "conv6_2_mbox_priorbox"   bottom: "conv7_2_mbox_priorbox"   bottom: "conv8_2_mbox_priorbox"   bottom: "pool6_mbox_priorbox"   top: "mbox_priorbox"   concat_param {     axis: 2   } } layer {   name: "mbox_loss"   type: "MultiBoxLoss"   bottom: "mbox_loc"   bottom: "mbox_conf"   bottom: "mbox_priorbox"   bottom: "label"   top: "mbox_loss"   include {     phase: TRAIN   }   propagate_down: true   propagate_down: true   propagate_down: false   propagate_down: false   loss_param {     normalization: VALID   }   multibox_loss_param {     loc_loss_type: SMOOTH_L1     conf_loss_type: SOFTMAX     loc_weight: 1.0     num_classes: 21     share_location: true     match_type: PER_PREDICTION     overlap_threshold: 0.5     use_prior_for_matching: true     background_label_id: 0     use_difficult_gt: true     do_neg_mining: true     neg_pos_ratio: 3.0     neg_overlap: 0.5     code_type: CENTER_SIZE   } }

其实就是把batch_sample那些删除就可以了。最后总结一下

--encode_type=jpg --encoded=True设置编码就直接用上面配置文件即可

--encoded=False删除batc_sampler部配置即用下面配置文件即可

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-06-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档