训练目标检测过程中遇到的不同keras版本导致训练和预测结果截然不同的问题

问题:最近在做目标检测项目,使用的是CenterNet网络进行训练,在自己的数据集上进行训练,首先数据集是完全一致的、然后代码也是一模一样的,但是在不同环境下得训练loss和预测结果完全不同

先说结论:修改了keras版本,问题解决

环境有4个:第一个是本机笔记本TensorFlow==1.15.0组合keras==2.2.4,第二个是本机笔记本TensorFlow-gpu==1.15.0和keras==2.2.4,第三个是公司台式机电脑TensorFlow-gpu==1.15.0和keras==2.2.4,第四个是公司服务器环境TensorFlow-gpu==1.7.0和keras==2.3.0

过程:先是在本机使用gpu版本进行训练自己的数据集,val_loss最终在4.几,效果完全无法预测,一直认为是自己的数据集有问题查了好久也没找到问题在哪,后来想着使用公司服务器训练试试,虽然使用cpu训练很慢,但是反正是nohup运行,挂着就是了,然后发现最终的val_loss下降到1.2左右,把模型下载下来,使用公司台式机预测一下,惊奇的发现效果居然还挺好的,检测错误很少,大部分能检测到,然后使用台式机电脑训练效果和服务器差不多,但是把模型拿到笔记本,无论是使用cpu还是gpu版本预测效果都是极差的,然后怀疑就是环境之间的差异导致的,但是一对比发现笔记本和公司台式机的tensorflow、keras的版本是一样的,然后整个人都是懵逼的,然后灵机一动把笔记本的keras版本改为和服务器一样的keras==2.3.0,然后效果恢复到和台式机和服务器效果差不多了。这个时候笔记本的TensorFlow-gpu==1.15.0,keras==2.3.0(TensorFlow-gpu==1.15.0,keras==2.3.0)和公司台式机和公司服务器的环境都不一样,但是神奇的是效果都好了。

总结:训练模型做预测的时候,效果一般、不太好可以理解,但是有时效果极差的时候,也要思考一下是不是版本控制的问题。

更新:有可能最近在安装别的库的时候有影响,导致训练又出现异常,卸载keras==2.3.0,然后重新安装之后恢复正常。

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值