create_dl_layer_concatT_create_dl_layer_concatCreateDlLayerConcatCreateDlLayerConcatcreate_dl_layer_concat创建深度学习层连接(算子)
名称
create_dl_layer_concatT_create_dl_layer_concatCreateDlLayerConcatCreateDlLayerConcatcreate_dl_layer_concat — 创建连接层。
签名
void CreateDlLayerConcat(const HTuple& DLLayerInputs, const HTuple& LayerName, const HTuple& Axis, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* DLLayerConcat)
static HDlLayer HDlLayer::CreateDlLayerConcat(const HDlLayerArray& DLLayerInputs, const HString& LayerName, const HString& Axis, const HTuple& GenParamName, const HTuple& GenParamValue)
HDlLayer HDlLayer::CreateDlLayerConcat(const HString& LayerName, const HString& Axis, const HString& GenParamName, const HString& GenParamValue) const
HDlLayer HDlLayer::CreateDlLayerConcat(const char* LayerName, const char* Axis, const char* GenParamName, const char* GenParamValue) const
HDlLayer HDlLayer::CreateDlLayerConcat(const wchar_t* LayerName, const wchar_t* Axis, const wchar_t* GenParamName, const wchar_t* GenParamValue) const
(
Windows only)
static void HOperatorSet.CreateDlLayerConcat(HTuple DLLayerInputs, HTuple layerName, HTuple axis, HTuple genParamName, HTuple genParamValue, out HTuple DLLayerConcat)
static HDlLayer HDlLayer.CreateDlLayerConcat(HDlLayer[] DLLayerInputs, string layerName, string axis, HTuple genParamName, HTuple genParamValue)
HDlLayer HDlLayer.CreateDlLayerConcat(string layerName, string axis, string genParamName, string genParamValue)
描述
算子 create_dl_layer_concatcreate_dl_layer_concatCreateDlLayerConcatCreateDlLayerConcatCreateDlLayerConcatcreate_dl_layer_concat 创建一个连接层,其句柄通过 DLLayerConcatDLLayerConcatDLLayerConcatDLLayerConcatDLLayerConcatdllayer_concat 返回。
参数 DLLayerInputsDLLayerInputsDLLayerInputsDLLayerInputsDLLayerInputsdllayer_inputs 决定输入层的数量。该层期望接收多个层作为输入。
参数 LayerNameLayerNameLayerNameLayerNamelayerNamelayer_name 用于设置单个层的名称。请注意,若使用 create_dl_modelcreate_dl_modelCreateDlModelCreateDlModelCreateDlModelcreate_dl_model 创建模型,则创建网络中的每个层必须具有唯一名称。
连接层将 DLLayerInputsDLLayerInputsDLLayerInputsDLLayerInputsDLLayerInputsdllayer_inputs 中输入层的数据张量进行连接,并返回单个数据张量
DLLayerConcatDLLayerConcatDLLayerConcatDLLayerConcatDLLayerConcatdllayer_concat。参数 AxisAxisAxisAxisaxisaxis 指定输入应沿哪个维度进行连接。AxisAxisAxisAxisaxisaxis 支持的选项包括:
- 'batch'"batch""batch""batch""batch""batch":
-
沿 batch 维度进行连接。
示例: 若将两个输入 A 和 B 连接,其形状为 (h, w, d, b) = (1, 1, 1, 2),其中 A = [A0,
A1] 和 B = [B0, B1],则可获得输出 [A0, A1, B0, B1],其形状为 (1, 1, 1, 4)。
- 'batch_interleaved'"batch_interleaved""batch_interleaved""batch_interleaved""batch_interleaved""batch_interleaved":
-
沿 depth 维度进行连接,但输出将重塑为沿 batch 维度拼接的效果。该维度要求所有输入必须具有完全相同的形状。
需注意当输入 batch_size 为 1 时,'batch'"batch""batch""batch""batch""batch" 和
'batch_interleaved'"batch_interleaved""batch_interleaved""batch_interleaved""batch_interleaved""batch_interleaved" 的连接效果完全一致。
示例: 若将两个输入 A 和
B 连接,其形状为 (h, w, d, b) = (1, 1, 1, 2),其中 A = [A0,
A1] 和 B = [B0, B1],则可获得输出 [A0, B0, A1, B1],其形状为 (1, 1, 1, 4)。
- 'depth'"depth""depth""depth""depth""depth":
-
沿 depth 维度进行连接。
示例: 若将两个输入 A 和
B 连接,其形状为 (h, w, d, b) = (1, 1, 1, 2),其中 A = [A0,
A1] 和 B = [B0, B1],则可获得输出 [A0, A1, B0, B1],其形状为 (1, 1, 2, 2)。
- 'height'"height""height""height""height""height":
沿 height 维度进行连接。
- 'width'"width""width""width""width""width":
沿 width 维度进行连接。
注意:所有输入数据张量中,未参与连接的维度必须完全一致。
以下泛型参数 GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_name 及其对应值 GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value 受支持:
- 'is_inference_output'"is_inference_output""is_inference_output""is_inference_output""is_inference_output""is_inference_output":
-
确定 apply_dl_modelapply_dl_modelApplyDlModelApplyDlModelApplyDlModelapply_dl_model 是否将此层的输出包含在字典 DLResultBatchDLResultBatchDLResultBatchDLResultBatchDLResultBatchdlresult_batch 中,即使未在 OutputsOutputsOutputsOutputsoutputsoutputs 中指定此层('true'"true""true""true""true""true")或不包含('false'"false""false""false""false""false")。
默认值: 'false'"false""false""false""false""false"
使用
create_dl_layer_concatcreate_dl_layer_concatCreateDlLayerConcatCreateDlLayerConcatCreateDlLayerConcatcreate_dl_layer_concat 算子创建的层,其特定参数可通过其他算子进行设置与检索。下表概述了可通过 set_dl_model_layer_paramset_dl_model_layer_paramSetDlModelLayerParamSetDlModelLayerParamSetDlModelLayerParamset_dl_model_layer_param 设置的参数,以及可通过 get_dl_model_layer_paramget_dl_model_layer_paramGetDlModelLayerParamGetDlModelLayerParamGetDlModelLayerParamget_dl_model_layer_param 或 get_dl_layer_paramget_dl_layer_paramGetDlLayerParamGetDlLayerParamGetDlLayerParamget_dl_layer_param 检索的参数。请注意,算子 set_dl_model_layer_paramset_dl_model_layer_paramSetDlModelLayerParamSetDlModelLayerParamSetDlModelLayerParamset_dl_model_layer_param 和 get_dl_model_layer_paramget_dl_model_layer_paramGetDlModelLayerParamGetDlModelLayerParamGetDlModelLayerParamget_dl_model_layer_param
需基于 create_dl_modelcreate_dl_modelCreateDlModelCreateDlModelCreateDlModelcreate_dl_model 创建的模型。
|
泛型层参数 |
设置 |
获取 |
|
'is_inference_output'"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""num_trainable_params" |
|
|
执行信息
- 多线程类型:可重入(与非独占算子并行运行)。
- 多线程作用域:全局(可从任何线程调用)。
- 未采用并行化处理。
参数
DLLayerInputsDLLayerInputsDLLayerInputsDLLayerInputsDLLayerInputsdllayer_inputs (输入控制) dl_layer(-array) → HDlLayer, HTupleMaybeSequence[HHandle]HTupleHtuple (handle) (IntPtr) (HHandle) (handle)
输入层的数量。
LayerNameLayerNameLayerNameLayerNamelayerNamelayer_name (输入控制) string → HTuplestrHTupleHtuple (string) (string) (HString) (char*)
输出层的名称。
AxisAxisAxisAxisaxisaxis (输入控制) string → HTuplestrHTupleHtuple (string) (string) (HString) (char*)
沿此维度将输入层进行连接。
默认值:
'depth'
"depth"
"depth"
"depth"
"depth"
"depth"
值列表:
'batch'"batch""batch""batch""batch""batch", 'batch_interleaved'"batch_interleaved""batch_interleaved""batch_interleaved""batch_interleaved""batch_interleaved", 'depth'"depth""depth""depth""depth""depth", 'height'"height""height""height""height""height", 'width'"width""width""width""width""width"
GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_name (输入控制) attribute.name(-array) → HTupleMaybeSequence[str]HTupleHtuple (string) (string) (HString) (char*)
泛型输入参数名称。
默认值:
[]
值列表:
'is_inference_output'"is_inference_output""is_inference_output""is_inference_output""is_inference_output""is_inference_output"
GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value (输入控制) attribute.value(-array) → HTupleMaybeSequence[Union[int, float, str]]HTupleHtuple (string / integer / real) (string / int / long / double) (HString / Hlong / double) (char* / Hlong / double)
泛型输入参数值。
默认值:
[]
建议值:
'true'"true""true""true""true""true", 'false'"false""false""false""false""false"
DLLayerConcatDLLayerConcatDLLayerConcatDLLayerConcatDLLayerConcatdllayer_concat (输出控制) dl_layer → HDlLayer, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
连接层。
模块
深度学习训练