DRML(2016-CVPR)重现过程记录---(7)问题定位_2
2017-05-09 10:56
302 查看
1, 排除一部分可能性
DRML作者除了他们算法DRML的prototxt以外,还提供了做实验用的AlexNet,ConvNet的prototxt文件。于是,我们直接用AlexNet.prototxt来训练(注意要打开调试开关),打印训练时的网络数据,发现训练基本趋势正常。我们猜测:作者的多标签输入层和loss层,以及我们的数据处理部分,应该基本没有问题。那么为什么采用DRML.prototxt会出错呢?
2,怎样避免网络训练过程中出现全0的情况
zjp打印出来的DRML网络训练过程的数据,有时候是conv层异常,有时候是batchnorm层异常,有时候relu层异常,有时候是fc层异常,明显的异常就是全部变成0。为了不让训练过程网络数据出现全0的情况,zjp参考了ResNet的网络结构,在DRML原本的batchnorm层和relu层之间增加了scale层,每一个卷积层后面增加了一个batchnorm、一个scale、一个relu,并且删除DRML原本的batchnorm中的学习率参数。
再进行训练时查看参数变化过程则发现不会再出现全0 的情况,模型是否合适还需要实验验证。
以下是更改后的DRML.prototxt
下面是更改后的DRML.prototxt在cifar10数据集和在disfa plus数据集上训练的loss曲线
用cifar数据集做测试明显能够看到收敛效果,但是在disfa plus数据集上不收敛,至少说明drml网络本身已经没有太多问题,剩下的是根据这个数据集本身对drml网络进行调参,啊,不喜欢调参,尤其不喜欢没有方向地调参。
zjp说我们把人家的网络改得太多了,修改网络的时候主要是batchnorm层和scale以及relu层,那么猜测之前可能是作者那个网络batchnorm直接这么做不太对,batchnorm和relu之间没有scale。所以,我们删除了我们之前在conv层后增加的batchnorm\scale层,只保留region layer中的batchnorm和relu之间的scale。
下面是修改后的网络结构。
我们测试了cifar10
还是收敛的啊,所以只修改这一部分就够了,zjp的猜想是对的。
3,训练过程不出现全0之后的定位与调整
有没有可能是我们的数据集本身就是很难训练的呢?
我们用alexnet网络多标签训练disfa plus数据集的reain loss曲线如图
前面看着还比较像收敛,虽然有一些毛刺,后面看完整的就是纯粹的震荡了,这个loss曲线太丑了。T_T
所以是disfa plus数据集比较难训练?或者是因为多标签所以难训练?
(这里训练cifar10时会改成单标签多分类任务,而训练disfa时会使用多标签分类任务)
******************************************************************************************************************
********************************************************************************************************************
********************************************************************************************************************
*******************************************************************************************************************
好,我们尝试另外一种训练方案,之前说过有人在tensorflow上实现drml,但是用单标签,实现了,效果还可以。
那我们改成drml单标签试试?
输入层采用lmdb,loss用softmax,只训练一个AU是否存在。
下面是prototxt文件和train loss曲线结果
收敛了。对比我们不收敛的disfa drml训练,修改的部分主要有两条,一条是数据输入,多标签vs单标签,一条是loss函数,drml用自己写的multi sigmoid cross entroy, vs softmaxloss
但是,用已有图片测试训练出来的单标签模型的时候发现网络的输出一直是该AU不存在,检查之后发现,我在这个单标签训练模型时用的disfa plus数据集的AU9作为训练项,存在AU9的图片10%不到,所以网络直接输出没有AU9了。。。
下面是disfa plus数据集和disfa 数据集的统计信息
所以我重新选择了AU4作为检测对象。计划明天(5.11)训练检测drml对单标签的检测效果
******************************************************************************************************************
********************************************************************************************************************
********************************************************************************************************************
*******************************************************************************************************************
******************************************************************************************************************
********************************************************************************************************************
********************************************************************************************************************
*******************************************************************************************************************
******************************************************************************************************************
********************************************************************************************************************
********************************************************************************************************************
*******************************************************************************************************************
DRML作者除了他们算法DRML的prototxt以外,还提供了做实验用的AlexNet,ConvNet的prototxt文件。于是,我们直接用AlexNet.prototxt来训练(注意要打开调试开关),打印训练时的网络数据,发现训练基本趋势正常。我们猜测:作者的多标签输入层和loss层,以及我们的数据处理部分,应该基本没有问题。那么为什么采用DRML.prototxt会出错呢?
2,怎样避免网络训练过程中出现全0的情况
zjp打印出来的DRML网络训练过程的数据,有时候是conv层异常,有时候是batchnorm层异常,有时候relu层异常,有时候是fc层异常,明显的异常就是全部变成0。为了不让训练过程网络数据出现全0的情况,zjp参考了ResNet的网络结构,在DRML原本的batchnorm层和relu层之间增加了scale层,每一个卷积层后面增加了一个batchnorm、一个scale、一个relu,并且删除DRML原本的batchnorm中的学习率参数。
再进行训练时查看参数变化过程则发现不会再出现全0 的情况,模型是否合适还需要实验验证。
以下是更改后的DRML.prototxt
name: "KailirLCNNet" layer { name: "data" type: "MultilabelImageData" top: "data" top: "label" include { phase: TRAIN } transform_param { mirror: true crop_size: 170 mean_file: "/home/hqp/DRML/face_plus/disfa_plus_2017_04_20_mean.binaryproto" } image_data_param { source: "/home/hqp/DRML/face_plus/train.txt" batch_size: 64 multilabel_num: 12 } } layer { name: "data" type: "MultilabelImageData" top: "data" top: "label" include { phase: TEST } transform_param { mirror: false crop_size: 170 mean_file: "/home/hqp/DRML/face_plus/disfa_plus_2017_04_20_mean.binaryproto" } image_data_param { source: "/home/hqp/DRML/face_plus/val.txt" batch_size: 64 multilabel_num: 12 } } layer { name: "conv1" type: "Convolution" bottom: "data" top: "conv1" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 11 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 0 } } } layer{ name: "clipping" type: "Box" bottom: "conv1" top: "out1" top: "out2" top: "out3" top: "out4" top: "out5" top: "out6" top: "out7" top: "out8" top: "out9" top: "out10" top: "out11" top: "out12" top: "out13" top: "out14" top: "out15" top: "out16" top: "out17" top: "out18" top: "out19" top: "out20" top: "out21" top: "out22" top: "out23" top: "out24" top: "out25" top: "out26" top: "out27" top: "out28" top: "out29" top: "out30" top: "out31" top: "out32" top: "out33" top: "out34" top: "out35" top: "out36" top: "out37" top: "out38" top: "out39" top: "out40" top: "out41" top: "out42" top: "out43" top: "out44" top: "out45" top: "out46" top: "out47" top: "out48" top: "out49" top: "out50" top: "out51" top: "out52" top: "out53" top: "out54" top: "out55" top: "out56" top: "out57" top: "out58" top: "out59" top: "out60" top: "out61" top: "out62" top: "out63" top: "out64" box_param{ width: 20 height: 20 xcoord: 0 xcoord: 20 xcoord: 40 xcoord: 60 xcoord: 80 xcoord: 100 xcoord: 120 xcoord: 140 xcoord: 0 xcoord: 20 xcoord: 40 xcoord: 60 xcoord: 80 xcoord: 100 xcoord: 120 xcoord: 140 xcoord: 0 xcoord: 20 xcoord: 40 xcoord: 60 xcoord: 80 xcoord: 100 xcoord: 120 xcoord: 140 xcoord: 0 xcoord: 20 xcoord: 40 xcoord: 60 xcoord: 80 xcoord: 100 xcoord: 120 xcoord: 140 xcoord: 0 xcoord: 20 xcoord: 40 xcoord: 60 xcoord: 80 xcoord: 100 xcoord: 120 xcoord: 140 xcoord: 0 xcoord: 20 xcoord: 40 xcoord: 60 xcoord: 80 xcoord: 100 xcoord: 120 xcoord: 140 xcoord: 0 xcoord: 20 xcoord: 40 xcoord: 60 xcoord: 80 xcoord: 100 xcoord: 120 xcoord: 140 xcoord: 0 xcoord: 20 xcoord: 40 xcoord: 60 xcoord: 80 xcoord: 100 xcoord: 120 xcoord: 140 ycoord: 0 ycoord: 0 ycoord: 0 ycoord: 0 ycoord: 0 ycoord: 0 ycoord: 0 ycoord: 0 ycoord: 20 ycoord: 20 ycoord: 20 ycoord: 20 ycoord: 20 ycoord: 20 ycoord: 20 ycoord: 20 ycoord: 40 ycoord: 40 ycoord: 40 ycoord: 40 ycoord: 40 ycoord: 40 ycoord: 40 ycoord: 40 ycoord: 60 ycoord: 60 ycoord: 60 ycoord: 60 ycoord: 60 ycoord: 60 ycoord: 60 ycoord: 60 ycoord: 80 ycoord: 80 ycoord: 80 ycoord: 80 ycoord: 80 ycoord: 80 ycoord: 80 ycoord: 80 ycoord: 100 ycoord: 100 ycoord: 100 ycoord: 100 ycoord: 100 ycoord: 100 ycoord: 100 ycoord: 100 ycoord: 120 ycoord: 120 ycoord: 120 ycoord: 120 ycoord: 120 ycoord: 120 ycoord: 120 ycoord: 120 ycoord: 140 ycoord: 140 ycoord: 140 ycoord: 140 ycoord: 140 ycoord: 140 ycoord: 140 ycoord: 140 } } layer{ type: "BatchNorm" name:"bn1_1" bottom:"out1" top: "bn1_1" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_2" bottom:"out2" top: "bn1_2" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_3" bottom:"out3" top: "bn1_3" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_4" bottom:"out4" top: "bn1_4" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_5" bottom:"out5" top: "bn1_5" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_6" bottom:"out6" top: "bn1_6" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_7" bottom:"out7" top: "bn1_7" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_8" bottom:"out8" top: "bn1_8" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_9" bottom:"out9" top: "bn1_9" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_10" bottom:"out10" top: "bn1_10" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_11" bottom:"out11" top: "bn1_11" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_12" bottom:"out12" top: "bn1_12" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_13" bottom:"out13" top: "bn1_13" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_14" bottom:"out14" top: "bn1_14" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_15" bottom:"out15" top: "bn1_15" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_16" bottom:"out16" top: "bn1_16" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_17" bottom:"out17" top: "bn1_17" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_18" bottom:"out18" top: "bn1_18" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_19" bottom:"out19" top: "bn1_19" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_20" bottom:"out20" top: "bn1_20" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_21" bottom:"out21" top: "bn1_21" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_22" bottom:"out22" top: "bn1_22" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_23" bottom:"out23" top: "bn1_23" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_24" bottom:"out24" top: "bn1_24" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_25" bottom:"out25" top: "bn1_25" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_26" bottom:"out26" top: "bn1_26" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_27" bottom:"out27" top: "bn1_27" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_28" bottom:"out28" top: "bn1_28" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_29" bottom:"out29" top: "bn1_29" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_30" bottom:"out30" top: "bn1_30" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_31" bottom:"out31" top: "bn1_31" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_32" bottom:"out32" top: "bn1_32" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_33" bottom:"out33" top: "bn1_33" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_34" bottom:"out34" top: "bn1_34" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_35" bottom:"out35" top: "bn1_35" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_36" bottom:"out36" top: "bn1_36" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_37" bottom:"out37" top: "bn1_37" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_38" bottom:"out38" top: "bn1_38" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_39" bottom:"out39" top: "bn1_39" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_40" bottom:"out40" top: "bn1_40" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_41" bottom:"out41" top: "bn1_41" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_42" bottom:"out42" top: "bn1_42" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_43" bottom:"out43" top: "bn1_43" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_44" bottom:"out44" top: "bn1_44" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_45" bottom:"out45" top: "bn1_45" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_46" bottom:"out46" top: "bn1_46" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_47" bottom:"out47" top: "bn1_47" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_48" bottom:"out48" top: "bn1_48" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_49" bottom:"out49" top: "bn1_49" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_50" bottom:"out50" top: "bn1_50" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_51" bottom:"out51" top: "bn1_51" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_52" bottom:"out52" top: "bn1_52" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_53" bottom:"out53" top: "bn1_53" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_54" bottom:"out54" top: "bn1_54" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_55" bottom:"out55" top: "bn1_55" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_56" bottom:"out56" top: "bn1_56" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_57" bottom:"out57" top: "bn1_57" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_58" bottom:"out58" top: "bn1_58" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_59" bottom:"out59" top: "bn1_59" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_60" bottom:"out60" top: "bn1_60" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_61" bottom:"out61" top: "bn1_61" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_62" bottom:"out62" top: "bn1_62" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_63" bottom:"out63" top: "bn1_63" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_64" bottom:"out64" top: "bn1_64" batch_norm_param { use_global_stats: false } } layer { bottom: "bn1_1" top: "bn1_1" name: "scale_out1" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_2" top: "bn1_2" name: "scale_out2" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_3" top: "bn1_3" name: "scale_out3" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_4" top: "bn1_4" name: "scale_out4" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_5" top: "bn1_5" name: "scale_out5" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_6" top: "bn1_6" name: "scale_out6" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_7" top: "bn1_7" name: "scale_out7" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_8" top: "bn1_8" name: "scale_out8" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_9" top: "bn1_9" name: "scale_out9" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_10" top: "bn1_10" name: "scale_out10" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_11" top: "bn1_11" name: "scale_out11" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_12" top: "bn1_12" name: "scale_out12" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_13" top: "bn1_13" name: "scale_out13" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_14" top: "bn1_14" name: "scale_out14" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_15" top: "bn1_15" name: "scale_out15" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_16" top: "bn1_16" name: "scale_out16" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_17" top: "bn1_17" name: "scale_out17" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_18" top: "bn1_18" name: "scale_out18" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_19" top: "bn1_19" name: "scale_out19" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_20" top: "bn1_20" name: "scale_out20" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_21" top: "bn1_21" name: "scale_out21" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_22" top: "bn1_22" name: "scale_out22" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_23" top: "bn1_23" name: "scale_out23" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_24" top: "bn1_24" name: "scale_out24" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_25" top: "bn1_25" name: "scale_out25" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_26" top: "bn1_26" name: "scale_out26" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_27" top: "bn1_27" name: "scale_out27" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_28" top: "bn1_28" name: "scale_out28" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_29" top: "bn1_29" name: "scale_out29" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_30" top: "bn1_30" name: "scale_out30" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_31" top: "bn1_31" name: "scale_out31" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_32" top: "bn1_32" name: "scale_out32" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_33" top: "bn1_33" name: "scale_out33" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_34" top: "bn1_34" name: "scale_out34" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_35" top: "bn1_35" name: "scale_out35" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_36" top: "bn1_36" name: "scale_out36" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_37" top: "bn1_37" name: "scale_out37" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_38" top: "bn1_38" name: "scale_out38" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_39" top: "bn1_39" name: "scale_out39" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_40" top: "bn1_40" name: "scale_out40" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_41" top: "bn1_41" name: "scale_out41" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_42" top: "bn1_42" name: "scale_out42" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_43" top: "bn1_43" name: "scale_out43" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_44" top: "bn1_44" name: "scale_out44" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_45" top: "bn1_45" name: "scale_out45" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_46" top: "bn1_46" name: "scale_out46" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_47" top: "bn1_47" name: "scale_out47" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_48" top: "bn1_48" name: "scale_out48" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_49" top: "bn1_49" name: "scale_out49" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_50" top: "bn1_50" name: "scale_out50" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_51" top: "bn1_51" name: "scale_out51" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_52" top: "bn1_52" name: "scale_out52" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_53" top: "bn1_53" name: "scale_out53" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_54" top: "bn1_54" name: "scale_out54" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_55" top: "bn1_55" name: "scale_out55" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_56" top: "bn1_56" name: "scale_out56" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_57" top: "bn1_57" name: "scale_out57" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_58" top: "bn1_58" name: "scale_out58" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_59" top: "bn1_59" name: "scale_out59" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_60" top: "bn1_60" name: "scale_out60" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_61" top: "bn1_61" name: "scale_out61" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_62" top: "bn1_62" name: "scale_out62" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_63" top: "bn1_63" name: "scale_out63" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_64" top: "bn1_64" name: "scale_out64" type: "Scale" scale_param { bias_term: true } } layer{ type: "ReLU" name:"relu1_1" bottom:"bn1_1" top:"bn1_1" } layer{ type: "ReLU" name:"relu1_2" bottom:"bn1_2" top:"bn1_2" } layer{ type: "ReLU" name:"relu1_3" bottom:"bn1_3" top:"bn1_3" } layer{ type: "ReLU" name:"relu1_4" bottom:"bn1_4" top:"bn1_4" } layer{ type: "ReLU" name:"relu1_5" bottom:"bn1_5" top:"bn1_5" } layer{ type: "ReLU" name:"relu1_6" bottom:"bn1_6" top:"bn1_6" } layer{ type: "ReLU" name:"relu1_7" bottom:"bn1_7" top:"bn1_7" } layer{ type: "ReLU" name:"relu1_8" bottom:"bn1_8" top:"bn1_8" } layer{ type: "ReLU" name:"relu1_9" bottom:"bn1_9" top:"bn1_9" } layer{ type: "ReLU" name:"relu1_10" bottom:"bn1_10" top:"bn1_10" } layer{ type: "ReLU" name:"relu1_11" bottom:"bn1_11" top:"bn1_11" } layer{ type: "ReLU" name:"relu1_12" bottom:"bn1_12" top:"bn1_12" } layer{ type: "ReLU" name:"relu1_13" bottom:"bn1_13" top:"bn1_13" } layer{ type: "ReLU" name:"relu1_14" bottom:"bn1_14" top:"bn1_14" } layer{ type: "ReLU" name:"relu1_15" bottom:"bn1_15" top:"bn1_15" } layer{ type: "ReLU" name:"relu1_16" bottom:"bn1_16" top:"bn1_16" } layer{ type: "ReLU" name:"relu1_17" bottom:"bn1_17" top:"bn1_17" } layer{ type: "ReLU" name:"relu1_18" bottom:"bn1_18" top:"bn1_18" } layer{ type: "ReLU" name:"relu1_19" bottom:"bn1_19" top:"bn1_19" } layer{ type: "ReLU" name:"relu1_20" bottom:"bn1_20" top:"bn1_20" } layer{ type: "ReLU" name:"relu1_21" bottom:"bn1_21" top:"bn1_21" } layer{ type: "ReLU" name:"relu1_22" bottom:"bn1_22" top:"bn1_22" } layer{ type: "ReLU" name:"relu1_23" bottom:"bn1_23" top:"bn1_23" } layer{ type: "ReLU" name:"relu1_24" bottom:"bn1_24" top:"bn1_24" } layer{ type: "ReLU" name:"relu1_25" bottom:"bn1_25" top:"bn1_25" } layer{ type: "ReLU" name:"relu1_26" bottom:"bn1_26" top:"bn1_26" } layer{ type: "ReLU" name:"relu1_27" bottom:"bn1_27" top:"bn1_27" } layer{ type: "ReLU" name:"relu1_28" bottom:"bn1_28" top:"bn1_28" } layer{ type: "ReLU" name:"relu1_29" bottom:"bn1_29" top:"bn1_29" } layer{ type: "ReLU" name:"relu1_30" bottom:"bn1_30" top:"bn1_30" } layer{ type: "ReLU" name:"relu1_31" bottom:"bn1_31" top:"bn1_31" } layer{ type: "ReLU" name:"relu1_32" bottom:"bn1_32" top:"bn1_32" } layer{ type: "ReLU" name:"relu1_33" bottom:"bn1_33" top:"bn1_33" } layer{ type: "ReLU" name:"relu1_34" bottom:"bn1_34" top:"bn1_34" } layer{ type: "ReLU" name:"relu1_35" bottom:"bn1_35" top:"bn1_35" } layer{ type: "ReLU" name:"relu1_36" bottom:"bn1_36" top:"bn1_36" } layer{ type: "ReLU" name:"relu1_37" bottom:"bn1_37" top:"bn1_37" } layer{ type: "ReLU" name:"relu1_38" bottom:"bn1_38" top:"bn1_38" } layer{ type: "ReLU" name:"relu1_39" bottom:"bn1_39" top:"bn1_39" } layer{ type: "ReLU" name:"relu1_40" bottom:"bn1_40" top:"bn1_40" } layer{ type: "ReLU" name:"relu1_41" bottom:"bn1_41" top:"bn1_41" } layer{ type: "ReLU" name:"relu1_42" bottom:"bn1_42" top:"bn1_42" } layer{ type: "ReLU" name:"relu1_43" bottom:"bn1_43" top:"bn1_43" } layer{ type: "ReLU" name:"relu1_44" bottom:"bn1_44" top:"bn1_44" } layer{ type: "ReLU" name:"relu1_45" bottom:"bn1_45" top:"bn1_45" } layer{ type: "ReLU" name:"relu1_46" bottom:"bn1_46" top:"bn1_46" } layer{ type: "ReLU" name:"relu1_47" bottom:"bn1_47" top:"bn1_47" } layer{ type: "ReLU" name:"relu1_48" bottom:"bn1_48" top:"bn1_48" } layer{ type: "ReLU" name:"relu1_49" bottom:"bn1_49" top:"bn1_49" } layer{ type: "ReLU" name:"relu1_50" bottom:"bn1_50" top:"bn1_50" } layer{ type: "ReLU" name:"relu1_51" bottom:"bn1_51" top:"bn1_51" } layer{ type: "ReLU" name:"relu1_52" bottom:"bn1_52" top:"bn1_52" } layer{ type: "ReLU" name:"relu1_53" bottom:"bn1_53" top:"bn1_53" } layer{ type: "ReLU" name:"relu1_54" bottom:"bn1_54" top:"bn1_54" } layer{ type: "ReLU" name:"relu1_55" bottom:"bn1_55" top:"bn1_55" } layer{ type: "ReLU" name:"relu1_56" bottom:"bn1_56" top:"bn1_56" } layer{ type: "ReLU" name:"relu1_57" bottom:"bn1_57" top:"bn1_57" } layer{ type: "ReLU" name:"relu1_58" bottom:"bn1_58" top:"bn1_58" } layer{ type: "ReLU" name:"relu1_59" bottom:"bn1_59" top:"bn1_59" } layer{ type: "ReLU" name:"relu1_60" bottom:"bn1_60" top:"bn1_60" } layer{ type: "ReLU" name:"relu1_61" bottom:"bn1_61" top:"bn1_61" } layer{ type: "ReLU" name:"relu1_62" bottom:"bn1_62" top:"bn1_62" } layer{ type: "ReLU" name:"relu1_63" bottom:"bn1_63" top:"bn1_63" } layer{ type: "ReLU" name:"relu1_64" bottom:"bn1_64" top:"bn1_64" } layer{ type: "Convolution" name:"conv1_1" bottom:"bn1_1" top:"res1_1" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_2" bottom:"bn1_2" top:"res1_2" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_3" bottom:"bn1_3" top:"res1_3" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_4" bottom:"bn1_4" top:"res1_4" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_5" bottom:"bn1_5" top:"res1_5" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_6" bottom:"bn1_6" top:"res1_6" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_7" bottom:"bn1_7" top:"res1_7" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_8" bottom:"bn1_8" top:"res1_8" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_9" bottom:"bn1_9" top:"res1_9" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_10" bottom:"bn1_10" top:"res1_10" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_11" bottom:"bn1_11" top:"res1_11" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_12" bottom:"bn1_12" top:"res1_12" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_13" bottom:"bn1_13" top:"res1_13" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_14" bottom:"bn1_14" top:"res1_14" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_15" bottom:"bn1_15" top:"res1_15" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_16" bottom:"bn1_16" top:"res1_16" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_17" bottom:"bn1_17" top:"res1_17" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_18" bottom:"bn1_18" top:"res1_18" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_19" bottom:"bn1_19" top:"res1_19" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_20" bottom:"bn1_20" top:"res1_20" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_21" bottom:"bn1_21" top:"res1_21" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_22" bottom:"bn1_22" top:"res1_22" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_23" bottom:"bn1_23" top:"res1_23" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_24" bottom:"bn1_24" top:"res1_24" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_25" bottom:"bn1_25" top:"res1_25" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_26" bottom:"bn1_26" top:"res1_26" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_27" bottom:"bn1_27" top:"res1_27" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_28" bottom:"bn1_28" top:"res1_28" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_29" bottom:"bn1_29" top:"res1_29" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_30" bottom:"bn1_30" top:"res1_30" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_31" bottom:"bn1_31" top:"res1_31" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_32" bottom:"bn1_32" top:"res1_32" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_33" bottom:"bn1_33" top:"res1_33" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_34" bottom:"bn1_34" top:"res1_34" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_35" bottom:"bn1_35" top:"res1_35" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_36" bottom:"bn1_36" top:"res1_36" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_37" bottom:"bn1_37" top:"res1_37" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_38" bottom:"bn1_38" top:"res1_38" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_39" bottom:"bn1_39" top:"res1_39" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_40" bottom:"bn1_40" top:"res1_40" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_41" bottom:"bn1_41" top:"res1_41" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_42" bottom:"bn1_42" top:"res1_42" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_43" bottom:"bn1_43" top:"res1_43" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_44" bottom:"bn1_44" top:"res1_44" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_45" bottom:"bn1_45" top:"res1_45" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_46" bottom:"bn1_46" top:"res1_46" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_47" bottom:"bn1_47" top:"res1_47" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_48" bottom:"bn1_48" top:"res1_48" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_49" bottom:"bn1_49" top:"res1_49" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_50" bottom:"bn1_50" top:"res1_50" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_51" bottom:"bn1_51" top:"res1_51" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_52" bottom:"bn1_52" top:"res1_52" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_53" bottom:"bn1_53" top:"res1_53" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_54" bottom:"bn1_54" top:"res1_54" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_55" bottom:"bn1_55" top:"res1_55" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_56" bottom:"bn1_56" top:"res1_56" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_57" bottom:"bn1_57" top:"res1_57" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_58" bottom:"bn1_58" top:"res1_58" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_59" bottom:"bn1_59" top:"res1_59" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_60" bottom:"bn1_60" top:"res1_60" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_61" bottom:"bn1_61" top:"res1_61" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_62" bottom:"bn1_62" top:"res1_62" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_63" bottom:"bn1_63" top:"res1_63" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_64" bottom:"bn1_64" top:"res1_64" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ name: "Splice" type: "Splice" bottom:"res1_1" bottom:"res1_2" bottom:"res1_3" bottom:"res1_4" bottom:"res1_5" bottom:"res1_6" bottom:"res1_7" bottom:"res1_8" bottom:"res1_9" bottom:"res1_10" bottom:"res1_11" bottom:"res1_12" bottom:"res1_13" bottom:"res1_14" bottom:"res1_15" bottom:"res1_16" bottom:"res1_17" bottom:"res1_18" bottom:"res1_19" bottom:"res1_20" bottom:"res1_21" bottom:"res1_22" bottom:"res1_23" bottom:"res1_24" bottom:"res1_25" bottom:"res1_26" bottom:"res1_27" bottom:"res1_28" bottom:"res1_29" bottom:"res1_30" bottom:"res1_31" bottom:"res1_32" bottom:"res1_33" bottom:"res1_34" bottom:"res1_35" bottom:"res1_36" bottom:"res1_37" bottom:"res1_38" bottom:"res1_39" bottom:"res1_40" bottom:"res1_41" bottom:"res1_42" bottom:"res1_43" bottom:"res1_44" bottom:"res1_45" bottom:"res1_46" bottom:"res1_47" bottom:"res1_48" bottom:"res1_49" bottom:"res1_50" bottom:"res1_51" bottom:"res1_52" bottom:"res1_53" bottom:"res1_54" bottom:"res1_55" bottom:"res1_56" bottom:"res1_57" bottom:"res1_58" bottom:"res1_59" bottom:"res1_60" bottom:"res1_61" bottom:"res1_62" bottom:"res1_63" bottom:"res1_64" top: "concat" splice_param{ xcoord: 0 xcoord: 20 xcoord: 40 xcoord: 60 xcoord: 80 xcoord: 100 xcoord: 120 xcoord: 140 xcoord: 0 xcoord: 20 xcoord: 40 xcoord: 60 xcoord: 80 xcoord: 100 xcoord: 120 xcoord: 140 xcoord: 0 xcoord: 20 xcoord: 40 xcoord: 60 xcoord: 80 xcoord: 100 xcoord: 120 xcoord: 140 xcoord: 0 xcoord: 20 xcoord: 40 xcoord: 60 xcoord: 80 xcoord: 100 xcoord: 120 xcoord: 140 xcoord: 0 xcoord: 20 xcoord: 40 xcoord: 60 xcoord: 80 xcoord: 100 xcoord: 120 xcoord: 140 xcoord: 0 xcoord: 20 xcoord: 40 xcoord: 60 xcoord: 80 xcoord: 100 xcoord: 120 xcoord: 140 xcoord: 0 xcoord: 20 xcoord: 40 xcoord: 60 xcoord: 80 xcoord: 100 xcoord: 120 xcoord: 140 xcoord: 0 xcoord: 20 xcoord: 40 xcoord: 60 xcoord: 80 xcoord: 100 xcoord: 120 xcoord: 140 ycoord: 0 ycoord: 0 ycoord: 0 ycoord: 0 ycoord: 0 ycoord: 0 ycoord: 0 ycoord: 0 ycoord: 20 ycoord: 20 ycoord: 20 ycoord: 20 ycoord: 20 ycoord: 20 ycoord: 20 ycoord: 20 ycoord: 40 ycoord: 40 ycoord: 40 ycoord: 40 ycoord: 40 ycoord: 40 ycoord: 40 ycoord: 40 ycoord: 60 ycoord: 60 ycoord: 60 ycoord: 60 ycoord: 60 ycoord: 60 ycoord: 60 ycoord: 60 ycoord: 80 ycoord: 80 ycoord: 80 ycoord: 80 ycoord: 80 ycoord: 80 ycoord: 80 ycoord: 80 ycoord: 100 ycoord: 100 ycoord: 100 ycoord: 100 ycoord: 100 ycoord: 100 ycoord: 100 ycoord: 100 ycoord: 120 ycoord: 120 ycoord: 120 ycoord: 120 ycoord: 120 ycoord: 120 ycoord: 120 ycoord: 120 ycoord: 140 ycoord: 140 ycoord: 140 ycoord: 140 ycoord: 140 ycoord: 140 ycoord: 140 ycoord: 140 } } layer{ type: "Eltwise" name:"add" bottom:"conv1" bottom:"concat" top:"add" eltwise_param { operation: SUM } } layer{ type: "BatchNorm" name:"bn_c1" bottom:"add" top: "bn_c1" batch_norm_param { use_global_stats: false } } layer { bottom: "bn_c1" top: "bn_c1" name: "scale_c1" type: "Scale" scale_param { bias_term: true } } layer { name: "relu_res" type: "ReLU" bottom: "bn_c1" top: "bn_c1" } layer { name: "pool1" type: "Pooling" bottom: "bn_c1" top: "pool1" pooling_param { pool: MAX kernel_size: 2 stride: 2 } } layer { name: "norm1" type: "LRN" bottom: "pool1" top: "norm1" lrn_param { local_size: 5 alpha: 0.0001 beta: 0.75 } } layer { name: "conv2" type: "Convolution" bottom: "norm1" top: "conv2" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 16 kernel_size: 8 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "BatchNorm" name:"bn_c2" bottom:"conv2" top: "bn_c2" batch_norm_param { use_global_stats: false } } layer { bottom: "bn_c2" top: "bn_c2" name: "scale_c2" type: "Scale" scale_param { bias_term: true } } layer { name: "relu2" type: "ReLU" bottom: "bn_c2" top: "bn_c2" } layer { name: "conv3" type: "Convolution" bottom: "bn_c2" top: "conv3" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 16 kernel_size: 8 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "BatchNorm" name:"bn_c3" bottom:"conv3" top: "bn_c3" batch_norm_param { use_global_stats: false } } layer { bottom: "bn_c3" top: "bn_c3" name: "scale_c3" type: "Scale" scale_param { bias_term: true } } layer { name: "relu3" type: "ReLU" bottom: "bn_c3" top: "bn_c3" } layer { name: "conv4" type: "Convolution" bottom: "bn_c3" top: "conv4" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 16 kernel_size: 6 stride: 2 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "BatchNorm" name:"bn_c4" bottom:"conv4" top: "bn_c4" batch_norm_param { use_global_stats: false } } layer { bottom: "bn_c4" top: "bn_c4" name: "scale_c4" type: "Scale" scale_param { bias_term: true } } layer { name: "relu4" type: "ReLU" bottom: "bn_c4" top: "bn_c4" } layer { name: "conv5" type: "Convolution" bottom: "bn_c4" top: "conv5" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 16 kernel_size: 5 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "BatchNorm" name:"bn_c5" bottom:"conv5" top: "bn_c5" batch_norm_param { use_global_stats: false } } layer { bottom: "bn_c5" top: "bn_c5" name: "scale_c5" type: "Scale" scale_param { bias_term: true } } layer { name: "relu5" type: "ReLU" bottom: "bn_c5" top: "bn_c5" } layer { name: "fc6" type: "InnerProduct" bottom: "bn_c5" top: "fc6" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } inner_product_param { num_output: 4096 weight_filler { type: "gaussian" std: 0.005 } bias_filler { type: "constant" value: 1 } } } layer { name: "relu6" type: "ReLU" bottom: "fc6" top: "fc6" } layer { name: "drop6" type: "Dropout" bottom: "fc6" top: "fc6" dropout_param { dropout_ratio: 0.5 } } layer { name: "fc7" type: "InnerProduct" bottom: "fc6" top: "fc7" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } inner_product_param { num_output: 2048 weight_filler { type: "gaussian" std: 0.005 } bias_filler { type: "constant" value: 1 } } } layer { name: "relu7" type: "ReLU" bottom: "fc7" top: "fc7" } layer { name: "drop7" type: "Dropout" bottom: "fc7" top: "fc7" dropout_param { dropout_ratio: 0.5 } } layer { name: "fc8" type: "InnerProduct" bottom: "fc7" top: "fc8" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } inner_product_param { num_output: 12 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 0 } } } layer { name: "loss" type: "MultiSigmoidCrossEntropyLoss" bottom: "fc8" bottom: "label" top: "loss" }
下面是更改后的DRML.prototxt在cifar10数据集和在disfa plus数据集上训练的loss曲线
用cifar数据集做测试明显能够看到收敛效果,但是在disfa plus数据集上不收敛,至少说明drml网络本身已经没有太多问题,剩下的是根据这个数据集本身对drml网络进行调参,啊,不喜欢调参,尤其不喜欢没有方向地调参。
zjp说我们把人家的网络改得太多了,修改网络的时候主要是batchnorm层和scale以及relu层,那么猜测之前可能是作者那个网络batchnorm直接这么做不太对,batchnorm和relu之间没有scale。所以,我们删除了我们之前在conv层后增加的batchnorm\scale层,只保留region layer中的batchnorm和relu之间的scale。
下面是修改后的网络结构。
name: "KailirLCNNet" layer { name: "data" type: "MultilabelImageData" top: "data" top: "label" include { phase: TRAIN } transform_param { mirror: true crop_size: 170 mean_file: "/home/hqp/DRML/face_plus/disfa_plus_2017_04_20_mean.binaryproto" } image_data_param { source: "/home/hqp/DRML/face_plus/train.txt" batch_size: 64 multilabel_num: 12 } } layer { name: "data" type: "MultilabelImageData" top: "data" top: "label" include { phase: TEST } transform_param { mirror: false crop_size: 170 mean_file: "/home/hqp/DRML/face_plus/disfa_plus_2017_04_20_mean.binaryproto" } image_data_param { source: "/home/hqp/DRML/face_plus/val.txt" batch_size: 64 multilabel_num: 12 } } layer { name: "conv1" type: "Convolution" bottom: "data" top: "conv1" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 11 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 0 } } } layer{ name: "clipping" type: "Box" bottom: "conv1" top: "out1" top: "out2" top: "out3" top: "out4" top: "out5" top: "out6" top: "out7" top: "out8" top: "out9" top: "out10" top: "out11" top: "out12" top: "out13" top: "out14" top: "out15" top: "out16" top: "out17" top: "out18" top: "out19" top: "out20" top: "out21" top: "out22" top: "out23" top: "out24" top: "out25" top: "out26" top: "out27" top: "out28" top: "out29" top: "out30" top: "out31" top: "out32" top: "out33" top: "out34" top: "out35" top: "out36" top: "out37" top: "out38" top: "out39" top: "out40" top: "out41" top: "out42" top: "out43" top: "out44" top: "out45" top: "out46" top: "out47" top: "out48" top: "out49" top: "out50" top: "out51" top: "out52" top: "out53" top: "out54" top: "out55" top: "out56" top: "out57" top: "out58" top: "out59" top: "out60" top: "out61" top: "out62" top: "out63" top: "out64" box_param{ width: 20 height: 20 xcoord: 0 xcoord: 20 xcoord: 40 xcoord: 60 xcoord: 80 xcoord: 100 xcoord: 120 xcoord: 140 xcoord: 0 xcoord: 20 xcoord: 40 xcoord: 60 xcoord: 80 xcoord: 100 xcoord: 120 xcoord: 140 xcoord: 0 xcoord: 20 xcoord: 40 xcoord: 60 xcoord: 80 xcoord: 100 xcoord: 120 xcoord: 140 xcoord: 0 xcoord: 20 xcoord: 40 xcoord: 60 xcoord: 80 xcoord: 100 xcoord: 120 xcoord: 140 xcoord: 0 xcoord: 20 xcoord: 40 xcoord: 60 xcoord: 80 xcoord: 100 xcoord: 120 xcoord: 140 xcoord: 0 xcoord: 20 xcoord: 40 xcoord: 60 xcoord: 80 xcoord: 100 xcoord: 120 xcoord: 140 xcoord: 0 xcoord: 20 xcoord: 40 xcoord: 60 xcoord: 80 xcoord: 100 xcoord: 120 xcoord: 140 xcoord: 0 xcoord: 20 xcoord: 40 xcoord: 60 xcoord: 80 xcoord: 100 xcoord: 120 xcoord: 140 ycoord: 0 ycoord: 0 ycoord: 0 ycoord: 0 ycoord: 0 ycoord: 0 ycoord: 0 ycoord: 0 ycoord: 20 ycoord: 20 ycoord: 20 ycoord: 20 ycoord: 20 ycoord: 20 ycoord: 20 ycoord: 20 ycoord: 40 ycoord: 40 ycoord: 40 ycoord: 40 ycoord: 40 ycoord: 40 ycoord: 40 ycoord: 40 ycoord: 60 ycoord: 60 ycoord: 60 ycoord: 60 ycoord: 60 ycoord: 60 ycoord: 60 ycoord: 60 ycoord: 80 ycoord: 80 ycoord: 80 ycoord: 80 ycoord: 80 ycoord: 80 ycoord: 80 ycoord: 80 ycoord: 100 ycoord: 100 ycoord: 100 ycoord: 100 ycoord: 100 ycoord: 100 ycoord: 100 ycoord: 100 ycoord: 120 ycoord: 120 ycoord: 120 ycoord: 120 ycoord: 120 ycoord: 120 ycoord: 120 ycoord: 120 ycoord: 140 ycoord: 140 ycoord: 140 ycoord: 140 ycoord: 140 ycoord: 140 ycoord: 140 ycoord: 140 } } layer{ type: "BatchNorm" name:"bn1_1" bottom:"out1" top: "bn1_1" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_2" bottom:"out2" top: "bn1_2" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_3" bottom:"out3" top: "bn1_3" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_4" bottom:"out4" top: "bn1_4" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_5" bottom:"out5" top: "bn1_5" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_6" bottom:"out6" top: "bn1_6" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_7" bottom:"out7" top: "bn1_7" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_8" bottom:"out8" top: "bn1_8" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_9" bottom:"out9" top: "bn1_9" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_10" bottom:"out10" top: "bn1_10" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_11" bottom:"out11" top: "bn1_11" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_12" bottom:"out12" top: "bn1_12" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_13" bottom:"out13" top: "bn1_13" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_14" bottom:"out14" top: "bn1_14" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_15" bottom:"out15" top: "bn1_15" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_16" bottom:"out16" top: "bn1_16" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_17" bottom:"out17" top: "bn1_17" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_18" bottom:"out18" top: "bn1_18" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_19" bottom:"out19" top: "bn1_19" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_20" bottom:"out20" top: "bn1_20" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_21" bottom:"out21" top: "bn1_21" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_22" bottom:"out22" top: "bn1_22" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_23" bottom:"out23" top: "bn1_23" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_24" bottom:"out24" top: "bn1_24" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_25" bottom:"out25" top: "bn1_25" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_26" bottom:"out26" top: "bn1_26" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_27" bottom:"out27" top: "bn1_27" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_28" bottom:"out28" top: "bn1_28" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_29" bottom:"out29" top: "bn1_29" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_30" bottom:"out30" top: "bn1_30" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_31" bottom:"out31" top: "bn1_31" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_32" bottom:"out32" top: "bn1_32" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_33" bottom:"out33" top: "bn1_33" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_34" bottom:"out34" top: "bn1_34" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_35" bottom:"out35" top: "bn1_35" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_36" bottom:"out36" top: "bn1_36" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_37" bottom:"out37" top: "bn1_37" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_38" bottom:"out38" top: "bn1_38" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_39" bottom:"out39" top: "bn1_39" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_40" bottom:"out40" top: "bn1_40" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_41" bottom:"out41" top: "bn1_41" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_42" bottom:"out42" top: "bn1_42" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_43" bottom:"out43" top: "bn1_43" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_44" bottom:"out44" top: "bn1_44" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_45" bottom:"out45" top: "bn1_45" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_46" bottom:"out46" top: "bn1_46" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_47" bottom:"out47" top: "bn1_47" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_48" bottom:"out48" top: "bn1_48" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_49" bottom:"out49" top: "bn1_49" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_50" bottom:"out50" top: "bn1_50" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_51" bottom:"out51" top: "bn1_51" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_52" bottom:"out52" top: "bn1_52" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_53" bottom:"out53" top: "bn1_53" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_54" bottom:"out54" top: "bn1_54" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_55" bottom:"out55" top: "bn1_55" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_56" bottom:"out56" top: "bn1_56" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_57" bottom:"out57" top: "bn1_57" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_58" bottom:"out58" top: "bn1_58" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_59" bottom:"out59" top: "bn1_59" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_60" bottom:"out60" top: "bn1_60" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_61" bottom:"out61" top: "bn1_61" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_62" bottom:"out62" top: "bn1_62" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_63" bottom:"out63" top: "bn1_63" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_64" bottom:"out64" top: "bn1_64" batch_norm_param { use_global_stats: false } } layer { bottom: "bn1_1" top: "bn1_1" name: "scale_out1" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_2" top: "bn1_2" name: "scale_out2" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_3" top: "bn1_3" name: "scale_out3" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_4" top: "bn1_4" name: "scale_out4" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_5" top: "bn1_5" name: "scale_out5" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_6" top: "bn1_6" name: "scale_out6" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_7" top: "bn1_7" name: "scale_out7" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_8" top: "bn1_8" name: "scale_out8" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_9" top: "bn1_9" name: "scale_out9" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_10" top: "bn1_10" name: "scale_out10" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_11" top: "bn1_11" name: "scale_out11" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_12" top: "bn1_12" name: "scale_out12" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_13" top: "bn1_13" name: "scale_out13" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_14" top: "bn1_14" name: "scale_out14" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_15" top: "bn1_15" name: "scale_out15" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_16" top: "bn1_16" name: "scale_out16" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_17" top: "bn1_17" name: "scale_out17" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_18" top: "bn1_18" name: "scale_out18" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_19" top: "bn1_19" name: "scale_out19" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_20" top: "bn1_20" name: "scale_out20" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_21" top: "bn1_21" name: "scale_out21" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_22" top: "bn1_22" name: "scale_out22" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_23" top: "bn1_23" name: "scale_out23" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_24" top: "bn1_24" name: "scale_out24" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_25" top: "bn1_25" name: "scale_out25" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_26" top: "bn1_26" name: "scale_out26" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_27" top: "bn1_27" name: "scale_out27" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_28" top: "bn1_28" name: "scale_out28" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_29" top: "bn1_29" name: "scale_out29" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_30" top: "bn1_30" name: "scale_out30" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_31" top: "bn1_31" name: "scale_out31" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_32" top: "bn1_32" name: "scale_out32" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_33" top: "bn1_33" name: "scale_out33" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_34" top: "bn1_34" name: "scale_out34" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_35" top: "bn1_35" name: "scale_out35" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_36" top: "bn1_36" name: "scale_out36" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_37" top: "bn1_37" name: "scale_out37" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_38" top: "bn1_38" name: "scale_out38" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_39" top: "bn1_39" name: "scale_out39" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_40" top: "bn1_40" name: "scale_out40" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_41" top: "bn1_41" name: "scale_out41" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_42" top: "bn1_42" name: "scale_out42" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_43" top: "bn1_43" name: "scale_out43" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_44" top: "bn1_44" name: "scale_out44" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_45" top: "bn1_45" name: "scale_out45" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_46" top: "bn1_46" name: "scale_out46" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_47" top: "bn1_47" name: "scale_out47" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_48" top: "bn1_48" name: "scale_out48" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_49" top: "bn1_49" name: "scale_out49" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_50" top: "bn1_50" name: "scale_out50" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_51" top: "bn1_51" name: "scale_out51" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_52" top: "bn1_52" name: "scale_out52" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_53" top: "bn1_53" name: "scale_out53" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_54" top: "bn1_54" name: "scale_out54" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_55" top: "bn1_55" name: "scale_out55" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_56" top: "bn1_56" name: "scale_out56" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_57" top: "bn1_57" name: "scale_out57" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_58" top: "bn1_58" name: "scale_out58" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_59" top: "bn1_59" name: "scale_out59" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_60" top: "bn1_60" name: "scale_out60" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_61" top: "bn1_61" name: "scale_out61" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_62" top: "bn1_62" name: "scale_out62" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_63" top: "bn1_63" name: "scale_out63" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_64" top: "bn1_64" name: "scale_out64" type: "Scale" scale_param { bias_term: true } } layer{ type: "ReLU" name:"relu1_1" bottom:"bn1_1" top:"bn1_1" } layer{ type: "ReLU" name:"relu1_2" bottom:"bn1_2" top:"bn1_2" } layer{ type: "ReLU" name:"relu1_3" bottom:"bn1_3" top:"bn1_3" } layer{ type: "ReLU" name:"relu1_4" bottom:"bn1_4" top:"bn1_4" } layer{ type: "ReLU" name:"relu1_5" bottom:"bn1_5" top:"bn1_5" } layer{ type: "ReLU" name:"relu1_6" bottom:"bn1_6" top:"bn1_6" } layer{ type: "ReLU" name:"relu1_7" bottom:"bn1_7" top:"bn1_7" } layer{ type: "ReLU" name:"relu1_8" bottom:"bn1_8" top:"bn1_8" } layer{ type: "ReLU" name:"relu1_9" bottom:"bn1_9" top:"bn1_9" } layer{ type: "ReLU" name:"relu1_10" bottom:"bn1_10" top:"bn1_10" } layer{ type: "ReLU" name:"relu1_11" bottom:"bn1_11" top:"bn1_11" } layer{ type: "ReLU" name:"relu1_12" bottom:"bn1_12" top:"bn1_12" } layer{ type: "ReLU" name:"relu1_13" bottom:"bn1_13" top:"bn1_13" } layer{ type: "ReLU" name:"relu1_14" bottom:"bn1_14" top:"bn1_14" } layer{ type: "ReLU" name:"relu1_15" bottom:"bn1_15" top:"bn1_15" } layer{ type: "ReLU" name:"relu1_16" bottom:"bn1_16" top:"bn1_16" } layer{ type: "ReLU" name:"relu1_17" bottom:"bn1_17" top:"bn1_17" } layer{ type: "ReLU" name:"relu1_18" bottom:"bn1_18" top:"bn1_18" } layer{ type: "ReLU" name:"relu1_19" bottom:"bn1_19" top:"bn1_19" } layer{ type: "ReLU" name:"relu1_20" bottom:"bn1_20" top:"bn1_20" } layer{ type: "ReLU" name:"relu1_21" bottom:"bn1_21" top:"bn1_21" } layer{ type: "ReLU" name:"relu1_22" bottom:"bn1_22" top:"bn1_22" } layer{ type: "ReLU" name:"relu1_23" bottom:"bn1_23" top:"bn1_23" } layer{ type: "ReLU" name:"relu1_24" bottom:"bn1_24" top:"bn1_24" } layer{ type: "ReLU" name:"relu1_25" bottom:"bn1_25" top:"bn1_25" } layer{ type: "ReLU" name:"relu1_26" bottom:"bn1_26" top:"bn1_26" } layer{ type: "ReLU" name:"relu1_27" bottom:"bn1_27" top:"bn1_27" } layer{ type: "ReLU" name:"relu1_28" bottom:"bn1_28" top:"bn1_28" } layer{ type: "ReLU" name:"relu1_29" bottom:"bn1_29" top:"bn1_29" } layer{ type: "ReLU" name:"relu1_30" bottom:"bn1_30" top:"bn1_30" } layer{ type: "ReLU" name:"relu1_31" bottom:"bn1_31" top:"bn1_31" } layer{ type: "ReLU" name:"relu1_32" bottom:"bn1_32" top:"bn1_32" } layer{ type: "ReLU" name:"relu1_33" bottom:"bn1_33" top:"bn1_33" } layer{ type: "ReLU" name:"relu1_34" bottom:"bn1_34" top:"bn1_34" } layer{ type: "ReLU" name:"relu1_35" bottom:"bn1_35" top:"bn1_35" } layer{ type: "ReLU" name:"relu1_36" bottom:"bn1_36" top:"bn1_36" } layer{ type: "ReLU" name:"relu1_37" bottom:"bn1_37" top:"bn1_37" } layer{ type: "ReLU" name:"relu1_38" bottom:"bn1_38" top:"bn1_38" } layer{ type: "ReLU" name:"relu1_39" bottom:"bn1_39" top:"bn1_39" } layer{ type: "ReLU" name:"relu1_40" bottom:"bn1_40" top:"bn1_40" } layer{ type: "ReLU" name:"relu1_41" bottom:"bn1_41" top:"bn1_41" } layer{ type: "ReLU" name:"relu1_42" bottom:"bn1_42" top:"bn1_42" } layer{ type: "ReLU" name:"relu1_43" bottom:"bn1_43" top:"bn1_43" } layer{ type: "ReLU" name:"relu1_44" bottom:"bn1_44" top:"bn1_44" } layer{ type: "ReLU" name:"relu1_45" bottom:"bn1_45" top:"bn1_45" } layer{ type: "ReLU" name:"relu1_46" bottom:"bn1_46" top:"bn1_46" } layer{ type: "ReLU" name:"relu1_47" bottom:"bn1_47" top:"bn1_47" } layer{ type: "ReLU" name:"relu1_48" bottom:"bn1_48" top:"bn1_48" } layer{ type: "ReLU" name:"relu1_49" bottom:"bn1_49" top:"bn1_49" } layer{ type: "ReLU" name:"relu1_50" bottom:"bn1_50" top:"bn1_50" } layer{ type: "ReLU" name:"relu1_51" bottom:"bn1_51" top:"bn1_51" } layer{ type: "ReLU" name:"relu1_52" bottom:"bn1_52" top:"bn1_52" } layer{ type: "ReLU" name:"relu1_53" bottom:"bn1_53" top:"bn1_53" } layer{ type: "ReLU" name:"relu1_54" bottom:"bn1_54" top:"bn1_54" } layer{ type: "ReLU" name:"relu1_55" bottom:"bn1_55" top:"bn1_55" } layer{ type: "ReLU" name:"relu1_56" bottom:"bn1_56" top:"bn1_56" } layer{ type: "ReLU" name:"relu1_57" bottom:"bn1_57" top:"bn1_57" } layer{ type: "ReLU" name:"relu1_58" bottom:"bn1_58" top:"bn1_58" } layer{ type: "ReLU" name:"relu1_59" bottom:"bn1_59" top:"bn1_59" } layer{ type: "ReLU" name:"relu1_60" bottom:"bn1_60" top:"bn1_60" } layer{ type: "ReLU" name:"relu1_61" bottom:"bn1_61" top:"bn1_61" } layer{ type: "ReLU" name:"relu1_62" bottom:"bn1_62" top:"bn1_62" } layer{ type: "ReLU" name:"relu1_63" bottom:"bn1_63" top:"bn1_63" } layer{ type: "ReLU" name:"relu1_64" bottom:"bn1_64" top:"bn1_64" } layer{ type: "Convolution" name:"conv1_1" bottom:"bn1_1" top:"res1_1" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_2" bottom:"bn1_2" top:"res1_2" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_3" bottom:"bn1_3" top:"res1_3" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_4" bottom:"bn1_4" top:"res1_4" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_5" bottom:"bn1_5" top:"res1_5" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_6" bottom:"bn1_6" top:"res1_6" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_7" bottom:"bn1_7" top:"res1_7" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_8" bottom:"bn1_8" top:"res1_8" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_9" bottom:"bn1_9" top:"res1_9" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_10" bottom:"bn1_10" top:"res1_10" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_11" bottom:"bn1_11" top:"res1_11" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_12" bottom:"bn1_12" top:"res1_12" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_13" bottom:"bn1_13" top:"res1_13" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_14" bottom:"bn1_14" top:"res1_14" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_15" bottom:"bn1_15" top:"res1_15" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_16" bottom:"bn1_16" top:"res1_16" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_17" bottom:"bn1_17" top:"res1_17" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_18" bottom:"bn1_18" top:"res1_18" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_19" bottom:"bn1_19" top:"res1_19" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_20" bottom:"bn1_20" top:"res1_20" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_21" bottom:"bn1_21" top:"res1_21" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_22" bottom:"bn1_22" top:"res1_22" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_23" bottom:"bn1_23" top:"res1_23" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_24" bottom:"bn1_24" top:"res1_24" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_25" bottom:"bn1_25" top:"res1_25" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_26" bottom:"bn1_26" top:"res1_26" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_27" bottom:"bn1_27" top:"res1_27" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_28" bottom:"bn1_28" top:"res1_28" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_29" bottom:"bn1_29" top:"res1_29" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_30" bottom:"bn1_30" top:"res1_30" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_31" bottom:"bn1_31" top:"res1_31" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_32" bottom:"bn1_32" top:"res1_32" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_33" bottom:"bn1_33" top:"res1_33" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_34" bottom:"bn1_34" top:"res1_34" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_35" bottom:"bn1_35" top:"res1_35" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_36" bottom:"bn1_36" top:"res1_36" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_37" bottom:"bn1_37" top:"res1_37" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_38" bottom:"bn1_38" top:"res1_38" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_39" bottom:"bn1_39" top:"res1_39" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_40" bottom:"bn1_40" top:"res1_40" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_41" bottom:"bn1_41" top:"res1_41" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_42" bottom:"bn1_42" top:"res1_42" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_43" bottom:"bn1_43" top:"res1_43" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_44" bottom:"bn1_44" top:"res1_44" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_45" bottom:"bn1_45" top:"res1_45" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_46" bottom:"bn1_46" top:"res1_46" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_47" bottom:"bn1_47" top:"res1_47" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_48" bottom:"bn1_48" top:"res1_48" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_49" bottom:"bn1_49" top:"res1_49" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_50" bottom:"bn1_50" top:"res1_50" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_51" bottom:"bn1_51" top:"res1_51" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_52" bottom:"bn1_52" top:"res1_52" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_53" bottom:"bn1_53" top:"res1_53" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_54" bottom:"bn1_54" top:"res1_54" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_55" bottom:"bn1_55" top:"res1_55" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_56" bottom:"bn1_56" top:"res1_56" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_57" bottom:"bn1_57" top:"res1_57" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_58" bottom:"bn1_58" top:"res1_58" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_59" bottom:"bn1_59" top:"res1_59" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_60" bottom:"bn1_60" top:"res1_60" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_61" bottom:"bn1_61" top:"res1_61" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_62" bottom:"bn1_62" top:"res1_62" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_63" bottom:"bn1_63" top:"res1_63" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_64" bottom:"bn1_64" top:"res1_64" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ name: "Splice" type: "Splice" bottom:"res1_1" bottom:"res1_2" bottom:"res1_3" bottom:"res1_4" bottom:"res1_5" bottom:"res1_6" bottom:"res1_7" bottom:"res1_8" bottom:"res1_9" bottom:"res1_10" bottom:"res1_11" bottom:"res1_12" bottom:"res1_13" bottom:"res1_14" bottom:"res1_15" bottom:"res1_16" bottom:"res1_17" bottom:"res1_18" bottom:"res1_19" bottom:"res1_20" bottom:"res1_21" bottom:"res1_22" bottom:"res1_23" bottom:"res1_24" bottom:"res1_25" bottom:"res1_26" bottom:"res1_27" bottom:"res1_28" bottom:"res1_29" bottom:"res1_30" bottom:"res1_31" bottom:"res1_32" bottom:"res1_33" bottom:"res1_34" bottom:"res1_35" bottom:"res1_36" bottom:"res1_37" bottom:"res1_38" bottom:"res1_39" bottom:"res1_40" bottom:"res1_41" bottom:"res1_42" bottom:"res1_43" bottom:"res1_44" bottom:"res1_45" bottom:"res1_46" bottom:"res1_47" bottom:"res1_48" bottom:"res1_49" bottom:"res1_50" bottom:"res1_51" bottom:"res1_52" bottom:"res1_53" bottom:"res1_54" bottom:"res1_55" bottom:"res1_56" bottom:"res1_57" bottom:"res1_58" bottom:"res1_59" bottom:"res1_60" bottom:"res1_61" bottom:"res1_62" bottom:"res1_63" bottom:"res1_64" top: "concat" splice_param{ xcoord: 0 xcoord: 20 xcoord: 40 xcoord: 60 xcoord: 80 xcoord: 100 xcoord: 120 xcoord: 140 xcoord: 0 xcoord: 20 xcoord: 40 xcoord: 60 xcoord: 80 xcoord: 100 xcoord: 120 xcoord: 140 xcoord: 0 xcoord: 20 xcoord: 40 xcoord: 60 xcoord: 80 xcoord: 100 xcoord: 120 xcoord: 140 xcoord: 0 xcoord: 20 xcoord: 40 xcoord: 60 xcoord: 80 xcoord: 100 xcoord: 120 xcoord: 140 xcoord: 0 xcoord: 20 xcoord: 40 xcoord: 60 xcoord: 80 xcoord: 100 xcoord: 120 xcoord: 140 xcoord: 0 xcoord: 20 xcoord: 40 xcoord: 60 xcoord: 80 xcoord: 100 xcoord: 120 xcoord: 140 xcoord: 0 xcoord: 20 xcoord: 40 xcoord: 60 xcoord: 80 xcoord: 100 xcoord: 120 xcoord: 140 xcoord: 0 xcoord: 20 xcoord: 40 xcoord: 60 xcoord: 80 xcoord: 100 xcoord: 120 xcoord: 140 ycoord: 0 ycoord: 0 ycoord: 0 ycoord: 0 ycoord: 0 ycoord: 0 ycoord: 0 ycoord: 0 ycoord: 20 ycoord: 20 ycoord: 20 ycoord: 20 ycoord: 20 ycoord: 20 ycoord: 20 ycoord: 20 ycoord: 40 ycoord: 40 ycoord: 40 ycoord: 40 ycoord: 40 ycoord: 40 ycoord: 40 ycoord: 40 ycoord: 60 ycoord: 60 ycoord: 60 ycoord: 60 ycoord: 60 ycoord: 60 ycoord: 60 ycoord: 60 ycoord: 80 ycoord: 80 ycoord: 80 ycoord: 80 ycoord: 80 ycoord: 80 ycoord: 80 ycoord: 80 ycoord: 100 ycoord: 100 ycoord: 100 ycoord: 100 ycoord: 100 ycoord: 100 ycoord: 100 ycoord: 100 ycoord: 120 ycoord: 120 ycoord: 120 ycoord: 120 ycoord: 120 ycoord: 120 ycoord: 120 ycoord: 120 ycoord: 140 ycoord: 140 ycoord: 140 ycoord: 140 ycoord: 140 ycoord: 140 ycoord: 140 ycoord: 140 } } layer{ type: "Eltwise" name:"add" bottom:"conv1" bottom:"concat" top:"add" eltwise_param { operation: SUM } } layer{ name: "relu_res" type: "ReLU" bottom: "add" top: "add" } layer { name: "pool1" type: "Pooling" bottom: "add" top: "pool1" pooling_param { pool: MAX kernel_size: 2 stride: 2 } } layer { name: "norm1" type: "LRN" bottom: "pool1" top: "norm1" lrn_param { local_size: 5 alpha: 0.0001 beta: 0.75 } } layer { name: "conv2" type: "Convolution" bottom: "norm1" top: "conv2" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 16 kernel_size: 8 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ name: "relu2" type: "ReLU" bottom: "conv2" top: "conv2" } layer { name: "conv3" type: "Convolution" bottom: "conv2" top: "conv3" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 16 kernel_size: 8 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ name: "relu3" type: "ReLU" bottom: "conv3" top: "conv3" } layer { name: "conv4" type: "Convolution" bottom: "conv3" top: "conv4" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 16 kernel_size: 6 stride: 2 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer { name: "relu4" type: "ReLU" bottom: "conv4" top: "conv4" } layer { name: "conv5" type: "Convolution" bottom: "conv4" top: "conv5" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 16 kernel_size: 5 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ name: "relu5" type: "ReLU" bottom: "conv5" top: "conv5" } layer { name: "fc6" type: "InnerProduct" bottom: "conv5" top: "fc6" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } inner_product_param { num_output: 4096 weight_filler { type: "gaussian" std: 0.005 } bias_filler { type: "constant" value: 1 } } } layer { name: "relu6" type: "ReLU" bottom: "fc6" top: "fc6" } layer { name: "drop6" type: "Dropout" bottom: "fc6" top: "fc6" dropout_param { dropout_ratio: 0.5 } } layer { name: "fc7" type: "InnerProduct" bottom: "fc6" top: "fc7" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } inner_product_param { num_output: 2048 weight_filler { type: "gaussian" std: 0.005 } bias_filler { type: "constant" value: 1 } } } layer { name: "relu7" type: "ReLU" bottom: "fc7" top: "fc7" } layer { name: "drop7" type: "Dropout" bottom: "fc7" top: "fc7" dropout_param { dropout_ratio: 0.5 } } layer { name: "fc8" type: "InnerProduct" bottom: "fc7" top: "fc8" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } inner_product_param { num_output: 12 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 0 } } } layer { name: "loss" type: "MultiSigmoidCrossEntropyLoss" bottom: "fc8" bottom: "label" top: "loss" }
我们测试了cifar10
还是收敛的啊,所以只修改这一部分就够了,zjp的猜想是对的。
3,训练过程不出现全0之后的定位与调整
有没有可能是我们的数据集本身就是很难训练的呢?
我们用alexnet网络多标签训练disfa plus数据集的reain loss曲线如图
前面看着还比较像收敛,虽然有一些毛刺,后面看完整的就是纯粹的震荡了,这个loss曲线太丑了。T_T
所以是disfa plus数据集比较难训练?或者是因为多标签所以难训练?
(这里训练cifar10时会改成单标签多分类任务,而训练disfa时会使用多标签分类任务)
******************************************************************************************************************
********************************************************************************************************************
********************************************************************************************************************
*******************************************************************************************************************
好,我们尝试另外一种训练方案,之前说过有人在tensorflow上实现drml,但是用单标签,实现了,效果还可以。
那我们改成drml单标签试试?
输入层采用lmdb,loss用softmax,只训练一个AU是否存在。
下面是prototxt文件和train loss曲线结果
name: "KailirLCNNet" layer { name: "data" type: "Data" top: "data" top: "label" include { phase: TRAIN } transform_param { mirror: true crop_size: 170 mean_file: "/home/hqp/DRML/face_plus/disfa_plus_2017_05_08_onelabeltest_mean.binaryproto" } data_param { source: "/home/hqp/DRML/face_plus/train_onelabel_lmdb" batch_size: 64 backend: LMDB } } layer { name: "data" type: "Data" top: "data" top: "label" include { phase: TEST } transform_param { mirror: true crop_size: 170 mean_file: "/home/hqp/DRML/face_plus/disfa_plus_2017_05_08_onelabeltest_mean.binaryproto" } data_param { source: "/home/hqp/DRML/face_plus/val_onelabel_lmdb" batch_size: 64 backend: LMDB } } layer { name: "conv1" type: "Convolution" bottom: "data" top: "conv1" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 11 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 0 } } } layer{ name: "clipping" type: "Box" bottom: "conv1" top: "out1" top: "out2" top: "out3" top: "out4" top: "out5" top: "out6" top: "out7" top: "out8" top: "out9" top: "out10" top: "out11" top: "out12" top: "out13" top: "out14" top: "out15" top: "out16" top: "out17" top: "out18" top: "out19" top: "out20" top: "out21" top: "out22" top: "out23" top: "out24" top: "out25" top: "out26" top: "out27" top: "out28" top: "out29" top: "out30" top: "out31" top: "out32" top: "out33" top: "out34" top: "out35" top: "out36" top: "out37" top: "out38" top: "out39" top: "out40" top: "out41" top: "out42" top: "out43" top: "out44" top: "out45" top: "out46" top: "out47" top: "out48" top: "out49" top: "out50" top: "out51" top: "out52" top: "out53" top: "out54" top: "out55" top: "out56" top: "out57" top: "out58" top: "out59" top: "out60" top: "out61" top: "out62" top: "out63" top: "out64" box_param{ width: 20 height: 20 xcoord: 0 xcoord: 20 xcoord: 40 xcoord: 60 xcoord: 80 xcoord: 100 xcoord: 120 xcoord: 140 xcoord: 0 xcoord: 20 xcoord: 40 xcoord: 60 xcoord: 80 xcoord: 100 xcoord: 120 xcoord: 140 xcoord: 0 xcoord: 20 xcoord: 40 xcoord: 60 xcoord: 80 xcoord: 100 xcoord: 120 xcoord: 140 xcoord: 0 xcoord: 20 xcoord: 40 xcoord: 60 xcoord: 80 xcoord: 100 xcoord: 120 xcoord: 140 xcoord: 0 xcoord: 20 xcoord: 40 xcoord: 60 xcoord: 80 xcoord: 100 xcoord: 120 xcoord: 140 xcoord: 0 xcoord: 20 xcoord: 40 xcoord: 60 xcoord: 80 xcoord: 100 xcoord: 120 xcoord: 140 xcoord: 0 xcoord: 20 xcoord: 40 xcoord: 60 xcoord: 80 xcoord: 100 xcoord: 120 xcoord: 140 xcoord: 0 xcoord: 20 xcoord: 40 xcoord: 60 xcoord: 80 xcoord: 100 xcoord: 120 xcoord: 140 ycoord: 0 ycoord: 0 ycoord: 0 ycoord: 0 ycoord: 0 ycoord: 0 ycoord: 0 ycoord: 0 ycoord: 20 ycoord: 20 ycoord: 20 ycoord: 20 ycoord: 20 ycoord: 20 ycoord: 20 ycoord: 20 ycoord: 40 ycoord: 40 ycoord: 40 ycoord: 40 ycoord: 40 ycoord: 40 ycoord: 40 ycoord: 40 ycoord: 60 ycoord: 60 ycoord: 60 ycoord: 60 ycoord: 60 ycoord: 60 ycoord: 60 ycoord: 60 ycoord: 80 ycoord: 80 ycoord: 80 ycoord: 80 ycoord: 80 ycoord: 80 ycoord: 80 ycoord: 80 ycoord: 100 ycoord: 100 ycoord: 100 ycoord: 100 ycoord: 100 ycoord: 100 ycoord: 100 ycoord: 100 ycoord: 120 ycoord: 120 ycoord: 120 ycoord: 120 ycoord: 120 ycoord: 120 ycoord: 120 ycoord: 120 ycoord: 140 ycoord: 140 ycoord: 140 ycoord: 140 ycoord: 140 ycoord: 140 ycoord: 140 ycoord: 140 } } layer{ type: "BatchNorm" name:"bn1_1" bottom:"out1" top: "bn1_1" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_2" bottom:"out2" top: "bn1_2" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_3" bottom:"out3" top: "bn1_3" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_4" bottom:"out4" top: "bn1_4" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_5" bottom:"out5" top: "bn1_5" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_6" bottom:"out6" top: "bn1_6" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_7" bottom:"out7" top: "bn1_7" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_8" bottom:"out8" top: "bn1_8" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_9" bottom:"out9" top: "bn1_9" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_10" bottom:"out10" top: "bn1_10" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_11" bottom:"out11" top: "bn1_11" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_12" bottom:"out12" top: "bn1_12" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_13" bottom:"out13" top: "bn1_13" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_14" bottom:"out14" top: "bn1_14" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_15" bottom:"out15" top: "bn1_15" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_16" bottom:"out16" top: "bn1_16" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_17" bottom:"out17" top: "bn1_17" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_18" bottom:"out18" top: "bn1_18" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_19" bottom:"out19" top: "bn1_19" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_20" bottom:"out20" top: "bn1_20" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_21" bottom:"out21" top: "bn1_21" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_22" bottom:"out22" top: "bn1_22" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_23" bottom:"out23" top: "bn1_23" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_24" bottom:"out24" top: "bn1_24" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_25" bottom:"out25" top: "bn1_25" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_26" bottom:"out26" top: "bn1_26" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_27" bottom:"out27" top: "bn1_27" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_28" bottom:"out28" top: "bn1_28" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_29" bottom:"out29" top: "bn1_29" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_30" bottom:"out30" top: "bn1_30" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_31" bottom:"out31" top: "bn1_31" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_32" bottom:"out32" top: "bn1_32" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_33" bottom:"out33" top: "bn1_33" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_34" bottom:"out34" top: "bn1_34" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_35" bottom:"out35" top: "bn1_35" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_36" bottom:"out36" top: "bn1_36" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_37" bottom:"out37" top: "bn1_37" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_38" bottom:"out38" top: "bn1_38" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_39" bottom:"out39" top: "bn1_39" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_40" bottom:"out40" top: "bn1_40" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_41" bottom:"out41" top: "bn1_41" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_42" bottom:"out42" top: "bn1_42" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_43" bottom:"out43" top: "bn1_43" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_44" bottom:"out44" top: "bn1_44" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_45" bottom:"out45" top: "bn1_45" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_46" bottom:"out46" top: "bn1_46" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_47" bottom:"out47" top: "bn1_47" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_48" bottom:"out48" top: "bn1_48" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_49" bottom:"out49" top: "bn1_49" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_50" bottom:"out50" top: "bn1_50" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_51" bottom:"out51" top: "bn1_51" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_52" bottom:"out52" top: "bn1_52" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_53" bottom:"out53" top: "bn1_53" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_54" bottom:"out54" top: "bn1_54" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_55" bottom:"out55" top: "bn1_55" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_56" bottom:"out56" top: "bn1_56" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_57" bottom:"out57" top: "bn1_57" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_58" bottom:"out58" top: "bn1_58" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_59" bottom:"out59" top: "bn1_59" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_60" bottom:"out60" top: "bn1_60" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_61" bottom:"out61" top: "bn1_61" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_62" bottom:"out62" top: "bn1_62" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_63" bottom:"out63" top: "bn1_63" batch_norm_param { use_global_stats: false } } layer{ type: "BatchNorm" name:"bn1_64" bottom:"out64" top: "bn1_64" batch_norm_param { use_global_stats: false } } layer { bottom: "bn1_1" top: "bn1_1" name: "scale_out1" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_2" top: "bn1_2" name: "scale_out2" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_3" top: "bn1_3" name: "scale_out3" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_4" top: "bn1_4" name: "scale_out4" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_5" top: "bn1_5" name: "scale_out5" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_6" top: "bn1_6" name: "scale_out6" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_7" top: "bn1_7" name: "scale_out7" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_8" top: "bn1_8" name: "scale_out8" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_9" top: "bn1_9" name: "scale_out9" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_10" top: "bn1_10" name: "scale_out10" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_11" top: "bn1_11" name: "scale_out11" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_12" top: "bn1_12" name: "scale_out12" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_13" top: "bn1_13" name: "scale_out13" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_14" top: "bn1_14" name: "scale_out14" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_15" top: "bn1_15" name: "scale_out15" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_16" top: "bn1_16" name: "scale_out16" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_17" top: "bn1_17" name: "scale_out17" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_18" top: "bn1_18" name: "scale_out18" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_19" top: "bn1_19" name: "scale_out19" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_20" top: "bn1_20" name: "scale_out20" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_21" top: "bn1_21" name: "scale_out21" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_22" top: "bn1_22" name: "scale_out22" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_23" top: "bn1_23" name: "scale_out23" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_24" top: "bn1_24" name: "scale_out24" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_25" top: "bn1_25" name: "scale_out25" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_26" top: "bn1_26" name: "scale_out26" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_27" top: "bn1_27" name: "scale_out27" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_28" top: "bn1_28" name: "scale_out28" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_29" top: "bn1_29" name: "scale_out29" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_30" top: "bn1_30" name: "scale_out30" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_31" top: "bn1_31" name: "scale_out31" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_32" top: "bn1_32" name: "scale_out32" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_33" top: "bn1_33" name: "scale_out33" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_34" top: "bn1_34" name: "scale_out34" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_35" top: "bn1_35" name: "scale_out35" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_36" top: "bn1_36" name: "scale_out36" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_37" top: "bn1_37" name: "scale_out37" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_38" top: "bn1_38" name: "scale_out38" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_39" top: "bn1_39" name: "scale_out39" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_40" top: "bn1_40" name: "scale_out40" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_41" top: "bn1_41" name: "scale_out41" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_42" top: "bn1_42" name: "scale_out42" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_43" top: "bn1_43" name: "scale_out43" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_44" top: "bn1_44" name: "scale_out44" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_45" top: "bn1_45" name: "scale_out45" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_46" top: "bn1_46" name: "scale_out46" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_47" top: "bn1_47" name: "scale_out47" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_48" top: "bn1_48" name: "scale_out48" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_49" top: "bn1_49" name: "scale_out49" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_50" top: "bn1_50" name: "scale_out50" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_51" top: "bn1_51" name: "scale_out51" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_52" top: "bn1_52" name: "scale_out52" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_53" top: "bn1_53" name: "scale_out53" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_54" top: "bn1_54" name: "scale_out54" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_55" top: "bn1_55" name: "scale_out55" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_56" top: "bn1_56" name: "scale_out56" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_57" top: "bn1_57" name: "scale_out57" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_58" top: "bn1_58" name: "scale_out58" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_59" top: "bn1_59" name: "scale_out59" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_60" top: "bn1_60" name: "scale_out60" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_61" top: "bn1_61" name: "scale_out61" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_62" top: "bn1_62" name: "scale_out62" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_63" top: "bn1_63" name: "scale_out63" type: "Scale" scale_param { bias_term: true } } layer { bottom: "bn1_64" top: "bn1_64" name: "scale_out64" type: "Scale" scale_param { bias_term: true } } layer{ type: "ReLU" name:"relu1_1" bottom:"bn1_1" top:"bn1_1" } layer{ type: "ReLU" name:"relu1_2" bottom:"bn1_2" top:"bn1_2" } layer{ type: "ReLU" name:"relu1_3" bottom:"bn1_3" top:"bn1_3" } layer{ type: "ReLU" name:"relu1_4" bottom:"bn1_4" top:"bn1_4" } layer{ type: "ReLU" name:"relu1_5" bottom:"bn1_5" top:"bn1_5" } layer{ type: "ReLU" name:"relu1_6" bottom:"bn1_6" top:"bn1_6" } layer{ type: "ReLU" name:"relu1_7" bottom:"bn1_7" top:"bn1_7" } layer{ type: "ReLU" name:"relu1_8" bottom:"bn1_8" top:"bn1_8" } layer{ type: "ReLU" name:"relu1_9" bottom:"bn1_9" top:"bn1_9" } layer{ type: "ReLU" name:"relu1_10" bottom:"bn1_10" top:"bn1_10" } layer{ type: "ReLU" name:"relu1_11" bottom:"bn1_11" top:"bn1_11" } layer{ type: "ReLU" name:"relu1_12" bottom:"bn1_12" top:"bn1_12" } layer{ type: "ReLU" name:"relu1_13" bottom:"bn1_13" top:"bn1_13" } layer{ type: "ReLU" name:"relu1_14" bottom:"bn1_14" top:"bn1_14" } layer{ type: "ReLU" name:"relu1_15" bottom:"bn1_15" top:"bn1_15" } layer{ type: "ReLU" name:"relu1_16" bottom:"bn1_16" top:"bn1_16" } layer{ type: "ReLU" name:"relu1_17" bottom:"bn1_17" top:"bn1_17" } layer{ type: "ReLU" name:"relu1_18" bottom:"bn1_18" top:"bn1_18" } layer{ type: "ReLU" name:"relu1_19" bottom:"bn1_19" top:"bn1_19" } layer{ type: "ReLU" name:"relu1_20" bottom:"bn1_20" top:"bn1_20" } layer{ type: "ReLU" name:"relu1_21" bottom:"bn1_21" top:"bn1_21" } layer{ type: "ReLU" name:"relu1_22" bottom:"bn1_22" top:"bn1_22" } layer{ type: "ReLU" name:"relu1_23" bottom:"bn1_23" top:"bn1_23" } layer{ type: "ReLU" name:"relu1_24" bottom:"bn1_24" top:"bn1_24" } layer{ type: "ReLU" name:"relu1_25" bottom:"bn1_25" top:"bn1_25" } layer{ type: "ReLU" name:"relu1_26" bottom:"bn1_26" top:"bn1_26" } layer{ type: "ReLU" name:"relu1_27" bottom:"bn1_27" top:"bn1_27" } layer{ type: "ReLU" name:"relu1_28" bottom:"bn1_28" top:"bn1_28" } layer{ type: "ReLU" name:"relu1_29" bottom:"bn1_29" top:"bn1_29" } layer{ type: "ReLU" name:"relu1_30" bottom:"bn1_30" top:"bn1_30" } layer{ type: "ReLU" name:"relu1_31" bottom:"bn1_31" top:"bn1_31" } layer{ type: "ReLU" name:"relu1_32" bottom:"bn1_32" top:"bn1_32" } layer{ type: "ReLU" name:"relu1_33" bottom:"bn1_33" top:"bn1_33" } layer{ type: "ReLU" name:"relu1_34" bottom:"bn1_34" top:"bn1_34" } layer{ type: "ReLU" name:"relu1_35" bottom:"bn1_35" top:"bn1_35" } layer{ type: "ReLU" name:"relu1_36" bottom:"bn1_36" top:"bn1_36" } layer{ type: "ReLU" name:"relu1_37" bottom:"bn1_37" top:"bn1_37" } layer{ type: "ReLU" name:"relu1_38" bottom:"bn1_38" top:"bn1_38" } layer{ type: "ReLU" name:"relu1_39" bottom:"bn1_39" top:"bn1_39" } layer{ type: "ReLU" name:"relu1_40" bottom:"bn1_40" top:"bn1_40" } layer{ type: "ReLU" name:"relu1_41" bottom:"bn1_41" top:"bn1_41" } layer{ type: "ReLU" name:"relu1_42" bottom:"bn1_42" top:"bn1_42" } layer{ type: "ReLU" name:"relu1_43" bottom:"bn1_43" top:"bn1_43" } layer{ type: "ReLU" name:"relu1_44" bottom:"bn1_44" top:"bn1_44" } layer{ type: "ReLU" name:"relu1_45" bottom:"bn1_45" top:"bn1_45" } layer{ type: "ReLU" name:"relu1_46" bottom:"bn1_46" top:"bn1_46" } layer{ type: "ReLU" name:"relu1_47" bottom:"bn1_47" top:"bn1_47" } layer{ type: "ReLU" name:"relu1_48" bottom:"bn1_48" top:"bn1_48" } layer{ type: "ReLU" name:"relu1_49" bottom:"bn1_49" top:"bn1_49" } layer{ type: "ReLU" name:"relu1_50" bottom:"bn1_50" top:"bn1_50" } layer{ type: "ReLU" name:"relu1_51" bottom:"bn1_51" top:"bn1_51" } layer{ type: "ReLU" name:"relu1_52" bottom:"bn1_52" top:"bn1_52" } layer{ type: "ReLU" name:"relu1_53" bottom:"bn1_53" top:"bn1_53" } layer{ type: "ReLU" name:"relu1_54" bottom:"bn1_54" top:"bn1_54" } layer{ type: "ReLU" name:"relu1_55" bottom:"bn1_55" top:"bn1_55" } layer{ type: "ReLU" name:"relu1_56" bottom:"bn1_56" top:"bn1_56" } layer{ type: "ReLU" name:"relu1_57" bottom:"bn1_57" top:"bn1_57" } layer{ type: "ReLU" name:"relu1_58" bottom:"bn1_58" top:"bn1_58" } layer{ type: "ReLU" name:"relu1_59" bottom:"bn1_59" top:"bn1_59" } layer{ type: "ReLU" name:"relu1_60" bottom:"bn1_60" top:"bn1_60" } layer{ type: "ReLU" name:"relu1_61" bottom:"bn1_61" top:"bn1_61" } layer{ type: "ReLU" name:"relu1_62" bottom:"bn1_62" top:"bn1_62" } layer{ type: "ReLU" name:"relu1_63" bottom:"bn1_63" top:"bn1_63" } layer{ type: "ReLU" name:"relu1_64" bottom:"bn1_64" top:"bn1_64" } layer{ type: "Convolution" name:"conv1_1" bottom:"bn1_1" top:"res1_1" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_2" bottom:"bn1_2" top:"res1_2" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_3" bottom:"bn1_3" top:"res1_3" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_4" bottom:"bn1_4" top:"res1_4" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_5" bottom:"bn1_5" top:"res1_5" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_6" bottom:"bn1_6" top:"res1_6" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_7" bottom:"bn1_7" top:"res1_7" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_8" bottom:"bn1_8" top:"res1_8" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_9" bottom:"bn1_9" top:"res1_9" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_10" bottom:"bn1_10" top:"res1_10" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_11" bottom:"bn1_11" top:"res1_11" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_12" bottom:"bn1_12" top:"res1_12" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_13" bottom:"bn1_13" top:"res1_13" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_14" bottom:"bn1_14" top:"res1_14" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_15" bottom:"bn1_15" top:"res1_15" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_16" bottom:"bn1_16" top:"res1_16" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_17" bottom:"bn1_17" top:"res1_17" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_18" bottom:"bn1_18" top:"res1_18" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_19" bottom:"bn1_19" top:"res1_19" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_20" bottom:"bn1_20" top:"res1_20" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_21" bottom:"bn1_21" top:"res1_21" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_22" bottom:"bn1_22" top:"res1_22" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_23" bottom:"bn1_23" top:"res1_23" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_24" bottom:"bn1_24" top:"res1_24" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_25" bottom:"bn1_25" top:"res1_25" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_26" bottom:"bn1_26" top:"res1_26" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_27" bottom:"bn1_27" top:"res1_27" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_28" bottom:"bn1_28" top:"res1_28" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_29" bottom:"bn1_29" top:"res1_29" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_30" bottom:"bn1_30" top:"res1_30" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_31" bottom:"bn1_31" top:"res1_31" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_32" bottom:"bn1_32" top:"res1_32" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_33" bottom:"bn1_33" top:"res1_33" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_34" bottom:"bn1_34" top:"res1_34" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_35" bottom:"bn1_35" top:"res1_35" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_36" bottom:"bn1_36" top:"res1_36" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_37" bottom:"bn1_37" top:"res1_37" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_38" bottom:"bn1_38" top:"res1_38" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_39" bottom:"bn1_39" top:"res1_39" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_40" bottom:"bn1_40" top:"res1_40" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_41" bottom:"bn1_41" top:"res1_41" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_42" bottom:"bn1_42" top:"res1_42" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_43" bottom:"bn1_43" top:"res1_43" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_44" bottom:"bn1_44" top:"res1_44" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_45" bottom:"bn1_45" top:"res1_45" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_46" bottom:"bn1_46" top:"res1_46" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_47" bottom:"bn1_47" top:"res1_47" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_48" bottom:"bn1_48" top:"res1_48" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_49" bottom:"bn1_49" top:"res1_49" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_50" bottom:"bn1_50" top:"res1_50" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_51" bottom:"bn1_51" top:"res1_51" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_52" bottom:"bn1_52" top:"res1_52" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_53" bottom:"bn1_53" top:"res1_53" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_54" bottom:"bn1_54" top:"res1_54" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_55" bottom:"bn1_55" top:"res1_55" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_56" bottom:"bn1_56" top:"res1_56" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_57" bottom:"bn1_57" top:"res1_57" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_58" bottom:"bn1_58" top:"res1_58" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_59" bottom:"bn1_59" top:"res1_59" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_60" bottom:"bn1_60" top:"res1_60" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_61" bottom:"bn1_61" top:"res1_61" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_62" bottom:"bn1_62" top:"res1_62" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_63" bottom:"bn1_63" top:"res1_63" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ type: "Convolution" name:"conv1_64" bottom:"bn1_64" top:"res1_64" param{ lr_mult: 1 decay_mult: 1 } param{ lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 32 kernel_size: 3 pad: 1 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ name: "Splice" type: "Splice" bottom:"res1_1" bottom:"res1_2" bottom:"res1_3" bottom:"res1_4" bottom:"res1_5" bottom:"res1_6" bottom:"res1_7" bottom:"res1_8" bottom:"res1_9" bottom:"res1_10" bottom:"res1_11" bottom:"res1_12" bottom:"res1_13" bottom:"res1_14" bottom:"res1_15" bottom:"res1_16" bottom:"res1_17" bottom:"res1_18" bottom:"res1_19" bottom:"res1_20" bottom:"res1_21" bottom:"res1_22" bottom:"res1_23" bottom:"res1_24" bottom:"res1_25" bottom:"res1_26" bottom:"res1_27" bottom:"res1_28" bottom:"res1_29" bottom:"res1_30" bottom:"res1_31" bottom:"res1_32" bottom:"res1_33" bottom:"res1_34" bottom:"res1_35" bottom:"res1_36" bottom:"res1_37" bottom:"res1_38" bottom:"res1_39" bottom:"res1_40" bottom:"res1_41" bottom:"res1_42" bottom:"res1_43" bottom:"res1_44" bottom:"res1_45" bottom:"res1_46" bottom:"res1_47" bottom:"res1_48" bottom:"res1_49" bottom:"res1_50" bottom:"res1_51" bottom:"res1_52" bottom:"res1_53" bottom:"res1_54" bottom:"res1_55" bottom:"res1_56" bottom:"res1_57" bottom:"res1_58" bottom:"res1_59" bottom:"res1_60" bottom:"res1_61" bottom:"res1_62" bottom:"res1_63" bottom:"res1_64" top: "concat" splice_param{ xcoord: 0 xcoord: 20 xcoord: 40 xcoord: 60 xcoord: 80 xcoord: 100 xcoord: 120 xcoord: 140 xcoord: 0 xcoord: 20 xcoord: 40 xcoord: 60 xcoord: 80 xcoord: 100 xcoord: 120 xcoord: 140 xcoord: 0 xcoord: 20 xcoord: 40 xcoord: 60 xcoord: 80 xcoord: 100 xcoord: 120 xcoord: 140 xcoord: 0 xcoord: 20 xcoord: 40 xcoord: 60 xcoord: 80 xcoord: 100 xcoord: 120 xcoord: 140 xcoord: 0 xcoord: 20 xcoord: 40 xcoord: 60 xcoord: 80 xcoord: 100 xcoord: 120 xcoord: 140 xcoord: 0 xcoord: 20 xcoord: 40 xcoord: 60 xcoord: 80 xcoord: 100 xcoord: 120 xcoord: 140 xcoord: 0 xcoord: 20 xcoord: 40 xcoord: 60 xcoord: 80 xcoord: 100 xcoord: 120 xcoord: 140 xcoord: 0 xcoord: 20 xcoord: 40 xcoord: 60 xcoord: 80 xcoord: 100 xcoord: 120 xcoord: 140 ycoord: 0 ycoord: 0 ycoord: 0 ycoord: 0 ycoord: 0 ycoord: 0 ycoord: 0 ycoord: 0 ycoord: 20 ycoord: 20 ycoord: 20 ycoord: 20 ycoord: 20 ycoord: 20 ycoord: 20 ycoord: 20 ycoord: 40 ycoord: 40 ycoord: 40 ycoord: 40 ycoord: 40 ycoord: 40 ycoord: 40 ycoord: 40 ycoord: 60 ycoord: 60 ycoord: 60 ycoord: 60 ycoord: 60 ycoord: 60 ycoord: 60 ycoord: 60 ycoord: 80 ycoord: 80 ycoord: 80 ycoord: 80 ycoord: 80 ycoord: 80 ycoord: 80 ycoord: 80 ycoord: 100 ycoord: 100 ycoord: 100 ycoord: 100 ycoord: 100 ycoord: 100 ycoord: 100 ycoord: 100 ycoord: 120 ycoord: 120 ycoord: 120 ycoord: 120 ycoord: 120 ycoord: 120 ycoord: 120 ycoord: 120 ycoord: 140 ycoord: 140 ycoord: 140 ycoord: 140 ycoord: 140 ycoord: 140 ycoord: 140 ycoord: 140 } } layer{ type: "Eltwise" name:"add" bottom:"conv1" bottom:"concat" top:"add" eltwise_param { operation: SUM } } layer{ name: "relu_res" type: "ReLU" bottom: "add" top: "add" } layer { name: "pool1" type: "Pooling" bottom: "add" top: "pool1" pooling_param { pool: MAX kernel_size: 2 stride: 2 } } layer { name: "norm1" type: "LRN" bottom: "pool1" top: "norm1" lrn_param { local_size: 5 alpha: 0.0001 beta: 0.75 } } layer { name: "conv2" type: "Convolution" bottom: "norm1" top: "conv2" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 16 kernel_size: 8 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ name: "relu2" type: "ReLU" bottom: "conv2" top: "conv2" } layer { name: "conv3" type: "Convolution" bottom: "conv2" top: "conv3" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 16 kernel_size: 8 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ name: "relu3" type: "ReLU" bottom: "conv3" top: "conv3" } layer { name: "conv4" type: "Convolution" bottom: "conv3" top: "conv4" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 16 kernel_size: 6 stride: 2 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer { name: "relu4" type: "ReLU" bottom: "conv4" top: "conv4" } layer { name: "conv5" type: "Convolution" bottom: "conv4" top: "conv5" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } convolution_param { num_output: 16 kernel_size: 5 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } } layer{ name: "relu5" type: "ReLU" bottom: "conv5" top: "conv5" } layer { name: "fc6" type: "InnerProduct" bottom: "conv5" top: "fc6" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } inner_product_param { num_output: 4096 weight_filler { type: "gaussian" std: 0.005 } bias_filler { type: "constant" value: 1 } } } layer { name: "relu6" type: "ReLU" bottom: "fc6" top: "fc6" } layer { name: "drop6" type: "Dropout" bottom: "fc6" top: "fc6" dropout_param { dropout_ratio: 0.5 } } layer { name: "fc7" type: "InnerProduct" bottom: "fc6" top: "fc7" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } inner_product_param { num_output: 2048 weight_filler { type: "gaussian" std: 0.005 } bias_filler { type: "constant" value: 1 } } } layer { name: "relu7" type: "ReLU" bottom: "fc7" top: "fc7" } layer { name: "drop7" type: "Dropout" bottom: "fc7" top: "fc7" dropout_param { dropout_ratio: 0.5 } } layer { name: "fc8" type: "InnerProduct" bottom: "fc7" top: "fc8" param { lr_mult: 1 decay_mult: 1 } param { lr_mult: 2 decay_mult: 0 } inner_product_param { num_output: 12 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 0 } } } layer { name: "accuracy" type: "Accuracy" bottom: "fc8" bottom: "label" top: "accuracy" include { phase: TEST } } layer { name: "loss" type: "SoftmaxWithLoss" bottom: "fc8" bottom: "label" top: "loss" }
收敛了。对比我们不收敛的disfa drml训练,修改的部分主要有两条,一条是数据输入,多标签vs单标签,一条是loss函数,drml用自己写的multi sigmoid cross entroy, vs softmaxloss
但是,用已有图片测试训练出来的单标签模型的时候发现网络的输出一直是该AU不存在,检查之后发现,我在这个单标签训练模型时用的disfa plus数据集的AU9作为训练项,存在AU9的图片10%不到,所以网络直接输出没有AU9了。。。
下面是disfa plus数据集和disfa 数据集的统计信息
所以我重新选择了AU4作为检测对象。计划明天(5.11)训练检测drml对单标签的检测效果
******************************************************************************************************************
********************************************************************************************************************
********************************************************************************************************************
*******************************************************************************************************************
******************************************************************************************************************
********************************************************************************************************************
********************************************************************************************************************
*******************************************************************************************************************
******************************************************************************************************************
********************************************************************************************************************
********************************************************************************************************************
*******************************************************************************************************************
相关文章推荐
- DRML(2016-CVPR)重现过程记录---(5)问题定位_1
- DRML(2016-CVPR)重现过程记录---(8)问题定位_3
- DRML(2016-CVPR)重现过程记录---(9)问题解决与最终结果
- DRML(2016-CVPR)重现过程记录---(4)问题与反思
- DRML(2016-CVPR)重现过程记录---(10)代码上传
- DRML(2016-CVPR)重现过程记录---(2)数据预处理
- DRML(2016-CVPR)重现过程记录---(6)新的尝试与思考-tensorflow?
- DRML(2016-CVPR)重现过程记录---(1)caffe+DRML源码编译
- DRML(2016-CVPR)重现过程记录---(3)训练模型
- [项目过程中所遇到的各种问题记录]编辑器篇——FCKeditor相关知识及各种常见使用问题
- 一次内存泄漏问题定位过程与分析
- [项目过程中所遇到的各种问题记录]ORM篇——使用NHibernate配置对象实体的一些小问题
- [项目过程中所遇到的各种问题记录]图表篇——有关MSChart的一些小技巧
- [项目过程中所遇到的各种问题记录]图表篇——asp.net上不错的图表选择—FunsionCharts
- [项目过程中所遇到的各种问题记录]编辑器篇——使用FCKeditor生成静态分页HTML
- [项目过程中所遇到的各种问题记录]学习篇——对工作以来的学习过的开源项目进行总结—动软代码生成工具
- [项目过程中所遇到的各种问题记录]部署篇——项目部署过程中那些纠结的问题-IIS
- [项目过程中所遇到的各种问题记录]ORM篇——有关NHibernate查询封装
- [项目过程中所遇到的各种问题记录]部署篇——项目部署过程中那些纠结的问题-SQLServer
- [项目过程中所遇到的各种问题记录]编辑器篇——FCKeditor自定义上传路径配置