随机

用于采样的具有确定性、同步种子的随机数生成器。

函数

centroid

通过torch.prod()减少序列的每个元素,然后返回最接近的序列元素。

choice

使用同步种子从序列中返回一个随机元素。

original

返回一个可以在内部识别的指示器(None),用于对原始选择进行采样。

random

使用确定性种子生成一个来自 [0, 1) 的随机数。

sample

从给定总体中抽取样本元素,使用确定性种子。

shuffle

使用确定性种子在原地打乱序列。

centroid(seq)

通过torch.prod()减少序列的每个元素,然后返回最接近的序列元素。

Parameters:

seq (Sequence[T]) – 用于确定质心的序列。

Returns:

序列的质心。

Return type:

T

此函数可用于通过mtn.sample()对搜索空间的中心子网进行采样。中心子网旨在廉价地近似由model定义的搜索空间的中位数。

示例: .. code-block:: python

从 modelopt.torch.nas 导入 random 导入 modelopt.torch.nas 作为 mtn

# 对转换模型的中心子网进行采样 config = mtn.sample(model, random.centroid)

choice(seq)

使用同步种子从序列中返回一个随机元素。

Parameters:

seq (Sequence[T]) – 从中采样的序列。

Returns:

从序列中随机选取一个元素。

Return type:

T

此函数在所有GPU之间同步,可用于通过mtn.sample()从搜索空间中采样随机子网,从而确保所有GPU上的子网/配置相同。

示例: .. code-block:: python

从 modelopt.torch.nas 导入 random 导入 modelopt.torch.nas 作为 mtn

# 从转换后的模型中随机采样一个子网 config = mtn.sample(model, random.choice)

# random.choice 也是 sample 的默认选项 config = mtn.sample(model)

original(seq)

返回一个可以在内部识别的指示器(None),用于对原始选择进行采样。

Parameters:

seq (Sequence[T]) – 我们想要从中“选择”原始选择的选项序列。

Returns:

None 表示从序列中内部选择原始选择。

Return type:

此函数可用于通过mtn.sample()对搜索空间的原始子网进行采样。原始子网对应于转换过程之前的模型架构。

示例: .. code-block:: python

从 modelopt.torch.nas 导入 random 导入 modelopt.torch.nas 作为 mtn

# 对转换模型的原始子网进行采样 config = mtn.sample(model, random.original)

random()

使用确定性种子生成一个来自 [0, 1) 的随机数。

Return type:

浮点数

sample(*args, **kwargs)

从给定总体中抽取样本元素,使用确定性种子。

shuffle(seq)

使用确定性种子在原地打乱序列。

Parameters:

seq (MutableSequence[Any]) –