当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python PyTorch Rows2Columnar用法及代码示例


本文简要介绍python语言中 torchdata.datapipes.iter.Rows2Columnar 的用法。

用法:

class torchdata.datapipes.iter.Rows2Columnar(source_datapipe: IterDataPipe[List[Union[Dict, List]]], column_names: Optional[List[str]] = None)

参数

  • source_datapipe-DataPipe,其中每个项目都是一个批次。每个批次内都有行,每行都是 ListDict

  • column_names-如果批次中的每个元素都包含 Dict ,则 column_names 充当匹配键的过滤器;否则,这些将用作每个批次生成的Dict 的键

接受带有批量数据的输入 DataPipe,一次处理一批数据,并为每批生成一个 Dict,以 column_names 作为键,将每行的相应值列表作为值(函数名称:rows2columnar ) 。

在输入 DataPipe 中,批次中的每一行必须是 DictList

注意

如果没有给出 column_names 并且每一行都是一个 Dict ,则该 Dict 的键将用作列名。

示例

>>> # Each element in a batch is a `Dict`
>>> from torchdata.datapipes.iter import IterableWrapper
>>> dp = IterableWrapper([[{'a': 1}, {'b': 2, 'a': 1}], [{'a': 1, 'b': 200}, {'b': 2, 'c': 3, 'a': 100}]])
>>> row2col_dp = dp.rows2columnar()
>>> list(row2col_dp)
[defaultdict(<class 'list'>, {'a': [1, 1], 'b': [2]}),
 defaultdict(<class 'list'>, {'a': [1, 100], 'b': [200, 2], 'c': [3]})]
>>> row2col_dp = dp.rows2columnar(column_names=['a'])
>>> list(row2col_dp)
[defaultdict(<class 'list'>, {'a': [1, 1]}),
 defaultdict(<class 'list'>, {'a': [1, 100]})]
>>> # Each element in a batch is a `List`
>>> dp = IterableWrapper([[[0, 1, 2, 3], [4, 5, 6, 7]]])
>>> row2col_dp = dp.rows2columnar(column_names=["1st_in_batch", "2nd_in_batch", "3rd_in_batch", "4th_in_batch"])
>>> list(row2col_dp)
[defaultdict(<class 'list'>, {'1st_in_batch': [0, 4], '2nd_in_batch': [1, 5],
                              '3rd_in_batch': [2, 6], '4th_in_batch': [3, 7]})]

相关用法


注:本文由纯净天空筛选整理自pytorch.org大神的英文原创作品 torchdata.datapipes.iter.Rows2Columnar。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。