Kaggle竞赛中PyTorch加载图像与CSV数据集的路径错误排查
问题:SIIM-ISIC黑色素瘤分类竞赛中PyTorch自定义Dataset加载图像报错
问题详情
我正在用PyTorch参与SIIM-ISIC黑色素瘤分类竞赛,尝试实现自定义Dataset类加载并合并图像与标签,但每次调用train[5](或其他任意索引)时,都会触发以下错误:
FileNotFoundError: [Errno 2] No such file or directory: '/kaggle/input/siim-isic-melanoma-classification/jpeg/train/ISIC_0074311'
我已确认路径正确,且对应图像确实存在于目标文件夹中。
相关信息
- 文件夹结构:数据集包含csv文件目录和jpeg目录,jpeg目录下有train子文件夹,所有训练图像均存储在该子文件夹内。
- train.csv字段:image_name、patient_id、sex、age_approx、anatom_site_general_challenge、diagnosis、benign_malignant、target(取值0或1)
- 训练图像文件名格式:均为
ISIC_xxxxxxx.jpg格式,例如ISIC_0015719.jpg、ISIC_0052212.jpg等
我的代码
导入模块
import os import pandas as pd from PIL import Image import torch import torch.utils.data
自定义Dataset类
class LoadDataset(torch.utils.data.Dataset): def __init__(self, csv_path, image_folder, transform = None): self.df = pd.read_csv(csv_path) self.image_folder = image_folder self.transform = transform def __len__(self): return len(self.df) def __getitem__(self, index): filename = self.df.loc[index, 'image_name'] label = self.df.loc[index, 'target'] image = Image.open(os.path.join(self.image_folder, filename)) if self.transform is not None: image = self.transform(image) return image, label
实例化与调用
train = LoadDataset('/kaggle/input/images1-isic2020/train.csv', '/kaggle/input/images1-isic2020/train/train') train[5]
求助需求
请问有没有解决该问题的思路?或者除了图像生成器之外,还有哪些获取带标签图像的方法?
内容的提问来源于stack exchange,提问作者mujirushi
相关产品推荐
相关产品推荐

