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.slicefn.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, optional, default = [0]) –

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

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

  • num_attempts (int, optional, default = 10) – 选择随机区域和宽高比的最大尝试次数。

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

  • random_area (float 或 list of float, optional, default = [0.08, 1.0]) –

    选择随机区域比例 A 的范围。

    裁剪图像的面积将等于 A * 原始图像的面积。

  • random_aspect_ratio (float 或 list of float, optional, default = [0.75, 1.333333]) – 选择随机宽高比(宽度/高度)的范围。

  • seed (int, optional, default = -1) – 随机种子;如果未设置,将自动分配一个。