繁体   English   中英

Tensorflow 数据集重塑图像

[英]Tensorflow Datasets Reshape Images

我想使用 tensorflow 数据集构建数据管道。 因为每个数据都有不同的形状,所以我无法构建数据管道。

import tensorflow_datasets as tfds
import tensorflow as tf

dataset_builder = tfds.builder("oxford_flowers102")
dataset_builder.download_and_prepare()

train_data = dataset_builder.as_dataset(split=tfds.Split.TRAIN)
train_data = train_data.repeat().batch(32)
train_data = train_data.prefetch(tf.data.experimental.AUTOTUNE)
train_iterator = train_data.make_one_shot_iterator()
train_next_element = train_iterator.get_next()

with tf.Session() as sess:
    train_batch = sess.run(train_next_element)

上面的代码给了我错误:

“tensorflow.python.framework.errors_impl.InvalidArgumentError:无法在组件 1 中批量处理具有不同形状的张量。第一个元素的形状为 [500,666,3],元素 1 的形状为 [752,500,3]。”

我希望所有图像都是 [224,224,3] 的形状。 如何重塑现有 tensorflow 数据集中的图像?

您可以动态调整图像大小,例如:

train_data = train_data.map(lambda image: tf.image.resize_image_with_crop_or_pad(image, 224, 224))

在做train_data = train_data.repeat().batch(32) 此外,使用tf.data.Dataset.map(...)方法,您可以在对图像进行批处理之前对其应用各种转换。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM