Function mindspore::dataset::CelebA

Function Documentation

inline std::shared_ptr<CelebADataset> mindspore::dataset::CelebA(const std::string &dataset_dir, const std::string &usage = "all", const std::shared_ptr<Sampler> &sampler = std::make_shared<RandomSampler>(), bool decode = false, const std::set<std::string> &extensions = {}, const std::shared_ptr<DatasetCache> &cache = nullptr)

Function to create a CelebADataset.

Note

The generated dataset has two columns [‘image’, ‘attr’]. The type of the image tensor is uint8. The attr tensor is uint32 and one hot type.

Parameters
  • dataset_dir[in] Path to the root directory that contains the dataset.

  • usage[in] One of “all”, “train”, “valid” or “test” (default = “all”).

  • sampler[in] Shared pointer to a sampler object used to choose samples from the dataset. If sampler is not given, a RandomSampler will be used to randomly iterate the entire dataset (default = RandomSampler()).

  • decode[in] Decode the images after reading (default=false).

  • extensions[in] Set of file extensions to be included in the dataset (default={}).

  • cache[in] Tensor cache to use (default=nullptr which means no cache is used).

Returns

Shared pointer to the CelebADataset.

Example
/* Define dataset path and MindData object */
std::string folder_path = "/path/to/celeba_dataset_directory";
std::shared_ptr<Dataset> ds = CelebA(folder_path, "all", std::make_shared<SequentialSampler>(0, 5));

/* Create iterator to read dataset */
std::shared_ptr<Iterator> iter = ds->CreateIterator();
std::unordered_map<std::string, mindspore::MSTensor> row;
iter->GetNextRow(&row);

/* Note: In CelebA dataset, each data dictionary owns keys "image" and "attr" */
auto image = row["image"];