tensorflow Keras image_dataset_from_directory未找到图像

vbopmzt1  于 2022-12-13  发布在  其他
关注(0)|答案(3)|浏览(189)

我想从我有大约5000张图片的目录中加载数据(输入'png')。但是它返回一个错误,说明明有图片,却没有图片。这段代码:

width=int(wb-wa)
height=int(hb-ha)
directory = '/content/drive/My Drive/Colab Notebooks/Hair/Images'
train_ds = tf.keras.preprocessing.image_dataset_from_directory(
    directory, labels=densitat, label_mode='int',
    color_mode='rgb', batch_size=32, image_size=(width, height), shuffle=True, seed=1,
    validation_split=0.2, subset='training', follow_links = False)

退货:

ValueError: Expected the lengths of `labels` to match the number of files in the target directory. len(labels) is 5588 while we found 0 files in /content/drive/My Drive/Colab Notebooks/Hair/Images.

我可以看到图像:Colab view of the folder structure with the images
问题出在哪里?我需要使用这个函数批量加载数据,因为我的数据集很大

py49o6xq

py49o6xq1#

我已经找到了答案,所以我张贴在情况下,它可能会帮助别人。
问题是路径,因为我使用的是图像文件夹的路径,而我应该使用目录(上面的一个文件夹)。

directory = '/content/drive/My Drive/Colab Notebooks/Hair'

请注意,“/Hair”是包含我的图像的文件夹。

rfbsl7qr

rfbsl7qr2#

如果上述可接受的解决方案不能解决您的问题,可能是因为您试图加载扩展名为.tif的TIFF图像。

64jmpszr

64jmpszr3#

指定labels参数(如问题中所示)时,需要遵循文档(https://www.tensorflow.org/api_docs/python/tf/keras/utils/image_dataset_from_directory#expandable-1)中指定的目录结构。必须给予一个父目录,其中包含的目录数与labels参数中指定的目录数相同。每个目录中包含与该类对应的图像。
当您将None指定为labels参数值时,您可以给予包含所有影像的目录。

相关问题