在dataload上枚举时发生KeyError

2024-04-26 03:30:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试迭代Pythorch数据加载程序,初始化如下:

列车DL=torch.utils.data.DataLoader(X_train,batch_size=batch_size,shuffle=True,**kwargs)

其中X峎train是这样的pandas数据帧: my pandas DF

所以,我无法执行以下语句,因为我在“enumerate”中得到一个KeyError:

for batch_idx, (data, _) in enumerate(trainDL):
    {stuff}

有人知道发生了什么事吗?在

编辑:

我得到的错误是:

^{pr2}$

Tags: 数据程序truedatasizebatchtrainutils
1条回答
网友
1楼 · 发布于 2024-04-26 03:30:14

您必须创建torch.utils.data.Dataset包装数据集。在

例如:

from torch.utils.data import Dataset

class PandasDataset(Dataset):
    def __init__(self, dataframe):
        self.dataframe = dataframe

    def __len__(self):
        return len(self.dataframe)

    def __getitem__(self, index):
        return self.dataframe.iloc[index]

将此对象传递给由pandas dataframe实例化的DataLoader,这样就可以了。在

相关问题 更多 >