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 — Create a MatMul layer.
Signature
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
(
Windows only)
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 )
Description
The operator create_dl_layer_matmul create_dl_layer_matmul CreateDlLayerMatmul CreateDlLayerMatmul create_dl_layer_matmul creates a MatMul layer
whose handle is returned in DLLayerMatMul DLLayerMatMul DLLayerMatMul DLLayerMatMul dllayer_mat_mul .
A MatMul layer multiplies the 2D matrices, given in the latter two
dimensions (H, W) of input DLLayerA DLLayerA DLLayerA DLLayerA dllayer_a , with the corresponding
2D matrices of input DLLayerB DLLayerB DLLayerB DLLayerB dllayer_b , also given in the latter two
dimensions (H, W).
The output in DLLayerMatMul DLLayerMatMul DLLayerMatMul DLLayerMatMul dllayer_mat_mul is hence given by
.
The MatMul layer supports broadcasting for the first input DLLayerA DLLayerA DLLayerA DLLayerA dllayer_a .
That means, if the batch size or the number of channels in DLLayerA DLLayerA DLLayerA DLLayerA dllayer_a
equals one then the first batch item or channel of DLLayerA DLLayerA DLLayerA DLLayerA dllayer_a is
multiplied with all batch items or channels of DLLayerB DLLayerB DLLayerB DLLayerB dllayer_b ,
respectively.
To make the multiplication work, the width of DLLayerA DLLayerA DLLayerA DLLayerA dllayer_a must be equal
to the height of DLLayerB DLLayerB DLLayerB DLLayerB dllayer_b .
The following generic parameters GenParamName GenParamName GenParamName genParamName gen_param_name and the corresponding
values GenParamValue GenParamValue GenParamValue genParamValue gen_param_value are supported:
'is_inference_output' "is_inference_output" "is_inference_output" "is_inference_output" "is_inference_output" :
Determines whether apply_dl_model apply_dl_model ApplyDlModel ApplyDlModel apply_dl_model will include the output of this
layer in the dictionary DLResultBatch DLResultBatch DLResultBatch DLResultBatch dlresult_batch even without specifying this
layer in Outputs Outputs Outputs outputs outputs ('true' "true" "true" "true" "true" ) or not ('false' "false" "false" "false" "false" ).
Default: 'false' "false" "false" "false" "false"
'num_trainable_params' "num_trainable_params" "num_trainable_params" "num_trainable_params" "num_trainable_params" :
Number of trainable parameters (weights and biases) of the layer.
'transpose_a' "transpose_a" "transpose_a" "transpose_a" "transpose_a" :
Matrices of input DLLayerA DLLayerA DLLayerA DLLayerA dllayer_a are transposed:
.
Default: 'false' "false" "false" "false" "false"
'transpose_b' "transpose_b" "transpose_b" "transpose_b" "transpose_b" :
Matrices of input DLLayerB DLLayerB DLLayerB DLLayerB dllayer_b are transposed:
.
Default: 'false' "false" "false" "false" "false"
Certain parameters of layers created using this operator
create_dl_layer_matmul create_dl_layer_matmul CreateDlLayerMatmul CreateDlLayerMatmul create_dl_layer_matmul can be set and retrieved using
further operators.
The following tables give an overview, which parameters can be set
using set_dl_model_layer_param set_dl_model_layer_param SetDlModelLayerParam SetDlModelLayerParam set_dl_model_layer_param and which ones can be retrieved
using get_dl_model_layer_param get_dl_model_layer_param GetDlModelLayerParam GetDlModelLayerParam get_dl_model_layer_param or get_dl_layer_param get_dl_layer_param GetDlLayerParam GetDlLayerParam get_dl_layer_param .
Note, the operators set_dl_model_layer_param set_dl_model_layer_param SetDlModelLayerParam SetDlModelLayerParam set_dl_model_layer_param and
get_dl_model_layer_param get_dl_model_layer_param GetDlModelLayerParam GetDlModelLayerParam get_dl_model_layer_param require a model created by
create_dl_model create_dl_model CreateDlModel CreateDlModel create_dl_model .
Generic Layer Parameters
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
Execution Information
Multithreading type: reentrant (runs in parallel with non-exclusive operators).
Multithreading scope: global (may be called from any thread).
Processed without parallelization.
Parameters
DLLayerA DLLayerA DLLayerA DLLayerA dllayer_a (input_control) dl_layer → HDlLayer , HTuple HHandle HTuple Htuple (handle) (IntPtr ) (HHandle ) (handle )
Input layer A.
DLLayerB DLLayerB DLLayerB DLLayerB dllayer_b (input_control) dl_layer → HDlLayer , HTuple HHandle HTuple Htuple (handle) (IntPtr ) (HHandle ) (handle )
Input layer B.
LayerName LayerName LayerName layerName layer_name (input_control) string → HTuple str HTuple Htuple (string) (string ) (HString ) (char* )
Name of the output layer.
GenParamName GenParamName GenParamName genParamName gen_param_name (input_control) attribute.name(-array) → HTuple MaybeSequence[str] HTuple Htuple (string) (string ) (HString ) (char* )
Generic input parameter names.
Default:
[]
List of values:
'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)
Generic input parameter values.
Default:
[]
Suggested values:
'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.
Module
Deep Learning Training