compose

该接口将多个数据读取器组合为一个数据读取器,返回读取器的输出包含所有输入读取器的输出。

例如:如果输入为三个reader,三个reader的输出分别为:(1,2)、3、(4,5),则组合reader的输出为:(1,2,3,4,5)。

  • 参数:
    • readers - 将被组合的多个数据读取器(Reader),数据读取器的定义参见 Reader
    • check_alignment (bool) - 可选,指明是否对输入reader进行对齐检查,默认值为True。如果为True,将检查输入reader是否正确对齐。如果为False,将不检查对齐并自动丢弃无法对齐的末尾数据。

返回:数据读取器(Reader)。

代码示例:

  1. import paddle.fluid as fluid
  2. def reader_creator_10(dur):
  3. def reader():
  4. for i in range(10):
  5. yield i
  6. return reader
  7.  
  8. reader = fluid.io.compose(reader_creator_10(0), reader_creator_10(0))

注意: 运行过程可能会抛出异常 ComposeNotAligned ,原因是输入的readers数据未对齐。 当check_alignment设置为False时,不会检查并触发该异常。