FlatMapper¶
- class torchdata.datapipes.iter.FlatMapper(datapipe: IterDataPipe, fn: Optional[Callable] = None, input_col=None)¶
对来自源 DataPipe 的每个项目应用一个函数,然后将输出展平为一个单一的、非嵌套的 IterDataPipe(函数名:
flatmap
)。注意
fn
的输出必须是 Sequence。否则,将引发错误。如果fn
是None
,则源 DataPipe 将垂直展平,前提是项目可以解包。- 参数:
datapipe – 源 IterDataPipe
fn – 要应用于 DataPipe 中每个元素的函数,输出必须是 Sequence
input_col –
应用
fn
的数据索引或索引,例如None
作为默认值,将fn
直接应用于数据。整数(数组)用于列表/元组。
键(数组)用于字典。
示例
>>> from torchdata.datapipes.iter import IterableWrapper >>> def fn(e): >>> return [e, e * 10] >>> source_dp = IterableWrapper(list(range(5))) >>> flatmapped_dp = source_dp.flatmap(fn) >>> list(flatmapped_dp) [0, 0, 1, 10, 2, 20, 3, 30, 4, 40] >>> >>> source_dp = IterableWrapper([[1, 2, 3], [4, 5, 6]]) >>> flatmapped_dp = source_dp.flatmap() >>> list(flatmapped_dp) [1, 2, 3, 4, 5, 6]