使用Fastai,Colab。从测试数据中读取所有子文件夹时出现问题

2024-04-19 21:11:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经导入了一个Kaggle硬币图像数据集。train、test和validation文件夹包含100个子文件夹。我想对我的训练数据('train')调用ImageDataBunch.from_folder,它包含路径下的子文件夹:('/content/coins/data/train'

path = Path("/content/coins/data")
path_img = ('/content/coins/data/train')

path.ls()
#[PosixPath('/content/coins/data/train'),
#PosixPath('/content/coins/data/cat_to_name.json'),
#PosixPath('/content/coins/data/test'),
#PosixPath('/content/coins/data/validation')]

fnames = path/'cat_to_name.json'

import json

with open(fnames) as f:
   data = json.load(f)

df = pd.DataFrame.from_dict(data, orient='index')

np.random.seed(2)
pat = re.compile(r'/([^/]+)_\d+.jpg$')

data = ImageDataBunch.from_folder(path_img, fnames, pat, ds_tfms=get_transforms(),
                                   size=img_size, bs=bs//2).normalize(imagenet_stats)

以下是错误消息:

IndexError                                Traceback (most recent call last)
<ipython-input-37-26d6e8cc4006> in <module>()
      1 data = ImageDataBunch.from_folder(path_img, fnames, pat, ds_tfms=get_transforms(),
----> 2                                    size=img_size, bs=bs//2).normalize(imagenet_stats)
6 frames
/usr/local/lib/python3.6/dist-packages/fastai/core.py in index_row(a, idxs)
    274         if isinstance(res,(pd.DataFrame,pd.Series)): return res.copy()
    275         return res
--> 276     return a[idxs]
    277 
    278 def func_args(func)->bool:

IndexError: index 0 is out of bounds for axis 0 with size 0 

我是一个完全的新手,所以道歉,如果这是一个结构不良的问题。谢谢!你知道吗


Tags: pathfrom文件夹jsonimgdatasizebs