Function mindspore::dataset::Flickr

Function Documentation

inline std::shared_ptr<FlickrDataset> mindspore::dataset::Flickr(const std::string &dataset_dir, const std::string &annotation_file, bool decode = false, const std::shared_ptr<Sampler> &sampler = std::make_shared<RandomSampler>(), const std::shared_ptr<DatasetCache> &cache = nullptr)

Function to create a FlickrDataset.

Note

The generated dataset has two columns [“image”, “annotation”]

Parameters
  • dataset_dir[in] The dataset dir to be read

  • annotation_file[in] The annotation file to be read

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

  • 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()).

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

Returns

Shared pointer to the current FlickrDataset

Example
/* Define dataset path and MindData object */
std::string dataset_path = "/path/to/flickr30k_dataset_directory";
std::string file_path = "/path/to/token_file";
std::shared_ptr<Dataset> ds = Flickr(dataset_path, file_path);

/* 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 FLICKR dataset, each dictionary has keys "image" and "annotation" */
auto image = row["image"];