當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。