create_dl_layer_reshape — Create a reshape layer.
create_dl_layer_reshape( : : DLLayerInput, LayerName, Shape, GenParamName, GenParamValue : DLLayerReshape)
The operator create_dl_layer_reshape creates a reshape layer whose
handle is returned in DLLayerReshape.
The parameter DLLayerInput determines the feeding input layer
and expects the layer handle as value.
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 an unique name.
The parameter Shape determines the output shape, into which the
input data is converted.
The value of Shape has to be given in the form [width,
height, depth, batch_size], where the fourth value
for the batch size is optional.
The overall size of the data has to remain constant, i.e., width *
height * depth * batch_size has to be equal to
width_in * height_in * depth_in
* batch_size_in, where [width_in, height_in,
depth_in, batch_size_in] is the shape of the input graph
layer.
Optionally, one or several entries of Shape may be set to 0
in order to keep the value of the corresponding input dimension.
Moreover, at most one of the shape dimensions might be set to -1
in order to calculate its value automatically. The value will then be
calculated such that the overall size of the data remains constant.
Be aware that this can only be done successfully if the calculated value is
an integer.
If the batch size is specified and it is not set to 0, at least one
dimension of Shape must be set to -1. This is necessary,
because for a model created with create_dl_model, the model's batch
size should always be settable with set_dl_model_param. Hence,
either the output batch size of the reshape layer equals the batch size of
the model (batch size in Shape set to 0), or at least one
reshape dimension should be calculated automatically (one value in
Shape set to -1).
In case the batch size is not specified it is set to 0, which leads
to an output batch size equal to the input one.
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'
Number of trainable parameters (weights and biases) of the layer.
Certain parameters of layers created using this operator
create_dl_layer_reshape 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 Parameters | set | get |
|---|---|---|
'input_layer' (DLLayerInput) |
||
'name' (LayerName) |
||
'output_depth' (Shape) |
||
'output_height' (Shape) |
||
'output_layer' (Shape) |
||
'output_width' (Shape) |
||
| 'shape' | ||
| 'type' |
| Generic Layer Parameters | set | get |
|---|---|---|
| 'is_inference_output' | ||
| 'num_trainable_params' |
DLLayerInput (input_control) dl_layer → (handle)
Feeding layer.
LayerName (input_control) string → (string)
Name of the layer.
Shape (input_control) number-array → (integer)
Shape of the output graph layer data.
Default value: [224,224,3]
GenParamName (input_control) attribute.name(-array) → (string)
Generic input parameter names.
Default value: []
List of values: 'is_inference_output'
GenParamValue (input_control) attribute.value(-array) → (string / integer / real)
Generic input parameter values.
Default value: []
Suggested values: 'true', 'false'
DLLayerReshape (output_control) dl_layer → (handle)
Reshape layer.
* Minimal example for reshape-layer.
create_dl_layer_input ('input', [64, 32, 10], [], [], DLLayerInput)
create_dl_layer_reshape (DLLayerInput, 'reshape_wh', [32, 64, 0], [], [], \
DLLayerReshapeWH)
create_dl_layer_reshape (DLLayerInput, 'reshape_bs', [64, 32, 1, -1], [], \
[], DLLayerReshapeBS)
* DLLayerReshapeBS has batch size 10 and depth 1.
get_dl_layer_param (DLLayerReshapeBS, 'shape', ShapeReshapeBS)
* Create a model and change the batch-size.
create_dl_model (DLLayerReshapeBS, DLModel)
set_dl_model_param (DLModel, 'batch_size', 2)
* DLLayerReshapeBS has batch size 20 now.
get_dl_model_layer_param (DLModel, 'reshape_bs', 'shape', ShapeReshapeBS)
create_dl_layer_input,
create_dl_layer_concat
create_dl_layer_convolution,
create_dl_layer_dense
Deep Learning Training