create_dl_layer_reshape — Erstellen eines Reshape-Layers.
create_dl_layer_reshape( : : DLLayerInput, LayerName, Shape, GenParamName, GenParamValue : DLLayerReshape)
Der Operator create_dl_layer_reshape erzeugt einen Reshape-Layer,
dessen Handle in DLLayerReshape zurückgegeben wird.
Der Parameter DLLayerInput bestimmt den zuführenden Eingabelayer
und erwartet das Layer-Handle als Wert.
Der Parameter LayerName legt einen individuellen Layernamen fest.
Es ist zu beachten, dass beim Erstellen eines Modells mit
create_dl_model jeder Layer des erstellten Netzes einen
eindeutigen Namen haben muss.
Der Parameter Shape bestimmt die Dimensionen, in die die
Eingabedaten konvertiert werden.
Shape hat die Form
[Breite, Höhe, Tiefe, Batchgröße],
wobei der Eintrag für die Batchgröße optional ist (siehe unten).
Die Gesamtgröße der konvertierten Daten muss mit der Gesamtgröße der
Layerdimensionen des Eingabelayers übereinstimmen, d.h.,
Breite_out * Höhe_out * Tiefe_out * Batchgröße_out
=
Breite_in * Höhe_in * Tiefe_in * Batchgröße_in.
Für das Setzen der Werte von Shape stehen folgende Optionen zur Verfügung:
Setzen der Werte für alle vier Dimensionen.
Ein oder mehrere Werte werden auf 0 gesetzt, um den Wert der entsprechenden Eingabedimension beizubehalten.
Maximal ein Wert wird auf -1 gesetzt, um den verwendeten Wert automatisch zu bestimmen. Der Wert wird dann so berechnet, dass die Gesamtgröße der Daten konstant bleibt. Es ist zu beachten, dass dies nur erfolgreich durchgeführt werden kann, wenn der berechnete Wert eine ganze Zahl ist.
Für ein Modell, das mit create_dl_model erstellt wurde, soll die
Batchgröße des Modells immer mit set_dl_model_param einstellbar sein.
Daraus folgt, dass entweder die Ausgabe-Batchgröße des Reshape-Layers
gleich der Batchgröße des Modells sein muss
(Batchgröße in Shape auf 0 gesetzt),
oder mindestens eine Dimension automatisch berechnet werden sollte
(ein Wert in Shape auf -1 gesetzt).
Wird die Batchgröße nicht angegeben, wird sie auf 0 gesetzt,
wodurch Eingabe- und Ausgabe-Batchgröße gleich bleiben.
Die folgenden generischen Parameter GenParamName und die
entsprechenden Werte GenParamValue werden unterstützt:
Bestimmt, ob apply_dl_model die Ausgabe dieses Layers im
Dictionary DLResultBatch zurückgibt, auch ohne den
Layer in Outputs anzugeben ('true'), oder
nur falls er angegeben wird ('false').
Default: 'false'
Bestimmte Parameter von Layern, die mit create_dl_layer_reshape
erzeugt wurden, können mit weiteren Operatoren gesetzt und abgerufen werden.
Die folgenden Tabellen geben einen Überblick, welche Parameter mit
set_dl_model_layer_param gesetzt werden können und welche mit
get_dl_model_layer_param oder get_dl_layer_param ausgelesen
werden können. Es ist zu beachten, dass die Operatoren
set_dl_model_layer_param und get_dl_model_layer_param ein
Modell benötigen, das mit create_dl_model erzeugt wurde.
| Layer-Parameter | set | get |
|---|---|---|
'input_layer' (DLLayerInput) |
||
'name' (LayerName) |
||
'output_depth' (Shape) |
||
'output_height' (Shape) |
||
'output_layer' (Shape) |
||
'output_width' (Shape) |
||
| 'shape' | ||
| 'type' |
| Generische Layer-Parameter | set | get |
|---|---|---|
| 'is_inference_output' | ||
| 'num_trainable_params' |
DLLayerInput (input_control) dl_layer → (handle)
Zuführender Layer.
LayerName (input_control) string → (string)
Name des Ausgabelayers.
Shape (input_control) number-array → (integer)
Form der Layerdaten des Ausgabelayers.
Defaultwert: [224,224,3]
GenParamName (input_control) attribute.name(-array) → (string)
Namen der generischen Eingabeparameter.
Defaultwert: []
Werteliste: 'is_inference_output'
GenParamValue (input_control) attribute.value(-array) → (string / integer / real)
Werte der generischen Eingabeparameter.
Defaultwert: []
Wertevorschläge: '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