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

TensorFlow加载垃圾图像数据集遇NotADirectoryError问题求助

解决Colab读取数据集的NotADirectoryError问题

问题根源

  1. 无法直接读取压缩包内文件:你直接用dataset-resized.zip/dataset-resized/...的路径访问,load_img函数不支持直接读取压缩包中的文件,必须先解压数据集。
  2. 文件名后缀错误:代码里写的是_jpg,但实际文件名后缀是.jpg(从报错信息cardboard1.jpg可以看出),少了英文句号。

解决步骤

1. 先解压数据集

在Colab的代码单元格中执行以下命令,将下载的压缩包解压到/content/目录下:

!unzip dataset-resized.zip -d /content/

2. 修正代码路径和文件名

修改后的完整代码如下,注意路径改为解压后的实际目录,同时修正文件名后缀:

import copy
import numpy as np
from PIL import Image
import matplotlib.pyplot as plt
import tensorflow as tf

cardboard = []
for i in range(1, 404):
    temp = tf.keras.preprocessing.image.load_img(
        path="/content/dataset-resized/cardboard/cardboard"+str(i)+".jpg",
        grayscale=False, color_mode='rgb', target_size=(227,227))
    X = np.array(temp)
    cardboard.append(X)
cardboard = np.array(cardboard)
cardboard = np.take(cardboard, np.random.permutation(cardboard.shape[0]), axis=0)
print(cardboard.shape)

额外检查项

  • 执行!ls /content/dataset-resized/cardboard/命令,查看该目录下的文件名,确认编号范围和后缀是否和代码中的一致,避免出现文件名不匹配的情况。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 08:31:12