mindspore.dataset.Caltech101Dataset
- class mindspore.dataset.Caltech101Dataset(dataset_dir, target_type=None, num_samples=None, num_parallel_workers=1, shuffle=None, decode=False, sampler=None, num_shards=None, shard_id=None)[source]
- Caltech 101 dataset. - The columns of the generated dataset depend on the value of target_type . - When target_type is - 'category', the columns are- [image, category].
- When target_type is - 'annotation', the columns are- [image, annotation].
- When target_type is - 'all', the columns are- [image, category, annotation].
 - The tensor of column - imageis of the uint8 type. The tensor of column- categoryis of the uint32 type. The tensor of column- annotationis a 2-dimensional ndarray that stores the contour of the image and consists of a series of points.- Parameters
- dataset_dir (str) – Path to the root directory that contains the dataset. This root directory contains two subdirectories, one is called 101_ObjectCategories, which stores images, and the other is called Annotations, which stores annotations. 
- target_type (str, optional) – Target of the image. If target_type is - 'category', return category represents the target class. If target_type is- 'annotation', return annotation. If target_type is- 'all', return category and annotation. Default:- None, means- 'category'.
- num_samples (int, optional) – The number of images to be included in the dataset. Default: - None, all images.
- num_parallel_workers (int, optional) – Number of worker subprocesses to read the data. Default: - 1.
- shuffle (bool, optional) – Whether or not to perform shuffle on the dataset. Default: - None, expected order behavior shown in the table below.
- decode (bool, optional) – Whether or not to decode the images after reading. Default: - False.
- sampler (Sampler, optional) – Object used to choose samples from the dataset. Default: - None, expected order behavior shown in the table below.
- num_shards (int, optional) – Number of shards that the dataset will be divided into. Default: - None. When this argument is specified, num_samples reflects the maximum sample number of per shard. Used in data parallel training .
- shard_id (int, optional) – The shard ID within num_shards . Default: - None. This argument can only be specified when num_shards is also specified.
 
- Raises
- RuntimeError – If dataset_dir does not contain data files. 
- RuntimeError – If sampler and shuffle are specified at the same time. 
- RuntimeError – If sampler and num_shards/shard_id are specified at the same time. 
- RuntimeError – If num_shards is specified but shard_id is None. 
- RuntimeError – If shard_id is specified but num_shards is None. 
- ValueError – If shard_id is not in range of [0, num_shards ). 
- ValueError – If target_type is not - 'category',- 'annotation'or- 'all'.
- ValueError – If num_parallel_workers exceeds the max thread numbers. 
 
 - Tutorial Examples:
 - Note - The parameters num_samples , shuffle , num_shards , shard_id can be used to control the sampler used in the dataset, and their effects when combined with parameter sampler are as follows. 
 - Sampler obtained by different combinations of parameters sampler and num_samples , shuffle , num_shards , shard_id - Parameter sampler - Parameter num_shards / shard_id - Parameter shuffle - Parameter num_samples - Sampler Used - mindspore.dataset.Sampler type - None - None - None - sampler - numpy.ndarray,list,tuple,int type - / - / - num_samples - SubsetSampler(indices = sampler , num_samples = num_samples ) - iterable type - / - / - num_samples - IterSampler(sampler = sampler , num_samples = num_samples ) - None - num_shards / shard_id - None / True - num_samples - DistributedSampler(num_shards = num_shards , shard_id = shard_id , shuffle = True , num_samples = num_samples ) - None - num_shards / shard_id - False - num_samples - DistributedSampler(num_shards = num_shards , shard_id = shard_id , shuffle = False , num_samples = num_samples ) - None - None - None / True - None - RandomSampler(num_samples = num_samples ) - None - None - None / True - num_samples - RandomSampler(replacement = True , num_samples = num_samples ) - None - None - False - num_samples - SequentialSampler(num_samples = num_samples ) - Examples - >>> import mindspore.dataset as ds >>> caltech101_dataset_directory = "/path/to/caltech101_dataset_directory" >>> >>> # 1) Read all samples (image files) in caltech101_dataset_directory with 8 threads >>> dataset = ds.Caltech101Dataset(dataset_dir=caltech101_dataset_directory, num_parallel_workers=8) >>> >>> # 2) Read all samples (image files) with the target_type "annotation" >>> dataset = ds.Caltech101Dataset(dataset_dir=caltech101_dataset_directory, target_type="annotation") - About Caltech101Dataset: - Pictures of objects belonging to 101 categories, about 40 to 800 images per category. Most categories have about 50 images. The size of each image is roughly 300 x 200 pixels. The official provides the contour data of each object in each picture, which is the annotation. - Here is the original Caltech101 dataset structure, and you can unzip the dataset files into the following directory structure, which are read by MindSpore API. - . └── caltech101_dataset_directory ├── 101_ObjectCategories │ ├── Faces │ │ ├── image_0001.jpg │ │ ├── image_0002.jpg │ │ ... │ ├── Faces_easy │ │ ├── image_0001.jpg │ │ ├── image_0002.jpg │ │ ... │ ├── ... └── Annotations ├── Airplanes_Side_2 │ ├── annotation_0001.mat │ ├── annotation_0002.mat │ ... ├── Faces_2 │ ├── annotation_0001.mat │ ├── annotation_0002.mat │ ... ├── ...- Citation: - @article{FeiFei2004LearningGV, author = {Li Fei-Fei and Rob Fergus and Pietro Perona}, title = {Learning Generative Visual Models from Few Training Examples: An Incremental Bayesian Approach Tested on 101 Object Categories}, journal = {Computer Vision and Pattern Recognition Workshop}, year = {2004}, url = {https://data.caltech.edu/records/mzrjq-6wc02}, } 
Pre-processing Operation
| Apply a function in this dataset. | |
| Concatenate the dataset objects in the input list. | |
| Filter dataset by prediction. | |
| Map func to each row in dataset and flatten the result. | |
| Apply each operation in operations to this dataset. | |
| The specified columns will be selected from the dataset and passed into the pipeline with the order specified. | |
| Rename the columns in input datasets. | |
| Repeat this dataset count times. | |
| Reset the dataset for next epoch. | |
| Save the dynamic data processed by the dataset pipeline in common dataset format. | |
| Shuffle the dataset by creating a cache with the size of buffer_size . | |
| Skip the first N elements of this dataset. | |
| Split the dataset into smaller, non-overlapping datasets. | |
| Take the first specified number of samples from the dataset. | |
| Zip the datasets in the sense of input tuple of datasets. | 
Batch
| Combine batch_size number of consecutive rows into batch which apply per_batch_map to the samples first. | |
| Bucket elements according to their lengths. | |
| Combine batch_size number of consecutive rows into batch which apply pad_info to the samples first. | 
Iterator
| Create an iterator over the dataset that yields samples of type dict, while the key is the column name and the value is the data. | |
| Create an iterator over the dataset that yields samples of type list, whose elements are the data for each column. | 
Attribute
| Return the size of batch. | |
| Get the mapping dictionary from category names to category indexes. | |
| Return the names of the columns in dataset. | |
| Return the number of batches in an epoch. | |
| Get the replication times in RepeatDataset. | |
| Get the column index, which represents the corresponding relationship between the data column order and the network when using the sink mode. | |
| Get the number of classes in a dataset. | |
| Get the shapes of output data. | |
| Get the types of output data. | 
Apply Sampler
| Add a child sampler for the current dataset. | |
| Replace the last child sampler of the current dataset, remaining the parent sampler unchanged. | 
Others
| Release a blocking condition and trigger callback with given data. | |
| Add a blocking condition to the input Dataset and a synchronize action will be applied. | |
| Serialize a pipeline into JSON string and dump into file if filename is provided. |