ValueError:pytorch 中的“str”维度太多

问题描述 投票:0回答:3

我不断收到错误:

ValueError:“str”维度太多

我附上我的 Colab 笔记本来看看。尚未在网上找到任何可以帮助我解决问题的信息。

链接: https://colab.research.google.com/drive/1ikol2D8mmiIPKhNHbcFlTfVpuU_Gf9BZ?usp=sharing

pytorch lstm torch valueerror
3个回答
0
投票

我在我的 Jupyter 笔记本中也看到了这个错误。我可以用以下简单的代码重现它:

Input:
tensor(['a'])

Output: 
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-55-3bdb0dbfafc2> in <module>
----> 1 tensor(['a'])
...(stacktrace)...

ValueError: too many dimensions 'str'

PyTorch 张量显然与 Numpy 数组不同,因为它们不能使用字符串,只能使用整数、浮点数和布尔值。

上述错误表明传递给张量的字符串太多(即即使是一个字符串也太多了)。当我将代码更改为以下内容时,它工作正常:

Input:
tensor([1])

Output: 
tensor([1])

0
投票

我还没有检查你的笔记本,但我刚刚解决了我的同样的错误。只需仔细检查所有训练数据集和标签是否都转换为数值或张量。如果数据框中有多列,请删除不需要输入训练循环的一列。


0
投票

我曾经遇到过同样的错误,这是由于将字符串传递给 torch.tensor() 而它无法处理字符串数据。因此,只需检查您传递给 torch.tensor() 的数据并将其转换为整数(如果是字符串)

© www.soinside.com 2019 - 2024. All rights reserved.