在将元组 labels = ('7 7 7', '6 3 0', '0 0 3', '2 1 3')转为torch.tensor格式时,报错:
ValueError: too many dimensions 'str'
我的代码如下:
labels = ('7 7 7', '6 3 0', '0 0 3', '2 1 3')
a = torch.tensor(labels)
报错:
ValueError: too many dimensions 'str'
解决办法:使用列表推导式和字符串分割操作来处理每个标签字符串。
labels = ('7 7 7', '6 3 0', '0 0 3', '2 1 3')
labels_tensor = torch.tensor([list(map(int, label.split())) for label in labels])
print(type(labels_tensor))
print(labels_tensor)
label.split()
将每个标签字符串分割成数字,并使用 map(int, ...)
将这些数字转换为整数类型。然后,将结果放入一个列表中,并使用 torch.tensor()
将整个列表转换为 torch.tensor
格式。
输出:
<class 'torch.Tensor'>
tensor([[7, 7, 7],
[6, 3, 0],
[0, 0, 3],
[2, 1, 3]])