mindspore.dataset.SubsetRandomSampler
- class mindspore.dataset.SubsetRandomSampler(indices, num_samples=None)[source]
Samples the elements randomly from a sequence of indices.
- Parameters
indices (Any iterable Python object but string) – A sequence of indices.
num_samples (int, optional) – Number of elements to sample (default=None, which means sample all elements).
Examples
>>> indices = [0, 1, 2, 3, 7, 88, 119] >>> >>> # create a SubsetRandomSampler, will sample from the provided indices >>> sampler = ds.SubsetRandomSampler(indices) >>> data = ds.ImageFolderDataset(image_folder_dataset_dir, num_parallel_workers=8, sampler=sampler)
- Raises
TypeError – If type of indices element is not a number.
TypeError – If num_samples is not an integer value.
ValueError – If num_samples is a negative value.
- add_child(sampler)
Add a sub-sampler for given sampler. The sub-sampler will receive all data from the output of parent sampler and apply its sample logic to return new samples.
- Parameters
sampler (Sampler) – Object used to choose samples from the dataset. Only builtin samplers(DistributedSampler, PKSampler, RandomSampler, SequentialSampler, SubsetRandomSampler, WeightedRandomSampler) are supported.
Examples
>>> sampler = ds.SequentialSampler(start_index=0, num_samples=3) >>> sampler.add_child(ds.RandomSampler(num_samples=2)) >>> dataset = ds.Cifar10Dataset(cifar10_dataset_dir, sampler=sampler)
- get_child()
Get the child sampler of given sampler.
- Returns
Sampler, The child sampler of given sampler.
Examples
>>> sampler = ds.SequentialSampler(start_index=0, num_samples=3) >>> sampler.add_child(ds.RandomSampler(num_samples=2)) >>> child_sampler = sampler.get_child()