create_dl_layer_softmax — Erstellen eines Softmax-Layers.
create_dl_layer_softmax( : : DLLayerInput, LayerName, GenParamName, GenParamValue : DLLayerSoftMax)
Der Operator create_dl_layer_softmax erzeugt einen Softmax-Layer, dessen
Handle in DLLayerSoftMax 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 Softmax-Layer wendet die Softmax-Funktion an, die für jede Eingabe wie folgt definiert ist: wobei die Anzahl der Eingaben ist. Beim Training wird das Ergebnis der Softmax-Funktion durch eine Logarithmusfunktion transformiert, so dass die Werte als Eingabe für z.B. einen Cross-Entropy-Loss-Layer geeignet sind. Dieses Verhalten lässt sich durch Setzen des generischen Parameters 'output_mode' anpassen, siehe unten.
Die folgenden generischen Parameter GenParamName und die
entsprechenden Werte GenParamValue werden unterstützt:
Dieser Parameter bestimmt, ob und in welchem Fall die Ausgabe durch eine Logarithmusfunktion transformiert wird:
'default': Während der Inferenz wird das Ergebnis der Softmax-Funktion als Ausgabe zurückgegeben. Während des Trainings wird das Ergebnis der Softmax-Funktion zusätzlich durch eine Logarithmusfunktion transformiert.
'no_log_training': Das Ergebnis der Softmax-Funktion wird während des Trainings nicht durch eine Logarithmusfunktion transformiert.
'log_inference': Das Ergebnis der Softmax-Funktion wird während der Inferenz auf die gleiche Weise wie beim Training durch eine Logarithmusfunktion transformiert.
Default: 'default'.
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_softmax
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) |
x
|
|
'name' (LayerName) |
x |
x
|
'output_layer' (DLLayerSoftMax) |
x
|
|
| 'shape' | x
|
|
| 'type' | x
|
| Generische Layer-Parameter | set |
get
|
|---|---|---|
| 'is_inference_output' | x |
x
|
| 'num_trainable_params' | x
|
|
| 'output_mode' | x
|
DLLayerInput (input_control) dl_layer → (handle)
Zuführender Layer.
LayerName (input_control) string → (string)
Name des Ausgabelayers.
GenParamName (input_control) attribute.name(-array) → (string)
Namen der generischen Eingabeparameter.
Default: []
Werteliste: 'is_inference_output', 'output_mode'
GenParamValue (input_control) attribute.value(-array) → (string / integer / real)
Werte der generischen Eingabeparameter.
Default: []
Wertevorschläge: 'default', 'no_log_training', 'log_inference', 'true', 'false'
DLLayerSoftMax (output_control) dl_layer → (handle)
Softmax-Layer.
Deep Learning Training