ImageDataGenerator输出的形状不符合预期

问题描述

我使用以下代码为imagewoof数据集创建一个生成器:

import tensorflow as tf
data_path_train = "C:/data/imagewoof2-160/train/"
image_generator = tf.keras.preprocessing.image.ImageDataGenerator(rescale=1.0/255.0)
train_gen = image_generator.flow_from_directory(data_path_train,target_size=(64,64),batch_size=32,shuffle=True,class_mode="input",save_to_dir=None)
print(tf.shape(train_gen.next()))

运行脚本时,我得到以下输出

Found 9025 images belonging to 10 classes.

tf.Tensor([ 2 32 64 64 3],shape=(5,),dtype=int32)

为什么发电机的输出是5维的?我期望输出[batch_size,width,height,channels]的形状如下。第一维是什么?

解决方法

生成器生成元组作为输出(图像,标签),这是维度2的来源。然后32是批处理大小64,64是图像大小,3是通道数

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...