利用作者网络重新训练作者提供的数据集和测试集,map结果太高:91.91%
为什么用您给的VOC2007+2012训练集训练您写的复现SSD的网络后,再用VOC2007测试集测试MAP。MAP结果居然在91.91%,原文对应的MAP是74.1%。我完全按照README步骤操作,不知道哪里出了问题,还是您写的代码本身效果可以这么好呢?希望您能答疑解惑一下,谢谢!
在训练时候,train.py里面的第60行代码会用到 ssd_weights.h5权重( model_path = 'model_data/ssd_weights.h5')。 不太能理解为什么训练时候要用您提供的ssd_weights.h5权重。是为了给前面的VGG16权重吗?
COCO+07++12是用到07的测试集训练的。所以不能这样训练。
COCO+07++12是用到07的测试集训练的。所以不能这样训练。
可是您提供的是VOC2007+2012训练集,不是VOC07++12+COCO训练集呀。VOC2007+2012训练集不包括07的测试集的
是的。理论上训练VOC2007+2012应该用VGG的主干权重。
为什么用您给的VOC2007+2012训练集训练您写的复现SSD的网络后,再用VOC2007测试集测试MAP。MAP结果居然在91.91%,原文对应的MAP是74.1%。我完全按照README步骤操作,不知道哪里出了问题,还是您写的代码本身效果可以这么好呢?希望您能答疑解惑一下,谢谢!
------------------ 原始邮件 ------------------ 发件人: "bubbliiiing/ssd-tf2" @.>; 发送时间: 2021年7月4日(星期天) 晚上9:47 @.>; 抄送: "Chen Wei @.@.>; 主题: Re: [bubbliiiing/ssd-tf2] 利用作者网络重新训练作者提供的数据集和测试集,map结果太高:91.91% (#8)
是的。理论上训练VOC2007+2012应该用VGG的主干权重。
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.
用VGG作为主干的话就是和论文差不多
您代码用的就是VGG16的主干网络吧?
------------------ 原始邮件 ------------------ 发件人: "bubbliiiing/ssd-tf2" @.>; 发送时间: 2021年7月4日(星期天) 晚上10:30 @.>; 抄送: "Chen Wei @.@.>; 主题: Re: [bubbliiiing/ssd-tf2] 利用作者网络重新训练作者提供的数据集和测试集,map结果太高:91.91% (#8)
用VGG作为主干的话就是和论文差不多
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.
已有的权重是在coco+07++12上训练的,不能作为07+12的预训练权重,因为之前已经训练过07的测试集,你要复现原网络的话,应该要用vgg的权重
好的谢谢
您好,我复现原网络用了这个VGG16的权重,权重名是vgg16_weights_tf_dim_ordering_tf_kernels_notop.h5,用在了train.py里面的model_path中。然后训练结果MAP是63%,原网络的MAP是74.1%。有比较大的差距。请问是不是要增加训练次数呢?另外请问您用的初始权重是VGG16的权重吗? ------------------ 原始邮件 ------------------ 发件人: "bubbliiiing/ssd-tf2" @.>; 发送时间: 2021年7月15日(星期四) 上午10:59 @.>; 抄送: "Chen Wei @.@.>; 主题: Re: [bubbliiiing/ssd-tf2] 利用作者网络重新训练作者提供的数据集和测试集,map结果太高:91.91% (#8)
已有的权重是在coco+07++12上训练的,不能作为07+12的预训练权重,因为之前已经训练过07的测试集,你要复现原网络的话,应该要用vgg的权重
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.
这个问题不是网络的问题,是权重的问题,这个vgg16_weights_tf_dim_ordering_tf_kernels_notop.h5每一层的名字和我当前网络的名字不一样,你对比源码就知道了
我已经试过了,VGG权重+07+12是77-78左右
这个vgg16_weights_tf_dim_ordering_tf_kernels_notop.h5每一层的名字和您当前网络的名字一样吧? /block1_conv1 /block1_conv2 /block1_pool /block2_conv1 /block2_conv2 /block2_pool /block3_conv1 /block3_conv2 /block3_conv3 /block3_pool /block4_conv1 /block4_conv2 /block4_conv3 /block4_pool /block5_conv1 /block5_conv2 /block5_conv3 /block5_pool 这VGG16的block1-5和您那边的1-5一样的。
所以还需要 /conv6_1 /conv6_2 /conv6_2_mbox_conf /conv6_2_mbox_loc /conv7_1 /conv7_2 /conv7_2_mbox_conf /conv7_2_mbox_loc /conv8_1 /conv8_2 /conv8_2_mbox_conf /conv8_2_mbox_loc /conv9_1 /conv9_2 /conv9_2_mbox_conf /conv9_2_mbox_loc /fc6 /fc7 /fc7_mbox_conf /fc7_mbox_loc 这些初始权重吗?请问这些层的初始权重是怎么获得的呢?
不一样,我这里是conv1_1。你可以在这里下载,我刚上传了https://github.com/bubbliiiing/ssd-keras