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


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。