rts*_*rts 3 image machine-learning computer-vision deep-learning pytorch
我正在使用 PyTorch 进行图像分类。我有一个单独的 Images 文件夹,并使用图像 ids 和 labels 训练和测试 csv 文件。我不知道如何组合这些图像和 ID 并转换为张量。
\n您可以通过继承 pytorch 的torch.utils.data.Dataset来创建自定义数据集类。
以下自定义数据集类的假设是
| 文件名 | 标签 |
|---|---|
| 4325.jpg | 猫 |
| 2345.jpg | 狗 |
images folder。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
Run Code Online (Sandbox Code Playgroud)
现在,您可以使用此类通过 csv 文件和图像文件夹加载训练和测试数据集。
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]
Run Code Online (Sandbox Code Playgroud)