RuntimeError: ‘lengths’ argument should be a 1D CPU int64 tensor, but got 1D cuda:0 Long tensor(代码片段

Posted ZSYL

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RuntimeError: ‘lengths’ argument should be a 1D CPU int64 tensor, but got 1D cuda:0 Long tensor(代码片段相关的知识,希望对你有一定的参考价值。

报错内容

RuntimeError: ‘lengths’ argument should be a 1D CPU int64 tensor, but got 1D cuda:0 Long tensor

原因分析

因为我使用的是高版本的 torch 1.7.1,这个报错是由于torch 1.5 以上BiLSTM升级导致的。

解决方案

  1. 转到CPU运行代码就不报错了!
  2. 将报错的位置参数lengths转化为cpu 类型:
lengths.to("cpu")

即可解决!

参考link

以上是关于RuntimeError: ‘lengths’ argument should be a 1D CPU int64 tensor, but got 1D cuda:0 Long tensor(代码片段的主要内容,如果未能解决你的问题,请参考以下文章

[Python] RuntimeError: Invalid DISPLAY variable

[Python] RuntimeError: Invalid DISPLAY variable

RuntimeError:针对 API 版本 a 编译的模块,但这个版本的 numpy 是 9

python递归深度报错--RuntimeError: maximum recursion depth exceeded

你如何修复 numpy 和 pandas 的“runtimeError: package failed to pass a sanity check”?

matplotlib使用时报错RuntimeError: Python is not installed as a framework