create_dl_layer_gather — Erstellen eines Gather-Layers.
create_dl_layer_gather( : : DLLayerInput, Indices, LayerName, Axis, GenParamName, GenParamValue : DLLayerGather)
Der Operator create_dl_layer_gather erstellt einen Gather-Layer, der
entlang einer angegebenen Achse Slices aus dem Eingabetensor
DLLayerInput gemäß den übergebenen Indizes extrahiert.
Das Handle des Gather-Layers wird in DLLayerGather zurückgegeben.
Der Parameter DLLayerInput bestimmt den zuführenden Eingabe-Layer
und erwartet das Layer-Handle als Wert.
Der Parameter Indices definiert die Indizes, die entlang der Achse
gesammelt werden sollen. Die Indizes müssen entweder Rang 0 oder Rang 1
besitzen, also entweder ein Skalar oder eine Liste sein. Die Indizes können
entweder als Layer-Handle (Indices) oder als Integer-Tupel
übergeben werden.
Wird Indices als Integer-Tupel übergeben, so wird intern ein
konstanter Eingabelayer erzeugt.
Der Parameter Axis legt fest, entlang welcher Achse gesammelt wird.
Axis kann entweder als String ('width', 'height',
'depth' oder 'batch') oder als Integer angegeben werden, wobei 0
der Batch-Größe, 1 der Tiefe (Depth), 2 der Höhe (Height) und 3 der Breite
(Width) entspricht. Negative Werte für Axis bedeuten, dass die
Dimensionen von hinten gezählt werden. Der zulässige Bereich ist [-4,3].
Der Parameter LayerName legt einen individuellen Layer-Namen fest.
Es ist zu beachten, dass beim Erstellen eines Modells mit
create_dl_model jeder Layer im Netzwerk einen eindeutigen Namen
besitzen muss.
Gather-Semantik
Gegeben sei ein 4-dimensionaler Eingabetensor DLLayerInput der Form
(N, C, H, W) und ein Indices-Tensor oder ein Tupel. Der Gather-Layer wählt
Elemente entlang der Axis-Dimension aus, die durch die Elemente in
Indices bestimmt sind.
Sind die Indizes als Tupel
gegeben und wird Axis mit angegeben, so ergibt sich
der Ausgabetensor, indem die Dimension durch die Indizes-Dimension
ersetzt wird. Das ergibt eine Ausgabeform von
Alle Werte in Indices müssen innerhalb der Grenzen
liegen, wobei die Größe der
Axis-Dimension ist. Negative Indizes werden durch
Addition von interpretiert, d.h.
'index' = 'index' falls 'index' < 0.
Verarbeitung von Achsen und Indizes
Negative Werte für Axis werden durch Addition der Anzahl der
Dimensionen r des Eingabetensors zu nicht-negativen Werten gemacht:
Negative Werte in Indices werden durch Addition der Größe s der
entsprechenden Achse angepasst:
Alle Werte in Indices müssen
erfüllen, andernfalls wird ein Fehler erzeugt.
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 dann, wenn dieser
Layer nicht explizit in Outputs angegeben ist
('true') – oder nicht ('false').
Werteliste: 'true', 'false'
Default: 'false'
Bestimmte Parameter von Layern, die mit diesem Operator
create_dl_layer_gather erstellt wurden, können mit weiteren Operatoren
gesetzt und ausgelesen werden.
Die folgenden Tabellen geben eine Übersicht, 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. Beachten Sie, 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,Indices) |
x
|
|
'name' (LayerName) |
x |
x
|
'axis' (Axis) |
x
|
|
'output_layer' (DLLayerGather) |
x
|
|
| 'shape' | x
|
|
| 'type' | x
|
| Generische Layer-Parameter | set |
get |
|---|---|---|
| 'is_inference_output' | x |
x
|
| 'num_trainable_params' | x
|
DLLayerInput (input_control) dl_layer → (handle)
Zuführender Daten-Layer.
Default: 'DLLayerInput'
Indices (input_control) number(-array) → (integer / handle)
Indizes für die Gather-Operation. Dieser Input kann ein Layer oder ein Integer-Tupel sein.
LayerName (input_control) string → (string)
Name des Ausgabelayers.
Axis (input_control) number → (integer / string)
Achse, entlang der gesammelt werden soll.
Default: 0
Wertevorschläge: 0, 'batch', 1, 'depth', 2, 'height', 3, 'width'
GenParamName (input_control) attribute.name(-array) → (string)
Namen der generischen Eingabeparameter.
Default: []
Werteliste: 'is_inference_output'
GenParamValue (input_control) attribute.value(-array) → (string / integer / real)
Werte der generischen Eingabeparameter.
Default: []
Wertevorschläge: 'true', 'false'
DLLayerGather (output_control) dl_layer → (handle)
Ausgabelayer.
Deep Learning Professional