Flo*_*Man 9 python keras tensorflow keras-2
随着 Keras2 即将在 TensorFlow 和 TensorFlow 2.0 中实现,您应该将 KerasImageDataGenerator 与 eg 一起使用,flow_from_directory还是现在tf.data也可以与fit_genearatorKeras一起使用的 TensorFlow ?
这两种方法是否会因服务于不同的目的而占有一席之地,还是会tf.data成为未来的新方法而 Keras 生成器将被弃用?
谢谢,我想走这条路,让我在这个快速发展的领域保持更长时间的了解。
Tim*_*lin 13
除了自定义定义的 Python 生成器,您还可以将ImageDataGeneratorfrom Keras包装在里面tf.data.
以下片段摘自 TensorFlow 2.0 文档。
img_gen = tf.keras.preprocessing.image.ImageDataGenerator(rescale=1./255, rotation_range=20)
ds = tf.data.Dataset.from_generator(
img_gen.flow_from_directory, args=[flowers],
output_types=(tf.float32, tf.float32),
output_shapes = ([32,256,256,3],[32,5])
)
Run Code Online (Sandbox Code Playgroud)
因此,仍然可以使用典型的 Keras ImageDataGenerator,您只需要将其包装成tf.data.Dataset上面的样子。
Sha*_*rky 10
自发布以来,TensorFlow Dataset API 是为任何在 TensorFlow 后端构建的模型(Keras 和低级 TensorFlow)构建输入管道的默认推荐方式。在 TF 1.xx 以后的版本中,它可以直接在tf.keras.Model.fit方法中使用
model.fit(dataset, epochs)
Run Code Online (Sandbox Code Playgroud)
这对快速原型制作都有好处,
dataset = tf.data.Dataset.from_tensor_slices((train, test))
dataset = dataset.shuffle().repeat().batch()
Run Code Online (Sandbox Code Playgroud)
并用于构建复杂的高性能 ETL 管道 4. 升级您的数据输入管道,更多信息请点击此处https://www.tensorflow.org/guide/performance/datasets
根据官方文档,在 TF 2.0 中,它也将是将数据输入模型的默认方式。https://www.tensorflow.org/alpha/guide/migration_guide
默认情况下,即将发布的 TensorFlow 版本将被急切地执行,数据集对象将变得可迭代并且更易于使用。
在访问ImageDataGenerator文档时,现在有一条弃用消息,内容如下:
已弃用:
tf.keras.preprocessing.image.ImageDataGenerator不建议用于新代码。更喜欢使用预处理层加载图像并tf.keras.utils.image_dataset_from_directory转换输出。有关更多信息,请参阅加载图像和增强图像tf.data.Dataset的教程,以及预处理层指南。