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¶ (float 或 list of float 或 TensorList of float, optional) –
裁剪图像的形状,指定为值列表(例如,对于 2D 裁剪为
(crop_H, crop_W)
,对于体裁剪为(crop_D, crop_H, crop_W)
)。crop_d¶ (float 或 TensorList of float, optional, default = 0.0) –
仅应用于体输入;裁剪窗口深度(以体素为单位)。
crop_w
、crop_h
和crop_d
必须一起指定。为crop_w
、crop_h
和crop_d
提供值与提供固定裁剪窗口尺寸(参数crop
)不兼容。crop_h¶ (float 或 TensorList of float, optional, default = 0.0) –
裁剪窗口高度(以像素为单位)。
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) –
裁剪窗口宽度(以像素为单位)。
dtype¶ (
nvidia.dali.types.DALIDataType
, optional) –输出数据类型。
支持的类型:
FLOAT
、FLOAT16
和UINT8
。如果未设置,则使用输入类型。
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
) –preserve¶ (bool, optional, default = False) – 阻止操作符从图中删除,即使其输出未使用。
rounding¶ (str, optional, default = ‘round’) –
确定用于将窗口的起始坐标转换为整数值的舍入函数(请参阅
crop_pos_x
、crop_pos_y
、crop_pos_z
)。可能的值为
"round"
- 四舍五入到最接近的整数值,中间情况远离零舍入。"truncate"
- 丢弃数字的小数部分(向零截断)。