为了账号安全,请及时绑定邮箱和手机立即绑定

如何知道 flow_from_directory 中的图像数量

如何知道 flow_from_directory 中的图像数量

慕少森 2022-11-01 14:29:01
我们可以使用带有 flow_from_directory 方法的 ImageDataGenerator 生成图像数据集。train_datagen = ImageDataGenerator(    rescale=1./255, #scale images from integers 0-255 to floats 0-1.    shear_range=0.2,    zoom_range=0.2, # zoom in or out in images    horizontal_flip=True) #horizontal flip of imagestrain_set = train_datagen.flow_from_directory(..)并显示:Found 200 images belonging to 2 classes我想写一个循环来计算train_set上的图像数量For image in train_set:    count = count+1print(count)但这并没有显示任何东西!
查看完整描述

3 回答

?
杨__羊羊

TA贡献1943条经验 获得超7个赞

得到没有。图像,请尝试使用以下代码。

train_set.samples


查看完整回答
反对 回复 2022-11-01
?
Qyouu

TA贡献1786条经验 获得超11个赞

要访问数据集的样本数量,您首先必须知道它是哪种类型:

如果您使用的是 ImageDataGenerator,那么:

type(train_ds)

将返回 tensorflow.python.keras.preprocessing.image.DirectoryIterator。在这种情况下,您可以通过以下方式访问样本数量:

train_ds.samples

但是,如果您正在使用以下方法创建数据集:

train_ds = tf.keras.preprocessing.image_dataset_from_directory( rescale = 1/255. , etc...)

然后

type(train_ds)

将返回 tensorflow.python.data.ops.dataset_ops.BatchDataset 这意味着您可以使用间接访问样本数

len(train_ds.file_paths)


查看完整回答
反对 回复 2022-11-01
?
DIEA

TA贡献1820条经验 获得超2个赞

__iter__将是您的解决方案。

首先,您尝试预测train_set的类型。如果您不知道。

print(type(train_set))
#then you find **keras.preprocessing.image.DirectoryIterator**

现在您想对这种类型的数据应用一些功能或修改,请点击此处的链接


查看完整回答
反对 回复 2022-11-01
  • 3 回答
  • 0 关注
  • 160 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信