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 或 list of int, 可选, 默认 = [0]) –

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

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

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

    输出数据类型。

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

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

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

    高斯核的 Sigma 值。

    支持 per-frame 输入。

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

    内核的直径。

    支持 per-frame 输入。