ImageDataGenerator.next()是否等效于mnist.train.next_batch



大家好,我是tensorflow的新手,我在胶囊网络上工作我的数据集是这样的:

-train
|-class1
|-class2
|-class3

我使用ImageDataGenerator flow_from_directory从目录名称生成标签:

train = ImageDataGenerator(rescale= 1/255)
trainData = train.flow_from_directory(dir_path , class_mode='categorical' , target_size=(80, 80), batch_size=batch_size )

这是标签的占位符:

y = tf.placeholder(shape=[None], dtype=tf.int64, name="y")

我下面的教程是关于mnist数据集的,所以他这样做是为了将训练数据提供给模型:

X_batch, y_batch = mnist.train.next_batch(batch_size)

我改为这样做:

X_batch, y_batch = trainData.next()

它适用于图像,但不适用于标签,因为我得到了这个错误:

Cannot feed value of shape (10, 3) for Tensor 'y:0', which has shape '(?,)'

y_batch.shape-->(10,3(10是batch_size,我猜3是类的数量,我对这个感到困惑

有人能帮忙吗?

标签不需要占位符,只需使用

images, labels=next(trainData)

这将返回一个batchsize数量的图像和一个batch大小数量的标签。标签形状为(batch_size,number_of_classes(图像形状为(batch_size,80,80,3(

占位符创建空,然后加载数据。对于标签,无需创建占位符

相关内容

  • 没有找到相关文章