nvidia.dali.fn.noise.shot#

nvidia.dali.fn.noise.shot(__input, /, *, bytes_per_sample_hint=[0], factor=20.0, preserve=False, seed=-1, device=None, name=None)#

对输入应用散粒噪声。

散粒噪声通过应用以下公式生成

output[:] = poisson_dist(max(0, input[:] / factor)) * factor) if factor != 0
output[:] = input[:]                                          if factor == 0

其中 poisson_dist 表示泊松分布。

散粒噪声是一种存在于泊松过程生成的数据中的噪声,例如通过图像传感器注册光子。此操作符模拟数据采集过程,其中每个事件将输出值增加 factor,并且输入张量包含相应输出点的期望值。例如,factor 为 0.1 意味着需要 10 个事件才能将输出值增加 1,而 factor 为 10 意味着单个事件将输出增加 10。输出值被量化为 factor 的倍数。因子越大,输出中存在的噪声就越多。因子为 0 使此操作成为恒等运算。

输出的形状和数据类型将与输入匹配。

支持的后端
  • ‘cpu’

  • ‘gpu’

参数:

__input (TensorList) – 操作符的输入。

关键词参数:
  • bytes_per_sample_hint (int 或 list of int, optional, default = [0]) –

    每个样本的输出大小提示,以字节为单位。

    如果指定,则位于 GPU 或分页锁定主机内存中的操作符输出将被预先分配以适应此大小的样本批次。

  • factor (float 或 TensorList of float, optional, default = 20.0) – 因子参数。

  • preserve (bool, optional, default = False) – 阻止操作符从图中移除,即使其输出未使用。

  • seed (int, optional, default = -1) – 随机种子;如果未设置,将自动分配一个。