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))
- Members
- Inherited-members
-
__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
fnrecursively to every child block as well as self.cast(dtype)Cast this Block to use another data type.
collect_params([select])Returns a
ParameterDictcontaining thisBlockand all of its children’s Parameters(default), also can returns the selectParameterDictwhich 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
HybridBlocks 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
Parameters of thisBlockand 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.
Returns a name space object managing a child
Blockand parameter names.register_child(block[, name])Registers block as a child of self.
register_forward_hook(hook)Registers a forward hook on the block.
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 of this
Block, without ‘_’ in the end.Returns this
Block’s parameter dictionary (does not include its children’s parameters).Prefix of this
Block.