Pipeline 层

[源代码]

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,
)