26 #ifndef MXNET_CPP_SYMBOL_H_ 27 #define MXNET_CPP_SYMBOL_H_ 83 explicit Symbol(
const char *name);
88 explicit Symbol(
const std::string &name);
105 static Symbol Variable(
const std::string &name =
"");
106 Symbol operator[](
int index);
107 Symbol operator[](
const std::string &index);
112 static Symbol Group(
const std::vector<Symbol> &symbols);
117 static Symbol Load(
const std::string &file_name);
122 static Symbol LoadJSON(
const std::string &json_str);
127 void Save(
const std::string &file_name)
const;
131 std::string ToJSON()
const;
136 Symbol GetInternals()
const;
149 Symbol(
const std::string &operator_name,
const std::string &name,
150 std::vector<const char *> input_keys,
151 std::vector<SymbolHandle> input_values,
152 std::vector<const char *> config_keys,
153 std::vector<const char *> config_values);
163 const std::map<std::string, std::vector<mx_uint> > &arg_shapes,
164 std::vector<std::vector<mx_uint> > *in_shape,
165 std::vector<std::vector<mx_uint> > *aux_shape,
166 std::vector<std::vector<mx_uint> > *out_shape)
const;
175 std::vector<std::string> ListArguments()
const;
177 std::vector<std::string> ListOutputs()
const;
179 std::vector<std::string> ListAuxiliaryStates()
const;
194 void InferExecutorArrays(
195 const Context &context, std::vector<NDArray> *arg_arrays,
196 std::vector<NDArray> *grad_arrays, std::vector<OpReqType> *grad_reqs,
197 std::vector<NDArray> *aux_arrays,
198 const std::map<std::string, NDArray> &args_map,
199 const std::map<std::string, NDArray> &arg_grad_store =
200 std::map<std::string, NDArray>(),
201 const std::map<std::string, OpReqType> &grad_req_type =
202 std::map<std::string, OpReqType>(),
203 const std::map<std::string, NDArray> &aux_map =
204 std::map<std::string, NDArray>())
const;
212 void InferArgsMap(
const Context &context,
213 std::map<std::string, NDArray> *args_map,
214 const std::map<std::string, NDArray> &known_args)
const;
234 const std::map<std::string, NDArray> &args_map,
235 const std::map<std::string, NDArray> &arg_grad_store =
236 std::map<std::string, NDArray>(),
237 const std::map<std::string, OpReqType> &grad_req_type =
238 std::map<std::string, OpReqType>(),
239 const std::map<std::string, NDArray> &aux_map =
240 std::map<std::string, NDArray>());
259 Executor *Bind(
const Context &context,
const std::vector<NDArray> &arg_arrays,
260 const std::vector<NDArray> &grad_arrays,
261 const std::vector<OpReqType> &grad_reqs,
262 const std::vector<NDArray> &aux_arrays,
263 const std::map<std::string, Context> &group_to_ctx =
264 std::map<std::string, Context>(),
268 std::shared_ptr<SymBlob> blob_ptr_;
269 static OpMap*& op_map();
278 #endif // MXNET_CPP_SYMBOL_H_ Symbol operator/(mx_float lhs, const Symbol &rhs)
Symbol()
Definition: symbol.h:73
OpMap instance holds a map of all the symbol creators so we can get symbol creators by name...
Definition: op_map.h:42
namespace of mxnet
Definition: base.h:126
Executor interface.
Definition: executor.h:44
SymBlob(SymbolHandle handle)
construct with SymbolHandle to store
Definition: symbol.h:53
SymbolHandle handle_
the SymbolHandle to store
Definition: symbol.h:61
struct to store SymbolHandle
Definition: symbol.h:44
Symbol operator%(mx_float lhs, const Symbol &rhs)
void * SymbolHandle
handle to a symbol that can be bind as operator
Definition: c_api.h:72
SymBlob()
default constructor
Definition: symbol.h:49
~SymBlob()
destructor, free the SymbolHandle
Definition: symbol.h:57
Symbol operator+(mx_float lhs, const Symbol &rhs)
float mx_float
manually define float
Definition: c_api.h:59
Symbol operator-(mx_float lhs, const Symbol &rhs)
SymbolHandle GetHandle() const
Definition: symbol.h:140
Context interface.
Definition: ndarray.h:49
MXNET_DLL int MXSymbolFree(SymbolHandle symbol)
Free the symbol handle.
Symbol operator*(mx_float lhs, const Symbol &rhs)
Symbol interface.
Definition: symbol.h:71