nvidia.dali.fn.resize#

nvidia.dali.fn.resize(__input, /, *, antialias=True, bytes_per_sample_hint=[0], dtype=None, interp_type=DALIInterpType.INTERP_LINEAR, mag_filter=DALIInterpType.INTERP_LINEAR, max_size=None, min_filter=DALIInterpType.INTERP_LINEAR, minibatch_size=32, mode='default', preserve=False, resize_longer=0.0, resize_shorter=0.0, resize_x=0.0, resize_y=0.0, resize_z=0.0, roi_end=None, roi_relative=False, roi_start=None, save_attrs=False, size=None, subpixel_scale=True, temp_buffer_hint=0, device=None, name=None)#

调整图像大小。

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

支持的后端
  • ‘cpu’

  • ‘gpu’

参数:

__input (TensorList ('HWC', 'FHWC', 'CHW', 'FCHW', 'CFHW', 'DHWC', 'FDHWC', 'CDHW', 'FCDHW', 'CFDHW')) – 操作符的输入。

关键字参数:
  • antialias (bool, 可选, 默认 = True) –

    如果启用,则在缩小时应用抗锯齿滤波器。

    注意

    最近邻插值不支持抗锯齿。

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

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

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

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

    输出数据类型。

    必须与输入类型或 float 相同。如果未设置,则使用输入类型。

  • image_type (nvidia.dali.types.DALIImageType) –

    警告

    参数 image_type 已不再使用,并将在未来版本中移除。

  • interp_type (nvidia.dali.types.DALIInterpType 或 TensorList of nvidia.dali.types.DALIInterpType, 可选, 默认 = DALIInterpType.INTERP_LINEAR) –

    要使用的插值类型。

    使用 min_filtermag_filter 来指定用于缩小和放大的不同滤波。

    注意

    现在已弃用 INTERP_TRIANGULAR 的用法,应将其替换为

    启用 antialias 的 INTERP_LINEAR 组合。

  • mag_filter (nvidia.dali.types.DALIInterpType 或 TensorList of nvidia.dali.types.DALIInterpType, 可选, 默认 = DALIInterpType.INTERP_LINEAR) – 放大时使用的滤波器。

  • max_size (floatlist of float, 可选) –

    输出大小的限制。

    当操作符配置为保持纵横比且仅指定较小维度时,其他维度可能会变得非常大。当使用 resize_shorter 参数或 “not_smaller” 模式或某些范围未指定时,可能会发生这种情况。

    此参数限制了输出可以变得多大。此值可以按轴指定,也可以对所有轴统一指定。

    注意

    当与 “not_smaller” 模式或 resize_shorter 参数一起使用时,max_size 优先,并且保持纵横比 - 例如,使用 mode="not_smaller", size=800, max_size=1400 调整大小,大小为 1200x600 的图像将调整为 1400x700。

  • min_filter (nvidia.dali.types.DALIInterpType 或 TensorList of nvidia.dali.types.DALIInterpType, 可选, 默认 = DALIInterpType.INTERP_LINEAR) – 缩小时使用的滤波器。

  • minibatch_size (int, 可选, 默认 = 32) – 在内核调用中处理的最大图像数量。

  • mode (str, 可选, 默认 = ‘default’) –

    调整大小模式。

    以下是支持的模式列表

    • "default" - 图像被调整为指定大小。
      缺失的范围将按提供的范围的平均比例缩放。
    • "stretch" - 图像被调整为指定大小。
      缺失的范围根本不缩放。
    • "not_larger" - 图像被调整大小,保持纵横比,以使输出图像的任何范围都不超过指定大小。
      例如,1280x720 的图像,所需的输出大小为 640x480,实际产生 640x360 的输出。
    • "not_smaller" - 图像被调整大小,保持纵横比,以使输出图像的任何范围都不小于指定大小。
      例如,640x480 的图像,所需的输出大小为 1920x1080,实际产生 1920x1440 的输出。

      此参数与 resize_longerresize_shorter 互斥

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

  • resize_longer (float 或 TensorList of float, 可选, 默认 = 0.0) –

    调整大小后图像的较长尺寸的长度。

    此选项与 resize_shorter 和显式大小参数互斥,并且操作符保持原始图像的纵横比。此选项等效于为所有维度指定相同的大小和 mode="not_larger"

  • resize_shorter (float 或 TensorList of float, 可选, 默认 = 0.0) –

    调整大小后图像的较短尺寸的长度。

    此选项与 resize_longer 和显式大小参数互斥,并且操作符保持原始图像的纵横比。此选项等效于为所有维度指定相同的大小和 mode="not_smaller"。较长维度可以通过设置 max_size 参数来限制。有关更多信息,请参阅 max_size 参数文档。

  • resize_x (float 或 TensorList of float, 可选, 默认 = 0.0) –

    调整大小后图像的 X 维度的长度。

    此选项与 resize_shorter, resize_longersize 互斥。如果未指定或 resize_y 为 0,则操作符保持原始图像的纵横比。负值会翻转图像。

  • resize_y (float 或 TensorList of float, 可选, 默认 = 0.0) –

    调整大小后图像的 Y 维度的长度。

    此选项与 resize_shorter, resize_longersize 互斥。如果未指定或 resize_x 为 0,则操作符保持原始图像的纵横比。负值会翻转图像。

  • resize_z (float 或 TensorList of float, 可选, 默认 = 0.0) –

    调整大小后体积的 Z 维度的长度。

    此选项与 resize_shorter, resize_longersize 互斥。如果未指定或 resize_xresize_y 为 0,则操作符将保持原始体积的纵横比。负值会翻转体积。

  • roi_end (floatlist of floatTensorList of float, 可选) –

    输入感兴趣区域 (ROI) 的结束。

    必须与 roi_start 一起指定。坐标遵循张量形状顺序,这与 size 相同。坐标可以是绝对坐标(以像素为单位,这是默认值)或相对坐标 (0..1),具体取决于 relative_roi 参数的值。如果任何维度中的 ROI 原点大于 ROI 结束,则该区域在该维度中翻转。

  • roi_relative (bool, 可选, 默认 = False) – 如果为 true,则 ROI 坐标相对于输入大小,其中 0 表示顶部/左侧,1 表示底部/右侧

  • roi_start (floatlist of floatTensorList of float, 可选) –

    输入感兴趣区域 (ROI) 的原点。

    必须与 roi_end 一起指定。坐标遵循张量形状顺序,这与 size 相同。坐标可以是绝对坐标(以像素为单位,这是默认值)或相对坐标 (0..1),具体取决于 relative_roi 参数的值。如果任何维度中的 ROI 原点大于 ROI 结束,则该区域在该维度中翻转。

  • save_attrs (bool, 可选, 默认 = False) – 保存重塑属性以进行测试。

  • size (floatlist of floatTensorList of float, 可选) –

    所需的输出大小。

    必须是列表/元组,每个空间维度一个条目,不包括视频帧和通道。 尺寸为 0 的维度将被视作不存在,输出大小将根据其他维度和 mode 参数计算。

  • subpixel_scale (bool, 可选, 默认 = True) –

    如果为 True,直接指定或计算的分数尺寸将导致调整输入 ROI 以保持缩放因子。

    否则,将调整缩放因子,以便源图像映射到四舍五入的输出大小。

  • temp_buffer_hint (int, 可选, 默认 = 0) –

    重采样的临时缓冲区的初始大小(字节)。

    注意

    此参数在 CPU 变体中被忽略。