pytorch分布式训练之 TypeError: function takes exactly 5 arguments(1 given)

在使用pytorch进行分布式训练时老是遇到“TypeError: function takes exactly 5 arguments(1 given)”报错,然后训练终止, GPU一直处于占满状态,如果不看输出日志还以为一直在训练,其实训练已经终止了。

这个问题也很奇特,按说报错了,训练就该终止了才是,然而实际情况是有一块GPU的利用率降为0,其他的GPU全部处于占满状态。

错误提示在dataloader位置,但是更详细的信息没有,一开始一直以为是有训练数据存在错行问题(因为之前训练是没有问题的),所以一遍遍的过滤清洗,但是仍然报这个错误。

网上搜罗了很多帖子,国内搜索引擎没有搜到很好的答案,然后去google,终于有些眉目。

终极解决方案:将dataloader 的num_workers设置为0

然后在进行训练时,输出日志将输出具体错误的代码行数及相应问题。

我的具体问题如下:

然后针对具体问题进行解决就可以了,解决掉后 num_workers也可以正常进行设置了。

done!!!

这个问题和我另外一个帖子遇到的问题及其相似如何解决 RuntimeError: CUDA error: CUBLAS_STATUS_ALLOC_FAILED when calling `cublasCreate(handle)`_just do it now的博客-CSDN博客_cublas

不知道怎么理解这个问题,有分布式训练大佬看到可以分享一下见解。

参考:

1.TypeError: function takes exactly 5 arguments (1 given)如何解决呀? - githubhot

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值