@yolo4训练出现RuntimeError: result type Float can’t be cast to the desired output type __int64 报错
背景
使用anaconda在windows系统配置了yolov7的训练环境,一切都正常,最近想使用yolov4,从github上下载源码后进行训练,在快要到训练阶段时候出现了"RuntimeError: result type Float can’t be cast to the desired output type __int64"报错现象。
上网搜了都是说用Yolov5的loss.py来替代当前的loss.py,因为v4和v5之间的区别还是有点大,所以替换后出现的问题更多。
解决办法
通过判断报错信息,得到应该是数据类型不一致导致的问题,应该是某个库版本不同导致的这个问题,所以找到loss.py报错的那一行,将gain进行强制转换为Int类型,就可以正常训练了。