NAME
AI::MXNet::Module - FeedForward interface of MXNet.
See AI::MXNet::Module::Base
for
the details.
load
Create a model from previously saved checkpoint.
Parameters
----------
$prefix
: Str
path prefix of saved model files. You should have
"prefix-symbol.json"
,
"prefix-xxxx.params"
, and
optionally
"prefix-xxxx.states"
, where xxxx is the
epoch number.
$epoch
: Int
epoch to load.
$load_optimizer_states
=0 : Bool
whether to load optimizer states. Checkpoint needs
to have been made
with
save_optimizer_states=True.
:
$data_names
: array
ref
of str
Default is [
'data'
]
for
a typical model used in image classification.
:
$label_names
: array
ref
of str
Default is [
'softmax_label'
]
for
a typical model used in image
classification.
:
$logger
: Logger
Default is AI::MXNet::Logging.
:
$context
: Context or list of Context
Default is cpu(0).
:
$work_load_list
: array
ref
of number
Default is
undef
, indicating an uniform workload.
:
$fixed_param_names
: array
ref
of str
Default is
undef
, indicating
no
network parameters are fixed.
save_checkpoint
Save current progress to a checkpoint.
Use mx->callback->module_checkpoint as epoch_end_callback to save during training.
Parameters
----------
$prefix
: Str
The file prefix to checkpoint to
$epoch
: Int
The current epoch number
$save_optimizer_states
=0 : Bool
Whether to save optimizer states
for
later training
model_save_checkpoint
Checkpoint the model data into file.
Parameters
----------
$prefix
: Str
Prefix of model name.
$epoch
: Int
The epoch number of the model.
$symbol
: AI::MXNet::Symbol
The input symbol
$arg_params
: HashRef[AI::MXNet::NDArray]
Model
's parameters, hash ref of name to AI::MXNet::NDArray of net'
s weights.
$aux_params
: HashRef[AI::MXNet::NDArray]
Model
's parameters, hash ref of name to AI::MXNet::NDArray of net'
s auxiliary states.
Notes
-----
- prefix-symbol.json will be saved
for
symbol.
- prefix-epoch.params will be saved
for
parameters.
bind
Bind the symbols to construct executors. This is necessary
before
one
can perform computation
with
the module.
Parameters
----------
:
$data_shapes
: ArrayRef[AI::MXNet::DataDesc|NameShape]
Typically is
$data_iter
->provide_data.
:
$label_shapes
: Maybe[ArrayRef[AI::MXNet::DataDesc|NameShape]]
Typically is
$data_iter
->provide_label.
:
$for_training
: bool
Default is 1. Whether the executors should be
bind
for
training.
:
$inputs_need_grad
: bool
Default is 0. Whether the gradients to the input data need to be computed.
Typically this is not needed. But this might be needed
when
implementing composition
of modules.
:
$force_rebind
: bool
Default is 0. This function does nothing
if
the executors are already
binded. But
with
this 1, the executors will be forced to rebind.
:
$shared_module
: Module
Default is
undef
. This is used in bucketing. When not
undef
, the shared module
essentially corresponds to a different bucket -- a module
with
different symbol
but
with
the same sets of parameters (e.g. unrolled RNNs
with
different lengths).
reshape
Reshape the module
for
new input shapes.
Parameters
----------
:
$data_shapes
: ArrayRef[AI::MXNet::DataDesc]
Typically is
$data_iter
->provide_data.
:
$label_shapes
= : Maybe[ArrayRef[AI::MXNet::DataDesc]]
Typically is
$data_iter
->provide_label.
borrow_optimizer
Borrow optimizer from a shared module. Used in bucketing, where exactly the same
optimizer (esp. kvstore) is used.
Parameters
----------
shared_module : AI::MXNet::Module
_sync_params_from_devices
Synchronize parameters from devices to CPU. This function should be called
after
calling
'update'
that updates the parameters on the devices,
before
one can
read
the
latest parameters from
$self
->_arg_params and
$self
->_aux_params.