WeightedRandomSampler¶
- class paddle.io. WeightedRandomSampler ( weights, num_samples, replacement=True ) [source]
-
Random sample with given weights (probabilities), sample index will be in range [0, len(weights) - 1], if
replacement
is True, index can be sampled multiple times.- Parameters
-
weights (numpy.ndarray|paddle.Tensor|list|tuple) – sequence of weights, should be numpy array, paddle.Tensor, list or tuple
num_samples (int) – set sample number to draw from sampler.
replacement (bool) – Whether to draw sample with replacements, default True
- Returns
-
a Sampler yield sample index randomly by given weights
- Return type
-
Sampler
Examples
>>> import numpy as np >>> from paddle.io import WeightedRandomSampler >>> np.random.seed(2023) >>> sampler = WeightedRandomSampler( ... weights=[0.1, 0.3, 0.5, 0.7, 0.2], ... num_samples=5, ... replacement=True ... ) >>> for index in sampler: ... print(index) 2 4 3 1 1