Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Tensorflow数据集重塑图像_Python_Tensorflow - Fatal编程技术网

Python 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数据集构建一个数据管道。因为每个数据都有不同的形状,所以我无法构建数据管道

将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(…)
方法,您可以在批处理图像之前对图像应用各种变换。

完美!很高兴我能帮忙!