我想从我有大约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
问题出在哪里?我需要使用这个函数批量加载数据,因为我的数据集很大
3条答案
按热度按时间py49o6xq1#
我已经找到了答案,所以我张贴在情况下,它可能会帮助别人。
问题是路径,因为我使用的是图像文件夹的路径,而我应该使用目录(上面的一个文件夹)。
请注意,“/Hair”是包含我的图像的文件夹。
rfbsl7qr2#
如果上述可接受的解决方案不能解决您的问题,可能是因为您试图加载扩展名为
.tif
的TIFF图像。64jmpszr3#
指定
labels
参数(如问题中所示)时,需要遵循文档(https://www.tensorflow.org/api_docs/python/tf/keras/utils/image_dataset_from_directory#expandable-1)中指定的目录结构。必须给予一个父目录,其中包含的目录数与labels
参数中指定的目录数相同。每个目录中包含与该类对应的图像。当您将
None
指定为labels
参数值时,您可以给予包含所有影像的目录。