random
Random number generator with a deterministic, synchronized seed for sampling.
Functions
Reduce each element of the seq via |
|
Return a random element from the sequence using a synchronized seed. |
|
Return an indicator (None) that can be recognized internally to sample the original choice. |
|
Generate a random number from [0, 1) with a deterministic seed. |
|
Sample elements from a given population with a deterministic seed. |
|
Shuffle the sequence in-place with a deterministic seed. |
- centroid(seq)
Reduce each element of the seq via
torch.prod()and then return seq element closest.- Parameters:
seq (Sequence[T]) – Sequence to determine centroid.
- Returns:
Centroid of the sequence.
- Return type:
T
This function can be used to sample the centroid subnet of an search space via
mtn.sample(). The centroid subnet aims to cheaply approximate the median of the search space defined by themodel.Example: .. code-block:: python
from modelopt.torch.nas import random import modelopt.torch.nas as mtn
# Sample the centroid subnet of a converted model config = mtn.sample(model, random.centroid)
- choice(seq)
Return a random element from the sequence using a synchronized seed.
- Parameters:
seq (Sequence[T]) – Sequence to sample from.
- Returns:
Random element from the sequence.
- Return type:
T
This function is synchronized across all GPUs and can be used to sample a random subnet from a search space via
mtn.sample()such that the resulting subnet/configuration is the same across all GPUs.Example: .. code-block:: python
from modelopt.torch.nas import random import modelopt.torch.nas as mtn
# Sample a random subnet of a converted model config = mtn.sample(model, random.choice)
# random.choice is also the default option for sample config = mtn.sample(model)
- original(seq)
Return an indicator (None) that can be recognized internally to sample the original choice.
- Parameters:
seq (Sequence[T]) – Sequence of choices from which we want to “choose” original choice.
- Returns:
None indicating to internally select the original choice from the sequence.
- Return type:
None
This function can be used to sample the original subnet of a search space via
mtn.sample(). The original subnet corresponds to the model architecture before the conversion process.Example: .. code-block:: python
from modelopt.torch.nas import random import modelopt.torch.nas as mtn
# Sample the original subnet of a converted model config = mtn.sample(model, random.original)
- random()
Generate a random number from [0, 1) with a deterministic seed.
- Return type:
float
- sample(*args, **kwargs)
Sample elements from a given population with a deterministic seed.
- shuffle(seq)
Shuffle the sequence in-place with a deterministic seed.
- Parameters:
seq (MutableSequence[Any])