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 或 list of int, optional, default = [0]) –

    每个样本的输出大小提示(以字节为单位)。

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

  • crop (floatlist of floatTensorList of float, optional) –

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

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

  • crop_d (float 或 TensorList of float, optional, default = 0.0) –

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

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

  • crop_h (float 或 TensorList of float, optional, default = 0.0) –

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

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

  • crop_pos_x (float 或 TensorList of float, optional, default = 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, optional, default = 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, optional, default = 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, optional, default = 0.0) –

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

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

  • dtype (nvidia.dali.types.DALIDataType, optional) –

    输出数据类型。

    支持的类型:FLOATFLOAT16UINT8

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

  • fill_values (float 或 list of float, optional, default = [0.0]) –

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

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

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

    警告

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

  • out_of_bounds_policy (str, optional, default = ‘error’) –

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

    以下是支持值的列表

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

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

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

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

    警告

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

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

  • rounding (str, optional, default = ‘round’) –

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

    可能的值为

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