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