Python Tensorflow数据集重塑图像
我想使用tensorflow数据集构建一个数据管道。因为每个数据都有不同的形状,所以我无法构建数据管道Python Tensorflow数据集重塑图像,python,tensorflow,Python,Tensorflow,我想使用tensorflow数据集构建一个数据管道。因为每个数据都有不同的形状,所以我无法构建数据管道 将tensorflow_数据集导入为TFD 导入tensorflow作为tf dataset\u builder=tfds.builder(“oxford\u flowers102”) 数据集\u生成器。下载\u和\u prepare() train\u data=dataset\u builder.as\u dataset(split=tfds.split.train) 列车数据=列车数据。
将tensorflow_数据集导入为TFD
导入tensorflow作为tf
dataset\u builder=tfds.builder(“oxford\u flowers102”)
数据集\u生成器。下载\u和\u prepare()
train\u data=dataset\u builder.as\u dataset(split=tfds.split.train)
列车数据=列车数据。重复()。批次(32)
列车数据=列车数据预取(tf.data.experimental.AUTOTUNE)
train\u iterator=train\u data.make\u one\u shot\u iterator()
train\u next\u元素=train\u迭代器。get\u next()
使用tf.Session()作为sess:
列车批处理=sess.run(列车下一个列车要素)
上面的代码给出了错误:
“tensorflow.python.framework.errors\u impl.InvalidArgumentError:无法在组件1中批处理具有不同形状的张量。第一个元素具有形状[500666,3],而元素1具有形状[752500,3]。”
我希望所有图像都是[224,3]的形状。如何重塑现有tensorflow数据集中的图像?您可以动态调整图像的大小,如:
train_data = train_data.map(lambda image: tf.image.resize_image_with_crop_or_pad(image, 224, 224))
就在执行
train\u data=train\u data.repeat().批处理(32)
之前。另外,使用tf.data.Dataset.map(…)
方法,您可以在批处理图像之前对图像应用各种变换。完美!很高兴我能帮忙!