【Pytorch】Expected all tensors to be on the same device, but found at least two devices

连翰
2023-12-01

详细错误信息如下:

Expected all tensors to be on the same device, but found at least two devices, cuda:0 and cpu!

大意是“预期所有张量处于相同的设备上,但是发现至少在两种设备上存在张量。”。

也就是说有一些张量被放到了CPU,有一些张量被放在了GPU上,导致异常出现。建议是排查一下代码,是否在做GPU加速时,有一些张量被忘记放到GPU上了。特别是优化器(optimization)也应该处于GPU上(保持与模型在同一类设备上)。

由于距离上一次遇到这个问题过去太久了,具体处理细节有点忘记了……,所以没办法给出详细的修改步骤。总之,根本原因还是张量没有被正确放置。

// 全文完

因笔者能力有限,若文章内容存在错误或不恰当之处,欢迎留言、私信批评指正。
Email:YePeanut[at]foxmail.com

 类似资料: