create_dl_layer_reduce
— Create a reduce layer.
create_dl_layer_reduce( : : DLLayerInput, LayerName, Operation, Axes, GenParamName, GenParamValue : DLLayerReduce)
The operator create_dl_layer_reduce
creates a reduce
layer whose handle is returned in DLLayerReduce
.
A reduce layer applies a given operation to the input data tensor to
reduce it along one or multiple axes to a single value.
Hence, the output tensor has the same shape as the input tensor, but at the
axes given by Axes
the dimension equals one.
The parameter DLLayerInput
determines the feeding input layer.
This layer expects a single layer as input.
The parameter LayerName
sets an individual layer name.
Note that if creating a model using create_dl_model
each layer of
the created network must have a unique name.
The parameter Operation
specifies the operation that is applied.
The operation is applied to the values along the axes given by Axes
of the input tensor and the result is written to the corresponding position
in the output tensor.
The supported values for Operation
are:
'norm_l2' : Computes the L2 norm of the input values.
'sum' : Computes the sum of the input values.
The following generic parameters GenParamName
and the corresponding
values GenParamValue
are supported:
Determines whether apply_dl_model
will include the output of this
layer in the dictionary DLResultBatch
even without specifying this
layer in Outputs
('true' ) or not ('false' ).
Default: 'false'
Small scalar value that is used to stabilize the training. I.e., in case of a division, the value is added to the denominator to prevent a division by zero.
Default: 1e-10
Certain parameters of layers created using this operator
create_dl_layer_reduce
can be set and retrieved using
further operators.
The following tables give an overview, which parameters can be set
using set_dl_model_layer_param
and which ones can be retrieved
using get_dl_model_layer_param
or get_dl_layer_param
.
Note, the operators set_dl_model_layer_param
and
get_dl_model_layer_param
require a model created by
create_dl_model
.
Layer-Parameter | set |
get
|
---|---|---|
'axes' (Axes ) |
x
|
|
'input_layer' (DLLayerInput ) |
x
|
|
'name' (LayerName ) |
x |
x
|
'operation' (Operation ) |
x
|
|
'output_layer' (DLLayerReduce ) |
x
|
|
'shape' | x
|
|
'type' | x
|
Generische Layer-Parameter | set |
get
|
---|---|---|
'is_inference_output' | x |
x
|
'num_trainable_params' | x
|
|
'div_eps' | x
|
DLLayerInput
(input_control) dl_layer →
(handle)
Feeding input layer.
LayerName
(input_control) string →
(string)
Name of the output layer.
Operation
(input_control) string →
(string)
Reduce operation.
Default: 'norm_l2'
List of values: 'norm_l2' , 'sum'
Axes
(input_control) integer(-array) →
(integer / string)
Axes to which the reduce operation is applied.
Default: [2,3]
List of values: 1, 2, 3, 'depth' , 'height' , 'width'
GenParamName
(input_control) attribute.name(-array) →
(string)
Generic input parameter names.
Default: []
List of values: 'div_eps' , 'is_inference_output'
GenParamValue
(input_control) attribute.value(-array) →
(string / integer / real)
Generic input parameter values.
Default: []
Suggested values: 1e-10, 'true' , 'false'
DLLayerReduce
(output_control) dl_layer →
(handle)
Reduce layer.
* Minimal example for reduce-layer. create_dl_layer_input ('input', [64, 32, 10], [], [], DLLayerInput) create_dl_layer_reduce (DLLayerInput, 'reduce_width', 'sum', 'width', [], [], \ DLLayerReduceWidth) create_dl_layer_reduce (DLLayerReduceWidth, 'reduce_height_depth', 'norm_l2', [1,2], [], \ [], DLLayerReduceHeightDepth) * Create a model and change the batch-size. create_dl_model (DLLayerReduceHeightDepth, DLModel) set_dl_model_param (DLModel, 'batch_size', 2) get_dl_model_layer_param (DLModel, 'reduce_height_depth', 'shape', ShapeReduceHeightWidth)
Deep Learning Training