我有一个 CSV 文件,其中包含除标题行之外的所有数值。当尝试构建张量时,我遇到以下异常:
Traceback (most recent call last):
File "pytorch.py", line 14, in <module>
test_tensor = torch.tensor(test)
ValueError: could not determine the shape of object type 'DataFrame'
这是我的代码:
import torch
import dask.dataframe as dd
device = torch.device("cuda:0")
print("Loading CSV...")
test = dd.read_csv("test.csv", encoding = "UTF-8")
train = dd.read_csv("train.csv", encoding = "UTF-8")
print("Converting to Tensor...")
test_tensor = torch.tensor(test)
train_tensor = torch.tensor(train)
使用
pandas
而不是 Dask
进行 CSV 解析会产生相同的错误。我还尝试在对 dtype=torch.float64
的调用中指定 torch.tensor(data)
,但再次遇到相同的错误。
先尝试将其转换为数组:
test_tensor = torch.Tensor(test.values)
我想你只是错过了
.values
import torch
import pandas as pd
train = pd.read_csv('train.csv')
train_tensor = torch.tensor(train.values)
仅使用 NumPy
import numpy as np
import torch
tensor = torch.from_numpy(
np.genfromtxt("train.csv", delimiter=",")
)
导入功能似乎都需要带有数字数组的 .csv。您在原始问题案例中提到您的 .csv 包含列标题。请尝试在 .csv 文件中不包含标题的代码。