25 #ifndef MXNET_CPP_IO_H_ 26 #define MXNET_CPP_IO_H_ 34 #include "dmlc/logging.h" 51 virtual void BeforeFirst(
void) = 0;
52 virtual bool Next(
void) = 0;
53 virtual NDArray GetData(
void) = 0;
54 virtual NDArray GetLabel(
void) = 0;
55 virtual int GetPadNum(
void) = 0;
56 virtual std::vector<int> GetIndex(
void) = 0;
59 return DataBatch{GetData(), GetLabel(), GetPadNum(), GetIndex()};
69 mx_uint num_data_iter_creators = 0;
73 for (
mx_uint i = 0; i < num_data_iter_creators; i++) {
75 const char *description;
77 const char **arg_names;
78 const char **arg_type_infos;
79 const char **arg_descriptions;
81 &num_args, &arg_names, &arg_type_infos,
84 mxdataiter_creators_[name] = data_iter_creators[i];
88 return mxdataiter_creators_[name];
92 std::map<std::string, DataIterCreator> mxdataiter_creators_;
108 explicit MXDataIter(
const std::string &mxdataiter_type);
110 creator_ = other.creator_;
111 params_ = other.params_;
112 blob_ptr_ = other.blob_ptr_;
119 std::vector<int> GetIndex();
127 template <
typename T>
129 std::string value_str;
130 std::stringstream ss;
134 params_[name] = value_str;
140 std::map<std::string, std::string> params_;
141 std::shared_ptr<MXDataIterBlob> blob_ptr_;
147 #endif // MXNET_CPP_IO_H_ MXDataIterBlob(DataIterHandle handle)
Definition: io.h:98
void * DataIterCreator
handle a dataiter creator
Definition: c_api.h:80
MXDataIter & SetParam(const std::string &name, const T &value)
set config parameters
Definition: io.h:128
void Reset()
Definition: io.h:61
namespace of mxnet
Definition: api_registry.h:33
DataIterCreator GetMXDataIterCreator(const std::string &name)
Definition: io.h:87
~MXDataIterBlob()
Definition: io.h:99
NDArray interface.
Definition: ndarray.h:120
MXDataIter(const MXDataIter &other)
Definition: io.h:109
MXDataIterMap()
Definition: io.h:68
std::vector< int > index
Definition: io.h:47
NDArray label
Definition: io.h:45
DataBatch GetDataBatch()
Definition: io.h:58
MXNET_DLL int MXDataIterGetIterInfo(DataIterCreator creator, const char **name, const char **description, uint32_t *num_args, const char ***arg_names, const char ***arg_type_infos, const char ***arg_descriptions)
Get the detailed information about data iterator.
NDArray data
Definition: io.h:44
MXDataIterBlob()
Definition: io.h:97
MXNET_DLL int MXListDataIters(uint32_t *out_size, DataIterCreator **out_array)
List all the available iterator entries.
int pad_num
Definition: io.h:46
void * DataIterHandle
handle to a DataIterator
Definition: c_api.h:82
MXNET_DLL int MXDataIterFree(DataIterHandle handle)
Free the handle to the IO module.
DataIterHandle handle_
Definition: io.h:100
Default object for holding a mini-batch of data and related information.
Definition: io.h:42
uint32_t mx_uint
manually define unsigned int
Definition: c_api.h:57