create_dl_layer_matmul T_create_dl_layer_matmul CreateDlLayerMatmul CreateDlLayerMatmul create_dl_layer_matmul (Operator)
Name
create_dl_layer_matmul T_create_dl_layer_matmul CreateDlLayerMatmul CreateDlLayerMatmul create_dl_layer_matmul — Erstellen eines MatMul-Layers.
Signatur
void CreateDlLayerMatmul (const HTuple& DLLayerA , const HTuple& DLLayerB , const HTuple& LayerName , const HTuple& GenParamName , const HTuple& GenParamValue , HTuple* DLLayerMatMul )
HDlLayer HDlLayer ::CreateDlLayerMatmul (const HDlLayer& DLLayerB , const HString& LayerName , const HTuple& GenParamName , const HTuple& GenParamValue ) const
HDlLayer HDlLayer ::CreateDlLayerMatmul (const HDlLayer& DLLayerB , const HString& LayerName , const HString& GenParamName , const HString& GenParamValue ) const
HDlLayer HDlLayer ::CreateDlLayerMatmul (const HDlLayer& DLLayerB , const char* LayerName , const char* GenParamName , const char* GenParamValue ) const
HDlLayer HDlLayer ::CreateDlLayerMatmul (const HDlLayer& DLLayerB , const wchar_t* LayerName , const wchar_t* GenParamName , const wchar_t* GenParamValue ) const
(
Nur Windows)
static void HOperatorSet .CreateDlLayerMatmul (HTuple DLLayerA , HTuple DLLayerB , HTuple layerName , HTuple genParamName , HTuple genParamValue , out HTuple DLLayerMatMul )
HDlLayer HDlLayer .CreateDlLayerMatmul (HDlLayer DLLayerB , string layerName , HTuple genParamName , HTuple genParamValue )
HDlLayer HDlLayer .CreateDlLayerMatmul (HDlLayer DLLayerB , string layerName , string genParamName , string genParamValue )
Beschreibung
Der Operator create_dl_layer_matmul create_dl_layer_matmul CreateDlLayerMatmul CreateDlLayerMatmul create_dl_layer_matmul erstellt einen
Matrix Multiplication-Layer dessen Handle in DLLayerMatMul DLLayerMatMul DLLayerMatMul DLLayerMatMul dllayer_mat_mul
zurückgegeben wird.
Ein MatMul-Layer multipliziert die 2D Matrizen, die in den beiden letzten
Dimensionen (H, W) der Eingabe DLLayerA DLLayerA DLLayerA DLLayerA dllayer_a gespeichert sind, mit den
jeweiligen 2D Matrizen der Eingabe DLLayerB DLLayerB DLLayerB DLLayerB dllayer_b , ebenfalls gegeben
durch die beiden letzten Dimensionen (H, W).
Die Ausgabe in DLLayerMatMul DLLayerMatMul DLLayerMatMul DLLayerMatMul dllayer_mat_mul ist somit gegeben durch
.
Der MatMul-Layer unterstützt für die erste Eingabe DLLayerA DLLayerA DLLayerA DLLayerA dllayer_a
broadcasting für die Batch- und die Depth-Dimensionen. D.h., falls die
Batch Size oder die Anzahl der Channels in DLLayerA DLLayerA DLLayerA DLLayerA dllayer_a eins ist,
dann wird jeweils das gleiche Batch Item oder der gleiche Channel aus
DLLayerA DLLayerA DLLayerA DLLayerA dllayer_a mit den Batch Items oder Channels von DLLayerB DLLayerB DLLayerB DLLayerB dllayer_b
multipliziert.
Damit die Multiplikation durchgeführt werden kann muss die Breite von
DLLayerA DLLayerA DLLayerA DLLayerA dllayer_a gleich der Höhe von DLLayerB DLLayerB DLLayerB DLLayerB dllayer_b sein.
Die folgenden generischen Parameter GenParamName GenParamName GenParamName genParamName gen_param_name und die
entsprechenden Werte GenParamValue GenParamValue GenParamValue genParamValue gen_param_value werden unterstützt:
'is_inference_output' "is_inference_output" "is_inference_output" "is_inference_output" "is_inference_output" :
Bestimmt, ob apply_dl_model apply_dl_model ApplyDlModel ApplyDlModel apply_dl_model die Ausgabe dieses Layers im
Dictionary DLResultBatch DLResultBatch DLResultBatch DLResultBatch dlresult_batch zurückgibt, auch ohne den
Layer in Outputs Outputs Outputs outputs outputs anzugeben ('true' "true" "true" "true" "true" ), oder
nur falls er angegeben wird ('false' "false" "false" "false" "false" ).
Default: 'false' "false" "false" "false" "false"
'transpose_a' "transpose_a" "transpose_a" "transpose_a" "transpose_a" :
Die Matrizen der Eingabe DLLayerA DLLayerA DLLayerA DLLayerA dllayer_a werden transponiert:
.
Default: 'false' "false" "false" "false" "false"
'transpose_b' "transpose_b" "transpose_b" "transpose_b" "transpose_b" :
Die Matrizen der Eingabe DLLayerB DLLayerB DLLayerB DLLayerB dllayer_b werden transponiert:
.
Default: 'false' "false" "false" "false" "false"
Bestimmte Parameter von Layern, die mit create_dl_layer_matmul create_dl_layer_matmul CreateDlLayerMatmul CreateDlLayerMatmul create_dl_layer_matmul
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 set_dl_model_layer_param SetDlModelLayerParam SetDlModelLayerParam set_dl_model_layer_param gesetzt werden können und welche mit
get_dl_model_layer_param get_dl_model_layer_param GetDlModelLayerParam GetDlModelLayerParam get_dl_model_layer_param oder get_dl_layer_param get_dl_layer_param GetDlLayerParam GetDlLayerParam get_dl_layer_param ausgelesen
werden können. Es ist zu beachten, dass die Operatoren
set_dl_model_layer_param set_dl_model_layer_param SetDlModelLayerParam SetDlModelLayerParam set_dl_model_layer_param und get_dl_model_layer_param get_dl_model_layer_param GetDlModelLayerParam GetDlModelLayerParam get_dl_model_layer_param ein
Modell benötigen, das mit create_dl_model create_dl_model CreateDlModel CreateDlModel create_dl_model erzeugt wurde.
Generische Layer-Parameter
set
get
'is_inference_output' "is_inference_output" "is_inference_output" "is_inference_output" "is_inference_output"
x
x
'num_trainable_params' "num_trainable_params" "num_trainable_params" "num_trainable_params" "num_trainable_params"
x
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
DLLayerA DLLayerA DLLayerA DLLayerA dllayer_a (input_control) dl_layer → HDlLayer , HTuple HHandle HTuple Htuple (handle) (IntPtr ) (HHandle ) (handle )
Eingabelayer A.
DLLayerB DLLayerB DLLayerB DLLayerB dllayer_b (input_control) dl_layer → HDlLayer , HTuple HHandle HTuple Htuple (handle) (IntPtr ) (HHandle ) (handle )
Eingabelayer B.
LayerName LayerName LayerName layerName layer_name (input_control) string → HTuple str HTuple Htuple (string) (string ) (HString ) (char* )
Name des Ausgabelayers.
GenParamName GenParamName GenParamName genParamName gen_param_name (input_control) attribute.name(-array) → HTuple MaybeSequence[str] HTuple Htuple (string) (string ) (HString ) (char* )
Namen der generischen Eingabeparameter.
Default:
[]
Werteliste:
'is_inference_output' "is_inference_output" "is_inference_output" "is_inference_output" "is_inference_output" , 'num_trainable_params' "num_trainable_params" "num_trainable_params" "num_trainable_params" "num_trainable_params" , 'transpose_a' "transpose_a" "transpose_a" "transpose_a" "transpose_a" , 'transpose_b' "transpose_b" "transpose_b" "transpose_b" "transpose_b"
GenParamValue GenParamValue GenParamValue genParamValue gen_param_value (input_control) attribute.value(-array) → HTuple MaybeSequence[Union[int, float, str]] HTuple Htuple (string / integer / real) (string / int / long / double) (HString / Hlong / double) (char* / Hlong / double)
Werte der generischen Eingabeparameter.
Default:
[]
Wertevorschläge:
'true' "true" "true" "true" "true" , 'false' "false" "false" "false" "false"
DLLayerMatMul DLLayerMatMul DLLayerMatMul DLLayerMatMul dllayer_mat_mul (output_control) dl_layer → HDlLayer , HTuple HHandle HTuple Htuple (handle) (IntPtr ) (HHandle ) (handle )
MatMul-Layer.
Modul
Deep Learning Training