pytorch 使用多GPU训练模型测试出现:TypeError: forward() missing 1 required positional argument: ‘x‘可能解决方法

最近在使用u版yolov3训练数据集时,使用多GPU训练时总是报错:

    TypeError: Caught TypeError in replica 1 on device 1.
    TypeError: forward() missing 1 required positional argument: 'x'

百度了一下发现是因为我使用了多个显卡,导致在inference阶段,模型和数据不在同一个显卡上,所以后面同时报了:

TypeError: forward() missing 1 required positional argument: 'x'

没有数据的错误。

详情参考这篇文章:https://www.cnblogs.com/YouXiangLiThon/p/13361448.html

但百度上面没有查询到解决办法,于是去github上试试有没有相同的问题。结果发现真的有人出现了同样问题,大佬的回答是因为自己的数据集数量不是 batch-size 的整数倍,因此会报错。参考https://github.com/ultralytics/yolov3/issues/1355

于是查看自己的数据集,真的是这个问题,问题解决!
 

你可能感兴趣的:(Python,CUDA)