Executor

# MXNet.mx.ExecutorType.

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.

source

# MXNet.mx.bindMethod.

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 of NDArray 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. See list_arguments and infer_shape.
  • args_grad:
  • aux_states:
  • grad_req:

source

# MXNet.mx.debug_strMethod.

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])

source