You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 19:16:29