nvidia.dali.fn.random_crop_generator#
- nvidia.dali.fn.random_crop_generator(__input, /, *, bytes_per_sample_hint=[0], num_attempts=10, preserve=False, random_area=[0.08, 1.0], random_aspect_ratio=[0.75, 1.333333], seed=-1, device=None, name=None)#
生成一个裁剪窗口,其区域和宽高比是随机选择的。
期望一个一维输入,表示我们要裁剪的输入的形状 (HW 或 HWC 表示)。
生成两个输出,分别表示裁剪窗口的锚点和形状。
此算子的输出(锚点和形状)可以馈送到 fn.slice、fn.decoders.image_slice 或任何其他接受感兴趣区域的算子。例如
crop_anchor, crop_shape = fn.random_crop_generator(image_shapes) images_crop = fn.slice(images, start=crop_anchor, shape=crop_shape, axes=[0, 1])
- 支持的后端
‘cpu’
- 参数:
__input¶ (TensorList) – 算子的输入。
- 关键字参数:
bytes_per_sample_hint¶ (int 或 list of int, 可选, 默认 = [0]) –
输出大小提示,以字节/样本为单位。
如果指定,则算子的输出(位于 GPU 或页锁定主机内存中)将被预分配,以适应此大小的样本批次。
num_attempts¶ (int, 可选, 默认 = 10) – 用于选择随机区域和宽高比的最大尝试次数。
preserve¶ (bool, 可选, 默认 = False) – 阻止算子从图中移除,即使其输出未使用。
random_area¶ (float 或 list of float, 可选, 默认 = [0.08, 1.0]) –
选择随机区域比例
A
的范围。裁剪图像的面积将等于
A
* 原始图像的面积。random_aspect_ratio¶ (float 或 list of float, 可选, 默认 = [0.75, 1.333333]) – 选择随机宽高比(宽度/高度)的范围。
seed¶ (int, 可选, 默认 = -1) – 随机种子;如果未设置,将自动分配一个。