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 或 list of int, 可选, 默认 = [0]) –

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

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

  • p (floatlist of floatTensorList of float, 可选) – 概率分布。如果未指定,则假定为均匀分布。

  • preserve (bool, 可选, 默认 = False) – 即使运算符的输出未使用,也阻止从图中删除该运算符。

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

  • shape (intlist of intTensorList of int, 可选) – 输出数据的形状。