26 #ifndef MXNET_CPP_IO_H_ 27 #define MXNET_CPP_IO_H_ 35 #include "dmlc/logging.h" 52 virtual void BeforeFirst(
void) = 0;
53 virtual bool Next(
void) = 0;
54 virtual NDArray GetData(
void) = 0;
55 virtual NDArray GetLabel(
void) = 0;
56 virtual int GetPadNum(
void) = 0;
57 virtual std::vector<int> GetIndex(
void) = 0;
60 return DataBatch{GetData(), GetLabel(), GetPadNum(), GetIndex()};
70 mx_uint num_data_iter_creators = 0;
74 for (
mx_uint i = 0; i < num_data_iter_creators; i++) {
76 const char *description;
78 const char **arg_names;
79 const char **arg_type_infos;
80 const char **arg_descriptions;
82 &num_args, &arg_names, &arg_type_infos,
85 mxdataiter_creators_[name] = data_iter_creators[i];
89 return mxdataiter_creators_[name];
93 std::map<std::string, DataIterCreator> mxdataiter_creators_;
109 explicit MXDataIter(
const std::string &mxdataiter_type);
111 creator_ = other.creator_;
112 params_ = other.params_;
113 blob_ptr_ = other.blob_ptr_;
120 std::vector<int> GetIndex();
128 template <
typename T>
130 std::string value_str;
131 std::stringstream ss;
135 params_[name] = value_str;
141 std::map<std::string, std::string> params_;
142 std::shared_ptr<MXDataIterBlob> blob_ptr_;
148 #endif // MXNET_CPP_IO_H_ MXDataIterBlob(DataIterHandle handle)
Definition: io.h:99
void * DataIterCreator
handle a dataiter creator
Definition: c_api.h:81
MXDataIter & SetParam(const std::string &name, const T &value)
set config parameters
Definition: io.h:129
void Reset()
Definition: io.h:62
namespace of mxnet
Definition: base.h:89
DataIterCreator GetMXDataIterCreator(const std::string &name)
Definition: io.h:88
~MXDataIterBlob()
Definition: io.h:100
NDArray interface.
Definition: ndarray.h:121
MXDataIter(const MXDataIter &other)
Definition: io.h:110
MXDataIterMap()
Definition: io.h:69
std::vector< int > index
Definition: io.h:48
NDArray label
Definition: io.h:46
DataBatch GetDataBatch()
Definition: io.h:59
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:45
MXDataIterBlob()
Definition: io.h:98
MXNET_DLL int MXListDataIters(uint32_t *out_size, DataIterCreator **out_array)
List all the available iterator entries.
int pad_num
Definition: io.h:47
void * DataIterHandle
handle to a DataIterator
Definition: c_api.h:83
MXNET_DLL int MXDataIterFree(DataIterHandle handle)
Free the handle to the IO module.
DataIterHandle handle_
Definition: io.h:101
Default object for holding a mini-batch of data and related information.
Definition: io.h:43
uint32_t mx_uint
manually define unsigned int
Definition: c_api.h:58