get_dl_model_layer_weights T_get_dl_model_layer_weights GetDlModelLayerWeights GetDlModelLayerWeights get_dl_model_layer_weights (Operator)
Name
get_dl_model_layer_weights T_get_dl_model_layer_weights GetDlModelLayerWeights GetDlModelLayerWeights get_dl_model_layer_weights — Auslesen der Gewichte (oder Werte) eines Deep Learning-Modell-Layers.
Signatur
Beschreibung
Der Operator get_dl_model_layer_weights get_dl_model_layer_weights GetDlModelLayerWeights GetDlModelLayerWeights GetDlModelLayerWeights get_dl_model_layer_weights gibt in Weights Weights Weights Weights weights weights
die Werte eines Layers LayerName LayerName LayerName LayerName layerName layer_name des Modells DLModelHandle DLModelHandle DLModelHandle DLModelHandle DLModelHandle dlmodel_handle
zurück.
Der Parameter WeightsType WeightsType WeightsType WeightsType weightsType weights_type bestimmt, welcher Typ von Layerwerten
ausgelesen werden.
Folgende Werte werden für WeightsType WeightsType WeightsType WeightsType weightsType weights_type unterstützt:
'batchnorm_mean' "batchnorm_mean" "batchnorm_mean" "batchnorm_mean" "batchnorm_mean" "batchnorm_mean" : Pro Batch berechnete Mittelwerte zur
Normalisierung der Eingaben. Für weitere Informationen, siehe
create_dl_layer_batch_normalization create_dl_layer_batch_normalization CreateDlLayerBatchNormalization CreateDlLayerBatchNormalization CreateDlLayerBatchNormalization create_dl_layer_batch_normalization .
Restriktion: Dieser Wert wird nur unterstützt, wenn der Layer vom
Typ 'batchnorm' "batchnorm" "batchnorm" "batchnorm" "batchnorm" "batchnorm" ist.
'batchnorm_mean_avg' "batchnorm_mean_avg" "batchnorm_mean_avg" "batchnorm_mean_avg" "batchnorm_mean_avg" "batchnorm_mean_avg" : Durchschnitt der pro Batch berechneten
Mittelwerte zur Normalisierung der Eingaben. Für weitere Informationen, siehe
create_dl_layer_batch_normalization create_dl_layer_batch_normalization CreateDlLayerBatchNormalization CreateDlLayerBatchNormalization CreateDlLayerBatchNormalization create_dl_layer_batch_normalization .
Restriktion: Dieser Wert wird nur unterstützt, wenn der Layer vom
Typ 'batchnorm' "batchnorm" "batchnorm" "batchnorm" "batchnorm" "batchnorm" ist.
'batchnorm_variance' "batchnorm_variance" "batchnorm_variance" "batchnorm_variance" "batchnorm_variance" "batchnorm_variance" : Pro Batch berechnete Varianz zur
Normalisierung der Eingaben. Für weitere Informationen, siehe
create_dl_layer_batch_normalization create_dl_layer_batch_normalization CreateDlLayerBatchNormalization CreateDlLayerBatchNormalization CreateDlLayerBatchNormalization create_dl_layer_batch_normalization .
Restriktion: Dieser Wert wird nur unterstützt, wenn der Layer vom
Typ 'batchnorm' "batchnorm" "batchnorm" "batchnorm" "batchnorm" "batchnorm" ist.
'batchnorm_variance_avg' "batchnorm_variance_avg" "batchnorm_variance_avg" "batchnorm_variance_avg" "batchnorm_variance_avg" "batchnorm_variance_avg" : Durchschnitt der pro Batch
berechneten Varianzwerte zur Normalisierung der Eingaben.
Für weitere Informationen, siehe
create_dl_layer_batch_normalization create_dl_layer_batch_normalization CreateDlLayerBatchNormalization CreateDlLayerBatchNormalization CreateDlLayerBatchNormalization create_dl_layer_batch_normalization .
Restriktion: Dieser Wert wird nur unterstützt, wenn der Layer vom
Typ 'batchnorm' "batchnorm" "batchnorm" "batchnorm" "batchnorm" "batchnorm" ist.
'bias' "bias" "bias" "bias" "bias" "bias" : Bias-Werte des Layers.
'bias_gradient' "bias_gradient" "bias_gradient" "bias_gradient" "bias_gradient" "bias_gradient" : Gradienten der Bias-Werte des Layers.
'bias_gradient_norm_l2' "bias_gradient_norm_l2" "bias_gradient_norm_l2" "bias_gradient_norm_l2" "bias_gradient_norm_l2" "bias_gradient_norm_l2" : Gradienten der Bias-Werte des Layers
nach der L2-Norm.
'bias_norm_l2' "bias_norm_l2" "bias_norm_l2" "bias_norm_l2" "bias_norm_l2" "bias_norm_l2" : Bias-Werte des Layers nach der L2-Norm.
'bias_update' "bias_update" "bias_update" "bias_update" "bias_update" "bias_update" : Aktualisierung der Bias-Werte des Layers.
Diese wird beispielsweise in einem Solver verwendet, der die letzte
Aktualisierung verwendet.
'bias_update_norm_l2' "bias_update_norm_l2" "bias_update_norm_l2" "bias_update_norm_l2" "bias_update_norm_l2" "bias_update_norm_l2" : Aktualisierung der Bias-Werte des
Layers nach der L2-Norm.
Diese wird beispielsweise in einem Solver verwendet, der die letzte
Aktualisierung verwendet.
'weights' "weights" "weights" "weights" "weights" "weights" : Gewichte des Layers.
'weights_gradient' "weights_gradient" "weights_gradient" "weights_gradient" "weights_gradient" "weights_gradient" : Gradienten der Gewichte des Layers.
'weights_gradient_norm_l2' "weights_gradient_norm_l2" "weights_gradient_norm_l2" "weights_gradient_norm_l2" "weights_gradient_norm_l2" "weights_gradient_norm_l2" : Gradienten der Gewichte des Layers
nach der L2-Norm.
'weights_norm_l2' "weights_norm_l2" "weights_norm_l2" "weights_norm_l2" "weights_norm_l2" "weights_norm_l2" : Gewichte des Layers nach der L2-Norm.
'weights_update' "weights_update" "weights_update" "weights_update" "weights_update" "weights_update" : Aktualisierung der Gewichte des Layers.
Diese wird beispielsweise in einem Solver verwendet, der die letzte
Aktualisierung verwendet.
'weights_update_norm_l2' "weights_update_norm_l2" "weights_update_norm_l2" "weights_update_norm_l2" "weights_update_norm_l2" "weights_update_norm_l2" : Aktualisierung der Gewichte des
Layers nach der L2-Norm.
Diese wird beispielsweise in einem Solver verwendet, der die letzte
Aktualisierung verwendet.
Die folgende Tabelle gibt einen Überblick, welche Parameter für
WeightsType WeightsType WeightsType WeightsType weightsType weights_type mit set_dl_model_layer_weights set_dl_model_layer_weights SetDlModelLayerWeights SetDlModelLayerWeights SetDlModelLayerWeights set_dl_model_layer_weights gesetzt werden
können und welche mit get_dl_model_layer_weights get_dl_model_layer_weights GetDlModelLayerWeights GetDlModelLayerWeights GetDlModelLayerWeights get_dl_model_layer_weights ausgelesen werden
können.
Layer-Parameter
set
get
'batchnorm_mean' "batchnorm_mean" "batchnorm_mean" "batchnorm_mean" "batchnorm_mean" "batchnorm_mean"
'batchnorm_mean_avg' "batchnorm_mean_avg" "batchnorm_mean_avg" "batchnorm_mean_avg" "batchnorm_mean_avg" "batchnorm_mean_avg"
'batchnorm_variance' "batchnorm_variance" "batchnorm_variance" "batchnorm_variance" "batchnorm_variance" "batchnorm_variance"
'batchnorm_variance_avg' "batchnorm_variance_avg" "batchnorm_variance_avg" "batchnorm_variance_avg" "batchnorm_variance_avg" "batchnorm_variance_avg"
'bias' "bias" "bias" "bias" "bias" "bias"
'bias_gradient' "bias_gradient" "bias_gradient" "bias_gradient" "bias_gradient" "bias_gradient"
'bias_gradient_norm_l2' "bias_gradient_norm_l2" "bias_gradient_norm_l2" "bias_gradient_norm_l2" "bias_gradient_norm_l2" "bias_gradient_norm_l2"
'bias_norm_l2' "bias_norm_l2" "bias_norm_l2" "bias_norm_l2" "bias_norm_l2" "bias_norm_l2"
'bias_update' "bias_update" "bias_update" "bias_update" "bias_update" "bias_update"
'bias_update_norm_l2' "bias_update_norm_l2" "bias_update_norm_l2" "bias_update_norm_l2" "bias_update_norm_l2" "bias_update_norm_l2"
'weights' "weights" "weights" "weights" "weights" "weights"
'weights_gradient' "weights_gradient" "weights_gradient" "weights_gradient" "weights_gradient" "weights_gradient"
'weights_gradient_norm_l2' "weights_gradient_norm_l2" "weights_gradient_norm_l2" "weights_gradient_norm_l2" "weights_gradient_norm_l2" "weights_gradient_norm_l2"
'weights_norm_l2' "weights_norm_l2" "weights_norm_l2" "weights_norm_l2" "weights_norm_l2" "weights_norm_l2"
'weights_update' "weights_update" "weights_update" "weights_update" "weights_update" "weights_update"
'weights_update_norm_l2' "weights_update_norm_l2" "weights_update_norm_l2" "weights_update_norm_l2" "weights_update_norm_l2" "weights_update_norm_l2"
Achtung
Der Operator get_dl_model_layer_weights get_dl_model_layer_weights GetDlModelLayerWeights GetDlModelLayerWeights GetDlModelLayerWeights get_dl_model_layer_weights ist nur auf eigens erstellte
Netzwerke anwendbar. Für Netzwerke die von HALCON mitgeliefert werden gibt
der Operator ein leeres Tupel zurück.
Ausführungsinformationen
Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
Wird ohne Parallelisierung verarbeitet.
Parameter
Weights Weights Weights Weights weights weights (output_object) image(-array) → object HImage HObject HImage Hobject * (real)
Ausgabegewichte.
DLModelHandle DLModelHandle DLModelHandle DLModelHandle DLModelHandle dlmodel_handle (input_control) dl_model → HDlModel , HTuple HHandle HTuple Htuple (handle) (IntPtr ) (HHandle ) (handle )
Handle des Deep Learning-Modells.
LayerName LayerName LayerName LayerName layerName layer_name (input_control) string → HTuple str HTuple Htuple (string) (string ) (HString ) (char* )
Name des abzufragenden Layers.
WeightsType WeightsType WeightsType WeightsType weightsType weights_type (input_control) string → HTuple str HTuple Htuple (string) (string ) (HString ) (char* )
Ausgewählter Typ von Layerwerten, die zurückgegeben
werden sollen.
Defaultwert:
'weights'
"weights"
"weights"
"weights"
"weights"
"weights"
Werteliste: 'batchnorm_mean' "batchnorm_mean" "batchnorm_mean" "batchnorm_mean" "batchnorm_mean" "batchnorm_mean" , 'batchnorm_mean_avg' "batchnorm_mean_avg" "batchnorm_mean_avg" "batchnorm_mean_avg" "batchnorm_mean_avg" "batchnorm_mean_avg" , 'batchnorm_variance' "batchnorm_variance" "batchnorm_variance" "batchnorm_variance" "batchnorm_variance" "batchnorm_variance" , 'batchnorm_variance_avg' "batchnorm_variance_avg" "batchnorm_variance_avg" "batchnorm_variance_avg" "batchnorm_variance_avg" "batchnorm_variance_avg" , 'bias' "bias" "bias" "bias" "bias" "bias" , 'bias_gradient' "bias_gradient" "bias_gradient" "bias_gradient" "bias_gradient" "bias_gradient" , 'bias_gradient_norm_l2' "bias_gradient_norm_l2" "bias_gradient_norm_l2" "bias_gradient_norm_l2" "bias_gradient_norm_l2" "bias_gradient_norm_l2" , 'bias_norm_l2' "bias_norm_l2" "bias_norm_l2" "bias_norm_l2" "bias_norm_l2" "bias_norm_l2" , 'bias_update' "bias_update" "bias_update" "bias_update" "bias_update" "bias_update" , 'bias_update_norm_l2' "bias_update_norm_l2" "bias_update_norm_l2" "bias_update_norm_l2" "bias_update_norm_l2" "bias_update_norm_l2" , 'weights' "weights" "weights" "weights" "weights" "weights" , 'weights_gradient' "weights_gradient" "weights_gradient" "weights_gradient" "weights_gradient" "weights_gradient" , 'weights_gradient_norm_l2' "weights_gradient_norm_l2" "weights_gradient_norm_l2" "weights_gradient_norm_l2" "weights_gradient_norm_l2" "weights_gradient_norm_l2" , 'weights_norm_l2' "weights_norm_l2" "weights_norm_l2" "weights_norm_l2" "weights_norm_l2" "weights_norm_l2" , 'weights_update' "weights_update" "weights_update" "weights_update" "weights_update" "weights_update" , 'weights_update_norm_l2' "weights_update_norm_l2" "weights_update_norm_l2" "weights_update_norm_l2" "weights_update_norm_l2" "weights_update_norm_l2"
Beispiel (HDevelop)
set_system ('seed_rand', 42)
* Create a small model network.
create_dl_layer_input ('input', [InputImageSize[0],InputImageSize[1],1], [],\
[], DLGraphNodeInput)
create_dl_layer_convolution (DLGraphNodeInput, 'conv', 3, 1, 1, 2, 1, 'none',\
'none', [], [], DLGraphNodeConvolution)
create_dl_layer_activation (DLGraphNodeConvolution, 'relu', 'relu', [], [],\
DLGraphNodeActivation)
create_dl_layer_dense (DLGraphNodeActivation, 'dense', 3, [], [],\
DLGraphNodeDense)
create_dl_layer_softmax (DLGraphNodeDense, 'softmax', [], [],\
DLGraphNodeSoftMax)
create_dl_model (DLGraphNodeSoftMax, DLModelHandle)
*
set_dl_model_param (DLModelHandle, 'type', 'classification')
set_dl_model_param (DLModelHandle, 'batch_size', 1)
set_dl_model_param (DLModelHandle, 'runtime', 'gpu')
set_dl_model_param (DLModelHandle, 'runtime_init', 'immediately')
*
* Train for 5 iterations.
for TrainIterations := 1 to NumTrainIterations by 1
train_dl_model_batch (DLModelHandle, DLSample, DLTrainResult)
endfor
*
* Get the gradients, weights, and activations.
get_dl_model_layer_gradients (GradientsSoftmax, DLModelHandle, 'softmax')
get_dl_model_layer_gradients (GradientsDense, DLModelHandle, 'dense')
get_dl_model_layer_gradients (GradientsConv, DLModelHandle, 'conv')
*
get_dl_model_layer_weights (WeightsDense, DLModelHandle, 'dense',\
'weights_gradient')
get_dl_model_layer_weights (WeightsConv, DLModelHandle, 'conv',\
'weights_gradient')
*
get_dl_model_layer_activations (ActivationsDense, DLModelHandle, 'dense')
get_dl_model_layer_activations (ActivationsConv, DLModelHandle, 'conv')
Vorgänger
create_dl_model create_dl_model CreateDlModel CreateDlModel CreateDlModel create_dl_model ,
train_dl_classifier_batch train_dl_classifier_batch TrainDlClassifierBatch TrainDlClassifierBatch TrainDlClassifierBatch train_dl_classifier_batch ,
set_dl_model_layer_weights set_dl_model_layer_weights SetDlModelLayerWeights SetDlModelLayerWeights SetDlModelLayerWeights set_dl_model_layer_weights
Nachfolger
set_dl_model_layer_weights set_dl_model_layer_weights SetDlModelLayerWeights SetDlModelLayerWeights SetDlModelLayerWeights set_dl_model_layer_weights
Alternativen
get_dl_model_layer_activations get_dl_model_layer_activations GetDlModelLayerActivations GetDlModelLayerActivations GetDlModelLayerActivations get_dl_model_layer_activations ,
get_dl_model_layer_gradients get_dl_model_layer_gradients GetDlModelLayerGradients GetDlModelLayerGradients GetDlModelLayerGradients get_dl_model_layer_gradients
Modul
Foundation. Dieser Operator verwendet dynamische Lizensierung (siehe ``Installation Guide''). Welches der folgenden Module benötigt wird hängt von der Anwendung des Operators ab: Deep Learning Training