我正在确定为什么我的数据集给出IndexError: list index out of range
错误。
考虑以下 Torch 数据集:
class MyDataset(Dataset):
def __init__(self, imgs , transform = None):
self.imgs = imgs
self.transform = transform or transforms.ToTensor()
self.class_to_idx = {}
def __getitem__(self, index):
image_path = self.imgs[index]
name = image_path.split('/D')[1]
target = name.split('_')[0]
image = Image.open(image_path)
if self.transform is not None:
image = self.transform(image)
if target in class_to_idx :
target = [class_to_idx[target]]
else :
class_to_idx[target] = (int(target)-1)
target = [class_to_idx[target]]
return image , target
def __len__(self):
return len(self.imgs)
image_path示例:"Train/D01_I_flat_0009.jpg"
数据集有35个类:第一天第三十五天
我想计算平均值和标准差,但得到了误差:第一节第一节第一节第一节第一次
当我测试数据集时,它工作正常:
1条答案
按热度按时间efzxgjgh1#
我找到了错误的原因。这是一个奇怪的原因!在Train文件夹中除了.jpg文件没有任何其他文件。但是,我应用了以下更改:
到
问题解决了!
值得一提的是,我在Google Colab上没有遇到这个问题,而是在我的机器上使用Jupyter Notebook。