Executor
#
MXNet.mx.Executor
— Type.
Executor
An executor is a realization of a symbolic architecture defined by a SymbolicNode
. The actual forward and backward computation specified by the network architecture can be carried out with an executor.
#
MXNet.mx.bind
— Method.
bind(sym, ctx, args; args_grad=Dict(), aux_states=Dict(), grad_req=GRAD_WRITE)
Create an Executor
by binding a SymbolicNode
to concrete NDArray
.
Arguments
sym::SymbolicNode
: the network architecture describing the computation graph.ctx::Context
: the context on which the computation should run.args
: either a list ofNDArray
or a dictionary of name-array pairs. Concrete arrays for all the inputs in the network architecture. The inputs typically include network parameters (weights, bias, filters, etc.), data and labels. Seelist_arguments
andinfer_shape
.args_grad
:aux_states
:grad_req
:
#
MXNet.mx.debug_str
— Method.
Get a debug string about internal execution plan.
Can be used to get an estimated about the memory cost.
net = ... # Symbol
dProvider = ... # DataProvider
exec = mx.simple_bind(net, mx.cpu(), data=size(dProvider.data_batch[1]))
dbg_str = mx.debug_str(exec)
println(split(ref, ['\n'])[end-2])