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

使用3个X光图像文件夹创建训练测试集时fastai报数据集为空错误

报错解决方案

核心错误原因

你的代码存在明显的变量名笔误:你定义的数据集根路径变量为path,但调用ImageDataBunch.from_folder时第一个参数传入了未定义的dta,导致fastai无法定位到数据集目录,识别训练集、验证集为空,触发后续报错。

第一步:修正代码笔误

修改后的可运行基础代码如下:

import os
from fastai.vision import *
import numpy as np

path = Path('/content/drive/MyDrive/X-Ray_Image_DataSet')
# 可选:先打印路径下的文件列表,确认目录结构正确
print("根目录下的文件/文件夹:", os.listdir(path))

np.random.seed(41)
# 把第一个参数从dta改为正确的路径变量path
data = ImageDataBunch.from_folder(path, train="Train", valid ="Valid", ds_tfms=get_transforms(),size=(256,256), bs=32, num_workers=4).normalize()

其他排查点(修正笔误后仍报错可依次检查)

  • 确认数据集目录结构符合from_folder方法的要求:
    根目录/content/drive/MyDrive/X-Ray_Image_DataSet下必须存在Train和Valid两个子文件夹,两个子文件夹下需要再按类别建立二级子文件夹,对应类别的X光图像存放在对应类别的二级子文件夹中,参考结构:
    X-Ray_Image_DataSet/
    ├─ Train/
    │  ├─ 类别A/
    │  │  ├─ 1.png
    │  │  └─ ...
    │  └─ 类别B/
    │     ├─ 2.png
    │     └─ ...
    └─ Valid/
       ├─ 类别A/
       │  ├─ 3.png
       │  └─ ...
       └─ 类别B/
          ├─ 4.png
          └─ ...
    
  • 确认谷歌云盘已成功挂载到Colab运行环境,路径没有拼写错误,Train和Valid文件夹下存在至少1张可正常读取的X光图像。
  • 如果你不想手动拆分训练、验证集,希望fastai自动从所有图像中拆分出验证集,可以调整调用参数,去掉train和valid的指定,传入valid_pct设置验证集占比即可,示例:
    data = ImageDataBunch.from_folder(path, valid_pct=0.2, ds_tfms=get_transforms(),size=(256,256), bs=32, num_workers=4).normalize()
    
  • 确认所有图像为fastai支持的格式(png、jpg、jpeg等),没有损坏文件、隐藏文件或后缀名异常的文件存放在图像目录中。

内容的提问来源于stack exchange,提问作者JAY SURANA_183115

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 05:54:02