0

pre_proceed 数据集的短语

class data_test(Dataset):
def __init__(self,data_root,transform=None):
    data_image=glob.glob(data_root+'/*.jpg')

    self.data_image=data_image
    self.transform=transform

def __getitem__(self, index):
    data_image_path=self.data_image[index]

    image_data=cv2.imread(data_image_path,-1) # unchanged
    if self.transform:
        image_data=self.transform(image_data)

    return image_data

上面的操作很普通,但是当我加载数据集的时候,

`dataset=data_test(train_dataset,transforms)
data=DataLoader(dataset,batch_size=8,num_workers=0)
for idx,data in enumerate(data):
    print(data.shape)`

发生错误, 在此处输入图像描述

4

1 回答 1

0

该错误实际上是非常具体的错误,引发的错误是NotImplementedError. 您应该__len__在自定义数据集中实现该功能。

在您的情况下,就像(假设self.data_image包含所有数据集实例)将此函数添加到data_test类一样简单:

    def __len__(self):
        return len(self.data_image)
于 2021-09-01T06:43:03.060 回答