nvidia.dali.fn.gaussian_blur#

nvidia.dali.fn.gaussian_blur(__input, /, *, bytes_per_sample_hint=[0], dtype=None, preserve=False, sigma=[0.0], window_size=[0], device=None, name=None)#

对输入应用高斯模糊。

高斯模糊通过应用与高斯核的卷积来计算,可以使用 windows_sizesigma 进行参数化。如果仅指定 sigma,则高斯核的半径默认为 ceil(3 * sigma),因此内核窗口大小为 2 * ceil(3 * sigma) + 1

如果仅提供窗口大小,则 sigma 通过以下公式计算

radius = (window_size - 1) / 2
sigma = (radius - 1) * 0.3 + 0.8

sigma 和内核窗口大小可以指定为一个值用于所有数据轴,或者为每个数据轴指定一个值。

当为每个轴指定 sigma 或窗口大小时,轴的提供方式与布局相同,从最外层到最内层。

注意

通道 C 和帧 F 维度不被视为数据轴。如果存在通道,则仅支持通道优先或通道最后的输入。

例如,对于 HWC 输入,您可以提供 sigma=1.0sigma=(1.0, 2.0),因为有两个数据轴,H 和 W。

相同的输入可以作为每个样本的张量提供。

此运算符允许序列输入并支持体积数据。

支持的后端
  • ‘cpu’

  • ‘gpu’

参数:

__input (TensorList) – 运算符的输入。

关键字参数:
  • bytes_per_sample_hint (int 或 int 列表, 可选, 默认 = [0]) –

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

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

  • dtype (nvidia.dali.types.DALIDataType, 可选) –

    输出数据类型。

    支持的类型:FLOAT。如果未设置,则使用输入类型。

  • preserve (bool, 可选, 默认 = False) – 阻止运算符从图中删除,即使其输出未使用。

  • sigma (float 或 float 列表 或 TensorList of float, 可选, 默认 = [0.0]) –

    高斯核的 Sigma 值。

    支持 per-frame 输入。

  • window_size (int 或 int 列表 或 TensorList of int, 可选, 默认 = [0]) –

    内核的直径。

    支持 per-frame 输入。