RuntimeError:“lengths”参数应该是 1D CPU int64 张量,但得到 1D cuda:0 Long 张量

Rez*_*fra 6 pytorch

我正在尝试在纸张空间上使用 pytorch 和 torchtext 进行文本分类。

\n

我明白了

\n
RuntimeError: \xe2\x80\x98lengths\xe2\x80\x99 argument should be a 1D CPU int64 tensor, but got 1D cuda:0 Long tensor\n
Run Code Online (Sandbox Code Playgroud)\n

我的PyTorch版本是1.10.1+cu102

\n

jhs*_*hso 7

我昨天刚刚遇到这个问题,在我的例子中,rnn pad 序列希望长度位于 cpu 上,所以只需将长度放入函数调用中的 CPU 中,如下所示:

packed_sequences = nn.utils.rnn.pack_padded_sequence(padded_tensor, valid_frames.to('cpu'), batch_first=True, enforce_sorted=True) 
Run Code Online (Sandbox Code Playgroud)

这可能不是您正在使用的确切函数,但我认为它将适用于大多数 rnn utils 函数。