我正在使用PyTorch进行图像分类。我有一个单独的Images文件夹,以及包含图像ID和标签的train和test csv文件。我不知道如何将这些图像和ID组合起来,并转换为张量。
- train.csv:包含所有图像ID(例如4325.jpg、2345.jpg等),以及包含猫、狗等标签。
- Image_data:包含所有带有ID名称的图像。
我正在使用PyTorch进行图像分类。我有一个单独的Images文件夹,以及包含图像ID和标签的train和test csv文件。我不知道如何将这些图像和ID组合起来,并转换为张量。
filename | label |
---|---|
4325.jpg | cat |
2345.jpg | dog |
images文件夹
中。class CustomDataset(torch.utils.data.Dataset):
def __init__(self, csv_path, images_folder, transform = None):
self.df = pd.read_csv(csv_path)
self.images_folder = images_folder
self.transform = transform
self.class2index = {"cat":0, "dog":1}
def __len__(self):
return len(self.df)
def __getitem__(self, index):
filename = self.df[index, "FILENAME"]
label = self.class2index[self.df[index, "LABEL"]]
image = PIL.Image.open(os.path.join(self.images_folder, filename))
if self.transform is not None:
image = self.transform(image)
return image, label
train_dataset = CustomDataset("path - to - train.csv", "path - to - images - folder" )
test_dataset = CustomDataset("path - to - test.csv", "path - to - images - folder" )
image, label = train_dataset[0]
)
。我已经修复了。 - Mitikudf[index, "SDFSDF"]
引发了错误 - 相反我使用了 df.loc[index]["SDFSDF"]
,它可以正常工作。 - aaronsnoswell