管道层

[源代码]

Pipeline

keras.layers.Pipeline(layers, name=None)

将一系列层应用于输入。

此类可用于构建预处理管道,特别是图像数据增强管道。与Sequential模型相比,Pipeline具有一些重要的区别

  • 它不是一个Model,只是一个普通的层。
  • 当管道中的层与tf.data兼容时,管道也将保持与tf.data兼容。也就是说,管道在tf.data上下文中不会尝试将其输入转换为后端原生张量(与Sequential模型不同)。

示例

from keras import layers
preprocessing_pipeline = layers.Pipeline([
    layers.AutoContrast(),
    layers.RandomZoom(0.2),
    layers.RandomRotation(0.2),
])

# `ds` is a tf.data.Dataset
preprocessed_ds = ds.map(
    preprocessing_pipeline,
    num_parallel_calls=4,
)