nvidia.dali.fn.crop#

nvidia.dali.fn.crop(__input, /, *, bytes_per_sample_hint=[0], crop=None, crop_d=0.0, crop_h=0.0, crop_pos_x=0.5, crop_pos_y=0.5, crop_pos_z=0.5, crop_w=0.0, dtype=None, fill_values=[0.0], out_of_bounds_policy='error', preserve=False, rounding='round', device=None, name=None)#

使用指定的窗口尺寸和窗口位置(左上角)裁剪图像。

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

支持的后端
  • ‘cpu’

  • ‘gpu’

参数:

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

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

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

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

  • crop (floatfloat 列表或 TensorList float可选) –

    裁剪图像的形状,指定为值列表(例如,对于 2D 裁剪为 (crop_H, crop_W),对于体积裁剪为 (crop_D, crop_H, crop_W))。

    提供 crop 参数与提供单独的参数(如 crop_dcrop_hcrop_w)不兼容。

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

    适用于体积输入;裁剪窗口深度(以体素为单位)。

    crop_wcrop_hcrop_d 必须一起指定。为 crop_wcrop_hcrop_d 提供值与提供固定裁剪窗口尺寸(参数 crop)不兼容。

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

    裁剪窗口高度(以像素为单位)。

    crop_wcrop_h 提供值与提供固定裁剪窗口尺寸(参数 crop)不兼容。

  • crop_pos_x (float 或 TensorList of float, 可选, 默认 = 0.5) –

    裁剪窗口的归一化 (0.0 - 1.0) 水平位置(左上角)。

    实际位置计算为 crop_x = crop_x_norm * (W - crop_W),其中 crop_x_norm 是归一化位置,W 是图像的宽度,crop_W 是裁剪窗口的宽度。

    有关 crop_x 如何转换为整数值的更多详细信息,请参见 rounding 参数。

  • crop_pos_y (float 或 TensorList of float, 可选, 默认 = 0.5) –

    裁剪窗口起始位置(通常为左上角)的归一化 (0.0 - 1.0) 垂直位置。

    实际位置计算为 crop_y = crop_y_norm * (H - crop_H),其中 crop_y_norm 是归一化位置,H 是图像的高度,crop_H 是裁剪窗口的高度。

    有关 crop_y 如何转换为整数值的更多详细信息,请参见 rounding 参数。

  • crop_pos_z (float 或 TensorList of float, 可选, 默认 = 0.5) –

    适用于体积输入。

    裁剪窗口(前平面)的归一化 (0.0 - 1.0) 法线位置。实际位置计算为 crop_z = crop_z_norm * (D - crop_D),其中 crop_z_norm 是归一化位置,D 是图像的深度,crop_D 是裁剪窗口的深度。

    有关 crop_z 如何转换为整数值的更多详细信息,请参见 rounding 参数。

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

    裁剪窗口宽度(以像素为单位)。

    crop_wcrop_h 提供值与提供固定裁剪窗口尺寸(参数 crop)不兼容。

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

    输出数据类型。

    支持的类型:FLOATFLOAT16UINT8

    如果未设置,则使用输入类型。

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

    确定填充值,并且仅在 out_of_bounds_policy 设置为 “pad” 时才相关。

    如果提供标量值,则将用于所有通道。 如果提供多个值,则值的数量和通道必须相同(布局中维度 C 的范围)在输出切片中。

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

    警告

    参数 image_type 不再使用,将在未来的版本中删除。

  • out_of_bounds_policy (str, 可选, 默认 = ‘error’) –

    确定对输入进行越界区域切片时的策略。

    以下是支持值的列表

    • "error" (默认):尝试在输入边界之外切片将产生错误。

    • "pad":将根据需要使用零或使用 fill_values 参数指定的任何其他值填充输入。

    • "trim_to_shape":切片窗口将裁剪到输入的边界。

  • output_dtype (nvidia.dali.types.DALIDataType) –

    警告

    参数 output_dtypedtype 的已弃用别名。 请改用 dtype

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

  • rounding (str, 可选, 默认 = ‘round’) –

    确定用于将窗口的起始坐标转换为整数值的舍入函数(请参见 crop_pos_xcrop_pos_ycrop_pos_z)。

    可能的值为

    • "round" - 四舍五入到最接近的整数值,中间情况远离零四舍五入。
    • "truncate" - 丢弃数字的小数部分(向零截断)。