nvidia.dali.fn.random.choice#

nvidia.dali.fn.random.choice(__a, __shape_like=None, /, *, bytes_per_sample_hint=[0], p=None, preserve=False, seed=-1, shape=None, device=None, name=None)#

从给定的 1D 数组中生成随机样本。

从输入中选择样本的概率由 p 参数中指定的相应概率确定。

生成数据的形状可以通过 shape 参数显式指定,也可以选择与提供的 __shape_like 输入的形状匹配。如果两者都不存在,则为每个样本生成单个值。

输出的类型与输入的类型匹配。对于标量输入,仅支持整数类型,否则可以使用任何类型。该算子支持从包含 DALI 枚举类型元素(即:nvidia.dali.types.DALIDataType()nvidia.dali.types.DALIImageType()nvidia.dali.types.DALIInterpType())的输入中进行选择。

支持的后端
  • ‘cpu’

参数:
  • __a (标量TensorList) – 如果提供标量值 __a,则算子的行为就像传递了 [0, 1, ..., __a-1] 列表作为输入一样。否则,__a 被视为输入样本的 1D 数组。

  • __shape_like (TensorList, 可选) – 如果提供,则此输入的形状将用于推断输出的形状。

关键字参数:
  • bytes_per_sample_hint (int 或 int 列表, 可选, 默认值 = [0]) –

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

    如果指定,则预先分配位于 GPU 或页锁定主机内存中的算子输出,以容纳此大小的样本批次。

  • p (floatfloat 列表或 TensorListfloat, 可选) – 概率分布。如果未指定,则假定为均匀分布。

  • preserve (bool, 可选, 默认值 = False) – 即使操作符的输出未使用,也阻止将其从图中删除。

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

  • shape (intint 列表或 TensorListint, 可选) – 输出数据的形状。