tensorflow-yolov3
tensorflow-yolov3 copied to clipboard
用ckpt去evaluate效果不错,但是用freeze_graph转成pb文件后检测效果就很差
用ckpt去evaluate效果不错,但是用freeze_graph转成pb文件后检测效果就很差。没有改过网络结构,唯一改动的就是根据自己的数据集改一改类别数等等,并且将evaluate.py文件中的trainable置为True。 有人遇到过类似的问题吗?
trainable置为True就不是测试了,而且batchNorm层的参数也会更新,你转成pb文件后能检测到物体就奇怪了。
trainable置为True就不是测试了,而且batchNorm层的参数也会更新,你转成pb文件后能检测到物体就奇怪了。
如果我把trainable设置为False,则evaluate的结果什么都预测不到,0%MAP。如果把trainable设置为True,MAP能到90%多。是我没有训练好是吗?
其实在你batchsize很小的时候,测试的时候把training设置为True效果是有可能更好的。
其实在你batchsize很小的时候,测试的时候把training设置为True效果是有可能更好的。
batch设置的是2,电脑显存不大
trainable置为True就不是测试了,而且batchNorm层的参数也会更新,你转成pb文件后能检测到物体就奇怪了。
如果我把trainable设置为False,则evaluate的结果什么都预测不到,0%MAP。如果把trainable设置为True,MAP能到90%多。是我没有训练好是吗?
描述问题的时候能不能说说什么数据集呢,还有怎么训练的呢?我觉得是你没训练好吧,因为batchNorm是解决过拟合而生,从你描述的问题来看应该是过拟合了。
trainable置为True就不是测试了,而且batchNorm层的参数也会更新,你转成pb文件后能检测到物体就奇怪了。
如果我把trainable设置为False,则evaluate的结果什么都预测不到,0%MAP。如果把trainable设置为True,MAP能到90%多。是我没有训练好是吗?
描述问题的时候能不能说说什么数据集呢,还有怎么训练的呢?我觉得是你没训练好吧,因为batchNorm是解决过拟合而生,从你描述的问题来看应该是过拟合了。
已经解决了,谢谢,貌似是因为欠拟合。我把训练次数弄上去问题就解决了
trainable置为True就不是测试了,而且batchNorm层的参数也会更新,你转成pb文件后能检测到物体就奇怪了。
如果我把trainable设置为False,则evaluate的结果什么都预测不到,0%MAP。如果把trainable设置为True,MAP能到90%多。是我没有训练好是吗?
描述问题的时候能不能说说什么数据集呢,还有怎么训练的呢?我觉得是你没训练好吧,因为batchNorm是解决过拟合而生,从你描述的问题来看应该是过拟合了。
已经解决了,谢谢,貌似是因为欠拟合。我把训练次数弄上去问题就解决了
你是使用darknet训练的吗?然后转化为tensorflow的时候mAP变小是吗?
你好,ckpt和pb的效果完全不一样
检查一下你的tf版本是否高于1.11
------------------ 原始邮件 ------------------ 发件人: "wanzghen0123"[email protected]; 发送时间: 2019年8月27日(星期二) 下午5:19 收件人: "YunYang1994/tensorflow-yolov3"[email protected]; 抄送: "伯努利不努力!"[email protected];"Author"[email protected]; 主题: Re: [YunYang1994/tensorflow-yolov3] 用ckpt去evaluate效果不错,但是用freeze_graph转成pb文件后检测效果就很差 (#218)
你好,ckpt和pb的效果完全不一样
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.
1.14.我跟你遇到的问题一样,执行demo.py和evaluate的效果不一样。ckpt转换成pb之后,执行demo的结果完全是错误的
video_demo.py中需要将36、62行注释掉,因为utils.image_preporcess()中以及将BGR转RGB了; image_deom.py中需要将30行也做类似的处理,image_data = utils.image_preporcess(np.copy(original_image[:, :, ::-1]), [input_size, input_size])。
trainable置为True就不是测试了,而且batchNorm层的参数也会更新,你转成pb文件后能检测到物体就奇怪了。
如果我把trainable设置为False,则evaluate的结果什么都预测不到,0%MAP。如果把trainable设置为True,MAP能到90%多。是我没有训练好是吗?
描述问题的时候能不能说说什么数据集呢,还有怎么训练的呢?我觉得是你没训练好吧,因为batchNorm是解决过拟合而生,从你描述的问题来看应该是过拟合了。
已经解决了,谢谢,貌似是因为欠拟合。我把训练次数弄上去问题就解决了
确实是欠拟合造成的; 以raccoon数据为例,200张图,训练180张,测试20张, 训练20+30个周期,loss下降到0.4,单张图可以测试出结果,但是mAP=0,把trainable=True,mAP=97%,但是看detection结果确实是不好; 训练100+200个周期,loss下降到0.10,把trainable=False,可以测试出mAP=100%;看detection结果确实是好。测试训练图像180张,mAP=100%。
trainable置为True就不是测试了,而且batchNorm层的参数也会更新,你转成pb文件后能检测到物体就奇怪了。
如果我把trainable设置为False,则evaluate的结果什么都预测不到,0%MAP。如果把trainable设置为True,MAP能到90%多。是我没有训练好是吗?
描述问题的时候能不能说说什么数据集呢,还有怎么训练的呢?我觉得是你没训练好吧,因为batchNorm是解决过拟合而生,从你描述的问题来看应该是过拟合了。
已经解决了,谢谢,貌似是因为欠拟合。我把训练次数弄上去问题就解决了
确实是欠拟合造成的; 以raccoon数据为例,200张图,训练180张,测试20张, 训练20+30个周期,loss下降到0.4,单张图可以测试出结果,但是mAP=0,把trainable=True,mAP=97%,但是看detection结果确实是不好; 训练100+200个周期,loss下降到0.10,把trainable=False,可以测试出mAP=100%;看detection结果确实是好。测试训练图像180张,mAP=100%。
您好,我的训练集是2500张,验证集是700张,训练了90个周期,从第60个周期开始,test loss就在6~7左右稳定了,但是测试结果的mAP=0,并且一个目标都检测不到,如果把trainable=True,则mAP=60%,请问这也是因为欠拟合吗?