Table Of Contents
Table Of Contents

SymbolBlock

class mxnet.gluon.nn.SymbolBlock(outputs, inputs, params=None)[source]

Construct block from symbol. This is useful for using pre-trained models as feature extractors. For example, you may want to extract the output from fc2 layer in AlexNet.

Parameters:
  • outputs (Symbol or list of Symbol) – The desired output for SymbolBlock.
  • inputs (Symbol or list of Symbol) – The Variables in output’s argument that should be used as inputs.
  • params (ParameterDict) – Parameter dictionary for arguments and auxililary states of outputs that are not inputs.

Examples

>>> # To extract the feature from fc1 and fc2 layers of AlexNet:
>>> alexnet = gluon.model_zoo.vision.alexnet(pretrained=True, ctx=mx.cpu(),
                                             prefix='model_')
>>> inputs = mx.sym.var('data')
>>> out = alexnet(inputs)
>>> internals = out.get_internals()
>>> print(internals.list_outputs())
['data', ..., 'model_dense0_relu_fwd_output', ..., 'model_dense1_relu_fwd_output', ...]
>>> outputs = [internals['model_dense0_relu_fwd_output'],
               internals['model_dense1_relu_fwd_output']]
>>> # Create SymbolBlock that shares parameters with alexnet
>>> feat_model = gluon.SymbolBlock(outputs, inputs, params=alexnet.collect_params())
>>> x = mx.nd.random.normal(shape=(16, 3, 224, 224))
>>> print(feat_model(x))
__init__(outputs, inputs, params=None)[source]

Initialize self. See help(type(self)) for accurate signature.

Methods

__init__(outputs, inputs[, params]) Initialize self.
apply(fn) Applies fn recursively to every child block as well as self.
cast(dtype) Cast this Block to use another data type.
collect_params([select]) Returns a ParameterDict containing this Block and all of its children’s Parameters(default), also can returns the select ParameterDict which match some given regular expressions.
export(path[, epoch]) Export HybridBlock to json format that can be loaded by SymbolBlock.imports, mxnet.mod.Module or the C++ interface.
forward(x, *args) Defines the forward computation.
hybrid_forward(F, x, *args, **kwargs) Overrides to construct symbolic graph for this Block.
hybridize([active]) Activates or deactivates HybridBlock s recursively.
imports(symbol_file, input_names[, …]) Import model previously saved by HybridBlock.export or Module.save_checkpoint as a SymbolBlock for use in Gluon.
infer_shape(*args) Infers shape of Parameters from inputs.
infer_type(*args) Infers data type of Parameters from inputs.
initialize([init, ctx, verbose, force_reinit]) Initializes Parameter s of this Block and its children.
load_parameters(filename[, ctx, …]) Load parameters from file previously saved by save_parameters.
load_params(filename[, ctx, allow_missing, …]) [Deprecated] Please use load_parameters.
name_scope() Returns a name space object managing a child Block and parameter names.
register_child(block[, name]) Registers block as a child of self.
register_forward_hook(hook) Registers a forward hook on the block.
register_forward_pre_hook(hook) Registers a forward pre-hook on the block.
save_parameters(filename) Save parameters to file.
save_params(filename) [Deprecated] Please use save_parameters.
summary(*inputs) Print the summary of the model’s output and parameters.

Attributes

name Name of this Block, without ‘_’ in the end.
params Returns this Block’s parameter dictionary (does not include its children’s parameters).
prefix Prefix of this Block.