get_dl_model_layer_weightsT_get_dl_model_layer_weightsGetDlModelLayerWeightsGetDlModelLayerWeightsget_dl_model_layer_weights (Operator)

Name

get_dl_model_layer_weightsT_get_dl_model_layer_weightsGetDlModelLayerWeightsGetDlModelLayerWeightsget_dl_model_layer_weights — Auslesen der Gewichte (oder Werte) eines Deep Learning-Modell-Layers.

Signatur

get_dl_model_layer_weights( : Weights : DLModelHandle, LayerName, WeightsType : )

Herror T_get_dl_model_layer_weights(Hobject* Weights, const Htuple DLModelHandle, const Htuple LayerName, const Htuple WeightsType)

void GetDlModelLayerWeights(HObject* Weights, const HTuple& DLModelHandle, const HTuple& LayerName, const HTuple& WeightsType)

HImage HDlModel::GetDlModelLayerWeights(const HString& LayerName, const HString& WeightsType) const

HImage HDlModel::GetDlModelLayerWeights(const char* LayerName, const char* WeightsType) const

HImage HDlModel::GetDlModelLayerWeights(const wchar_t* LayerName, const wchar_t* WeightsType) const   (Nur Windows)

static void HOperatorSet.GetDlModelLayerWeights(out HObject weights, HTuple DLModelHandle, HTuple layerName, HTuple weightsType)

HImage HDlModel.GetDlModelLayerWeights(string layerName, string weightsType)

def get_dl_model_layer_weights(dlmodel_handle: HHandle, layer_name: str, weights_type: str) -> HObject

Beschreibung

Der Operator get_dl_model_layer_weightsget_dl_model_layer_weightsGetDlModelLayerWeightsGetDlModelLayerWeightsGetDlModelLayerWeightsget_dl_model_layer_weights gibt in WeightsWeightsWeightsWeightsweightsweights die Werte eines Layers LayerNameLayerNameLayerNameLayerNamelayerNamelayer_name des Modells DLModelHandleDLModelHandleDLModelHandleDLModelHandleDLModelHandledlmodel_handle zurück.

Der Parameter WeightsTypeWeightsTypeWeightsTypeWeightsTypeweightsTypeweights_type bestimmt, welcher Typ von Layerwerten ausgelesen werden. Folgende Werte werden für WeightsTypeWeightsTypeWeightsTypeWeightsTypeweightsTypeweights_type unterstützt:

Die folgende Tabelle gibt einen Überblick, welche Parameter für WeightsTypeWeightsTypeWeightsTypeWeightsTypeweightsTypeweights_type mit set_dl_model_layer_weightsset_dl_model_layer_weightsSetDlModelLayerWeightsSetDlModelLayerWeightsSetDlModelLayerWeightsset_dl_model_layer_weights gesetzt werden können und welche mit get_dl_model_layer_weightsget_dl_model_layer_weightsGetDlModelLayerWeightsGetDlModelLayerWeightsGetDlModelLayerWeightsget_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_weightsget_dl_model_layer_weightsGetDlModelLayerWeightsGetDlModelLayerWeightsGetDlModelLayerWeightsget_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

Parameter

WeightsWeightsWeightsWeightsweightsweights (output_object)  image(-array) objectHImageHObjectHImageHobject * (real)

Ausgabegewichte.

DLModelHandleDLModelHandleDLModelHandleDLModelHandleDLModelHandledlmodel_handle (input_control)  dl_model HDlModel, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle des Deep Learning-Modells.

LayerNameLayerNameLayerNameLayerNamelayerNamelayer_name (input_control)  string HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Name des abzufragenden Layers.

WeightsTypeWeightsTypeWeightsTypeWeightsTypeweightsTypeweights_type (input_control)  string HTuplestrHTupleHtuple (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_modelcreate_dl_modelCreateDlModelCreateDlModelCreateDlModelcreate_dl_model, train_dl_classifier_batchtrain_dl_classifier_batchTrainDlClassifierBatchTrainDlClassifierBatchTrainDlClassifierBatchtrain_dl_classifier_batch, set_dl_model_layer_weightsset_dl_model_layer_weightsSetDlModelLayerWeightsSetDlModelLayerWeightsSetDlModelLayerWeightsset_dl_model_layer_weights

Nachfolger

set_dl_model_layer_weightsset_dl_model_layer_weightsSetDlModelLayerWeightsSetDlModelLayerWeightsSetDlModelLayerWeightsset_dl_model_layer_weights

Alternativen

get_dl_model_layer_activationsget_dl_model_layer_activationsGetDlModelLayerActivationsGetDlModelLayerActivationsGetDlModelLayerActivationsget_dl_model_layer_activations, get_dl_model_layer_gradientsget_dl_model_layer_gradientsGetDlModelLayerGradientsGetDlModelLayerGradientsGetDlModelLayerGradientsget_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