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) – 随机种子;如果未设置,将自动分配一个。