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


Python PyTorch SampleMultiplexer用法及代碼示例

本文簡要介紹python語言中 torchdata.datapipes.iter.SampleMultiplexer 的用法。

用法:

class torchdata.datapipes.iter.SampleMultiplexer(pipes_to_weights_dict: Dict[IterDataPipe[torchdata.datapipes.iter.util.samplemultiplexer.T_co], float], seed: Optional[int] = None)

參數

  • pipes_to_weights_dict-IterDataPipes 的 Dict 和權重。未耗盡的DataPipes的總重量將被歸一化為1以便采樣。

  • seed-用於初始化隨機數生成器的隨機種子

獲取 (IterDataPipe, Weight) 的 Dict,並通過根據這些 DataPipes 的權重進行采樣來生成項目。當單個DataPipes耗盡時,根據相對權重繼續從剩餘的DataPipes中采樣。如果您希望無限期地保持相同的權重比,則需要確保輸入永遠不會耗盡,例如,對它們應用cycle

采樣由提供的隨機 seed 控製。如果你不提供它,采樣將不是確定性的。

示例

>>> from torchdata.datapipes.iter import IterableWrapper, SampleMultiplexer
>>> source_dp1 = IterableWrapper([0] * 10)
>>> source_dp2 = IterableWrapper([1] * 10)
>>> d = {source_dp1: 99999999, source_dp2: 0.0000001}
>>> sample_mul_dp = SampleMultiplexer(pipes_to_weights_dict=d, seed=0)
>>> list(sample_mul_dp)
[0, 0, 0, 0, 0, 1, 1, 1, 1, 1]

相關用法


注:本文由純淨天空篩選整理自pytorch.org大神的英文原創作品 torchdata.datapipes.iter.SampleMultiplexer。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。