create_dl_layer_elementwise — Erstellen eines Elementwise-Layers.
create_dl_layer_elementwise( : : DLLayerInputs, LayerName, Operation, Coefficients, GenParamName, GenParamValue : DLLayerElementWise)
Der Operator create_dl_layer_elementwise erstellt einen
Elementwise-Layer dessen Handle in DLLayerElementWise
zurückgegeben wird.
Ein Elementwise-Layer wendet eine bestimmte Operation auf jeden Datentensor der eingegebenen Layer-Handles und auf jedes Element des Datentensors an. Infolgedessen sollten alle Eingabedatentensoren die gleiche Form haben und der Ausgabetensor hat die gleiche Form wie der erste Eingabetensor.
Der Parameter DLLayerInputs bestimmt die zuführenden Eingabelayer.
Dieser Layer erwartet mehrere Layer als Eingabe. Für Operation =
'division' werden genau zwei Eingabelayer erwartet.
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 Operation bestimmt die angewandte Operation.
Abhängig von Operation unterstützt der Layer implizites
Broadcasting. D. h., wenn eine der Formdimensionen
(Batchgröße, Tiefe, Höhe, Breite)
des zweiten oder eines der folgenden Eingabetensors gleich 1 ist,
werden die Werte implizit entlang dieser Dimension vervielfacht, um sie an
die Form der ersten Eingabe anzupassen.
Die unterstützten Werte sind:
'division': Elementweise Division. Broadcasting wird vollständig unterstützt.
'maximum': Elementweises Maximum. Broadcasting wird vollständig unterstützt.
'minimum': Elementweises Minimum. Broadcasting wird vollständig unterstützt.
'product': Elementweises Produkt. Broadcasting wird unterstützt, aber alle Eingaben, die der zweiten Eingabe folgen müssen die gleiche Form haben wie die zweite Eingabe.
'sum': Elementweise Summierung. Broadcasting wird nicht unterstützt.
Der optionale Parameter Coefficients bestimmt einen
Gewichtungskoeffizienten für jeden Eingabetensor.
Die Anzahl der Werte in Coefficients muss der Anzahl der
zuführenden Layer in DLLayerInputs entsprechen.
Wird Coefficients auf [] gesetzt, dann wird
kein Koeffizient bei der elementweisen Operation verwendet.
Restriktion: Es können keine Koeffizienten gesetzt werden für
Operation = 'product'.
Beispiel: für Operation = 'sum',
ist das -te Element des Ausgabetensors gegeben durch
wobei die Anzahl an Eingabetensoren ist.
Die folgenden generischen Parameter GenParamName und die
entsprechenden Werte GenParamValue werden unterstützt:
Kleiner skalarer Wert, der elementweise zum Nenner addiert wird um eine
Division durch Null zu vermeiden (für Operation =
'division').
Default: 1e-10
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_elementwise
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
|
|---|---|---|
'coefficients' (Coefficients) |
x
|
|
'input_layer' (DLLayerInputs) |
x
|
|
'name' (LayerName) |
x |
x
|
'operation' (Operation) |
x
|
|
'output_layer' (DLLayerElementWise) |
x
|
|
| 'shape' | x
|
|
| 'type' | x
|
| Generische Layer-Parameter | set |
get
|
|---|---|---|
| 'div_eps' | x |
x
|
| 'is_inference_output' | x |
x
|
| 'num_trainable_params' | x
|
DLLayerInputs (input_control) dl_layer(-array) → (handle)
Zuführende Eingabelayer.
LayerName (input_control) string → (string)
Name des Ausgabelayers.
Operation (input_control) string → (string)
Elementweise Operation.
Default: 'sum'
Werteliste: 'division', 'maximum', 'minimum', 'product', 'sum'
Coefficients (input_control) number(-array) → (real)
Optionale Koeffizienten der Eingabetensoren.
Default: []
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'
DLLayerElementWise (output_control) dl_layer → (handle)
Elementwise-Layer.
Deep Learning Training