mindspore.dataset.SubsetSampler

class mindspore.dataset.SubsetSampler(indices, num_samples=None)[source]

Samples the elements 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, 4, 5]
>>>
>>> # creates a SubsetSampler, will sample from the provided indices
>>> sampler = ds.SubsetSampler(indices)
>>> dataset = 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.

parse()[source]

Parse the sampler.

parse_child()

Parse the child sampler.

parse_child_for_minddataset()

Parse the child sampler for MindRecord.

parse_for_minddataset()[source]

Parse the sampler for MindRecord.