mindspore.dataset.WeightedRandomSampler
- class mindspore.dataset.WeightedRandomSampler(weights, num_samples=None, replacement=True)[source]
- Samples the elements from [0, len(weights) - 1] randomly with the given weights (probabilities). - Parameters
- Raises
- TypeError – If elements of weights are not of type number. 
- TypeError – If num_samples is not of type int. 
- TypeError – If replacement is not of type bool. 
- RuntimeError – If weights is empty or all zero. 
- ValueError – If num_samples is a negative value. 
 
 - Examples - >>> import mindspore.dataset as ds >>> weights = [0.9, 0.01, 0.4, 0.8, 0.1, 0.1, 0.3] >>> >>> # creates a WeightedRandomSampler that will sample 4 elements without replacement >>> sampler = ds.WeightedRandomSampler(weights, 4) >>> dataset = ds.ImageFolderDataset(image_folder_dataset_dir, ... num_parallel_workers=8, ... sampler=sampler) - add_child(sampler)[source]
- Add a sub-sampler for given sampler. The parent will receive all data from the output of sub-sampler sampler and apply its sample logic to return new samples. - Note - If a child sampler is added and it has a shuffle option, its value cannot be - Shuffle.PARTIAL. Additionally, the parent sampler's shuffle value must be- Shuffle.GLOBAL.
 - Parameters
- sampler (Sampler) – Object used to choose samples from the dataset. Only builtin samplers( - mindspore.dataset.DistributedSampler,- mindspore.dataset.PKSampler,- mindspore.dataset.RandomSampler,- mindspore.dataset.SequentialSampler,- mindspore.dataset.SubsetRandomSampler,- mindspore.dataset.WeightedRandomSampler) are supported.
 - Examples - >>> import mindspore.dataset as ds >>> sampler = ds.SequentialSampler(start_index=0, num_samples=3) >>> sampler.add_child(ds.RandomSampler(num_samples=4)) >>> dataset = ds.Cifar10Dataset(cifar10_dataset_dir, sampler=sampler) 
 - get_child()[source]
- Get the child sampler of given sampler. - Returns
- Sampler, The child sampler of given sampler. 
 - Examples - >>> import mindspore.dataset as ds >>> sampler = ds.SequentialSampler(start_index=0, num_samples=3) >>> sampler.add_child(ds.RandomSampler(num_samples=2)) >>> child_sampler = sampler.get_child() 
 - get_num_samples()[source]
- Get num_samples value of the current sampler instance. This parameter can be optionally passed in when defining the Sampler. Default: - None. This method will return the num_samples value. If the current sampler has child samplers, it will continue to access the child samplers and process the obtained value according to certain rules.- The following table shows the various possible combinations, and the final results returned. - child sampler - num_samples - child_samples - result - T - x - y - min(x, y) - T - x - None - x - T - None - y - y - T - None - None - None - None - x - n/a - x - None - None - n/a - None - Returns
- int, the number of samples, or None. 
 - Examples - >>> import mindspore.dataset as ds >>> sampler = ds.SequentialSampler(start_index=0, num_samples=3) >>> num_samplers = sampler.get_num_samples()