错误代码:
RuntimeError: ‘lengths’ argument should be a 1D CPU int64 tensor, but got 1D cuda:0 Long tensor
检索提示:
1、torch版本问题。
是否采用:否。版本在遇到巨大迭代时候,才会涉及到版本问题,设计者肯定考虑了版本的兼容问题,即使是换版本成功,个人感觉后期也会遇到。
2、数据读取问题。
是否采取:是。
解决思路:先测试是否可以在CPU运行,测试无误。说明数据在CPU读取,处理都没有问题。
测试在GPU运行。出现上述错误,按照问题提示,将总的数据读取放在CPU处理,但是提示错误2,如下。
RuntimeError: Expected all tensors to be on the same device, but found at least two devices, cuda:0 and cpu!
**错误简述:**数据处理必须在一个处理器,不能在cpu和gpu同时处理。
**解决办法:**对数据处理部分,逐一Debug,判断出在CPU处理的数据,进行变量赋值,而不是把总的数据处理放到CPU上。
错误代码行数:train全局数据处理83行
model中93行,对部分数据处理进行CPU处理。