create_dl_layer_convolutionT_create_dl_layer_convolutionCreateDlLayerConvolutionCreateDlLayerConvolutioncreate_dl_layer_convolution (Operator)

Name

create_dl_layer_convolutionT_create_dl_layer_convolutionCreateDlLayerConvolutionCreateDlLayerConvolutioncreate_dl_layer_convolution — Erstellen eines Faltungs-Layers (Convolutional Layers).

Signatur

create_dl_layer_convolution( : : DLLayerInput, LayerName, KernelSize, Dilation, Stride, NumKernel, Groups, Padding, Activation, GenParamName, GenParamValue : DLLayerConvolution)

Herror T_create_dl_layer_convolution(const Htuple DLLayerInput, const Htuple LayerName, const Htuple KernelSize, const Htuple Dilation, const Htuple Stride, const Htuple NumKernel, const Htuple Groups, const Htuple Padding, const Htuple Activation, const Htuple GenParamName, const Htuple GenParamValue, Htuple* DLLayerConvolution)

void CreateDlLayerConvolution(const HTuple& DLLayerInput, const HTuple& LayerName, const HTuple& KernelSize, const HTuple& Dilation, const HTuple& Stride, const HTuple& NumKernel, const HTuple& Groups, const HTuple& Padding, const HTuple& Activation, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* DLLayerConvolution)

HDlLayer HDlLayer::CreateDlLayerConvolution(const HString& LayerName, const HTuple& KernelSize, const HTuple& Dilation, const HTuple& Stride, Hlong NumKernel, Hlong Groups, const HTuple& Padding, const HString& Activation, const HTuple& GenParamName, const HTuple& GenParamValue) const

HDlLayer HDlLayer::CreateDlLayerConvolution(const HString& LayerName, Hlong KernelSize, Hlong Dilation, Hlong Stride, Hlong NumKernel, Hlong Groups, const HString& Padding, const HString& Activation, const HString& GenParamName, const HString& GenParamValue) const

HDlLayer HDlLayer::CreateDlLayerConvolution(const char* LayerName, Hlong KernelSize, Hlong Dilation, Hlong Stride, Hlong NumKernel, Hlong Groups, const char* Padding, const char* Activation, const char* GenParamName, const char* GenParamValue) const

HDlLayer HDlLayer::CreateDlLayerConvolution(const wchar_t* LayerName, Hlong KernelSize, Hlong Dilation, Hlong Stride, Hlong NumKernel, Hlong Groups, const wchar_t* Padding, const wchar_t* Activation, const wchar_t* GenParamName, const wchar_t* GenParamValue) const   (Nur Windows)

static void HOperatorSet.CreateDlLayerConvolution(HTuple DLLayerInput, HTuple layerName, HTuple kernelSize, HTuple dilation, HTuple stride, HTuple numKernel, HTuple groups, HTuple padding, HTuple activation, HTuple genParamName, HTuple genParamValue, out HTuple DLLayerConvolution)

HDlLayer HDlLayer.CreateDlLayerConvolution(string layerName, HTuple kernelSize, HTuple dilation, HTuple stride, int numKernel, int groups, HTuple padding, string activation, HTuple genParamName, HTuple genParamValue)

HDlLayer HDlLayer.CreateDlLayerConvolution(string layerName, int kernelSize, int dilation, int stride, int numKernel, int groups, string padding, string activation, string genParamName, string genParamValue)

def create_dl_layer_convolution(dllayer_input: HHandle, layer_name: str, kernel_size: MaybeSequence[int], dilation: MaybeSequence[int], stride: MaybeSequence[int], num_kernel: int, groups: int, padding: MaybeSequence[Union[str, int]], activation: str, gen_param_name: MaybeSequence[str], gen_param_value: MaybeSequence[Union[int, float, str]]) -> HHandle

Beschreibung

Der Operator create_dl_layer_convolutioncreate_dl_layer_convolutionCreateDlLayerConvolutionCreateDlLayerConvolutionCreateDlLayerConvolutioncreate_dl_layer_convolution erzeugt einen Faltungs-Layer (Convolutional Layer) mit NumKernelNumKernelNumKernelNumKernelnumKernelnum_kernel Kernels in GroupsGroupsGroupsGroupsgroupsgroups Filtergruppen, dessen Handle in DLLayerConvolutionDLLayerConvolutionDLLayerConvolutionDLLayerConvolutionDLLayerConvolutiondllayer_convolution zurückgegeben wird.

Der Parameter DLLayerInputDLLayerInputDLLayerInputDLLayerInputDLLayerInputdllayer_input bestimmt den zuführenden Eingabelayer und erwartet das Layer-Handle als Wert.

Der Parameter LayerNameLayerNameLayerNameLayerNamelayerNamelayer_name legt einen individuellen Layernamen fest. Es ist zu beachten, dass beim Erstellen eines Modells mit create_dl_modelcreate_dl_modelCreateDlModelCreateDlModelCreateDlModelcreate_dl_model jeder Layer des erstellten Netzes einen eindeutigen Namen haben muss.

Der Parameter KernelSizeKernelSizeKernelSizeKernelSizekernelSizekernel_size spezifiziert den Filterkernel in den Dimensionen Breite und Höhe.

Der Parameter DilationDilationDilationDilationdilationdilation gibt die Dimensionen Breite und Höhe der Filterdilatation an.

Der Parameter StrideStrideStrideStridestridestride gibt an, wie der Filter verschoben wird.

Die Werte für KernelSizeKernelSizeKernelSizeKernelSizekernelSizekernel_size, DilationDilationDilationDilationdilationdilation und StrideStrideStrideStridestridestride können gesetzt werden als

Der Parameter GroupsGroupsGroupsGroupsgroupsgroups gibt die Anzahl der Filtergruppen an.

Der Parameter NumKernelNumKernelNumKernelNumKernelnumKernelnum_kernel gibt die Anzahl der Filterkernel an. NumKernelNumKernelNumKernelNumKernelnumKernelnum_kernel muss ein Vielfaches von GroupsGroupsGroupsGroupsgroupsgroups sein.

Der Parameter PaddingPaddingPaddingPaddingpaddingpadding bestimmt das Padding, also wie viele Pixel mit dem Wert 0 an den Rand des zu verarbeitenden Eingabebildes hinzugefügt werden. Unterstützte Werte sind:

Die Ausgabedimensionen des Faltungs-Layer sind gegeben durch Dabei werden folgende Werte verwendet: : Ausgabebreite/-höhe, : Eingabebreite/-höhe, : Anzahl der links/oben zum Eingabebild hinzugefügten Pixel und : Anzahl der rechts/unten zum Eingabebild hinzugefügten Pixel.

Der Parameter ActivationActivationActivationActivationactivationactivation bestimmt, ob eine Aktivierung nach der Faltung durchgeführt wird, um die Laufzeit zu optimieren. Die folgenden Werte werden unterstützt:

Wir verweisen auf „Solution Guide on Classification“ für weitere allgemeine Informationen über Faltungs-Layer und die unten folgende Referenz für detailliertere Informationen über die Arithmetik des Layers.

Die folgenden generischen Parameter GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_name und die entsprechenden Werte GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value werden unterstützt:

'bias_filler'"bias_filler""bias_filler""bias_filler""bias_filler""bias_filler":

Siehe 'weight_filler'"weight_filler""weight_filler""weight_filler""weight_filler""weight_filler" für eine Erklärung der Werte.

Werteliste: 'xavier'"xavier""xavier""xavier""xavier""xavier", 'msra'"msra""msra""msra""msra""msra", 'const'"const""const""const""const""const".

Default: 'const'"const""const""const""const""const"

'bias_filler_variance_norm'"bias_filler_variance_norm""bias_filler_variance_norm""bias_filler_variance_norm""bias_filler_variance_norm""bias_filler_variance_norm":

Siehe 'weight_filler_variance_norm'"weight_filler_variance_norm""weight_filler_variance_norm""weight_filler_variance_norm""weight_filler_variance_norm""weight_filler_variance_norm" für eine Erklärung der Werte.

Werteliste: 'norm_in'"norm_in""norm_in""norm_in""norm_in""norm_in", 'norm_out'"norm_out""norm_out""norm_out""norm_out""norm_out", 'norm_average'"norm_average""norm_average""norm_average""norm_average""norm_average".

Default: 'norm_out'"norm_out""norm_out""norm_out""norm_out""norm_out"

'bias_filler_const_val'"bias_filler_const_val""bias_filler_const_val""bias_filler_const_val""bias_filler_const_val""bias_filler_const_val":

Legt den Initialisierungswert der konstanten Bias-Terme fest, wenn 'bias_filler'"bias_filler""bias_filler""bias_filler""bias_filler""bias_filler" = 'const'"const""const""const""const""const".

Restriktion: Wird bei anderen Werten von 'bias_filler'"bias_filler""bias_filler""bias_filler""bias_filler""bias_filler" ignoriert.

Default: 0

'bias_term'"bias_term""bias_term""bias_term""bias_term""bias_term":

Bestimmt, ob der erzeugte Faltungs-Layer einen Bias-Term hat ('true'"true""true""true""true""true") oder nicht ('false'"false""false""false""false""false").

Default: 'true'"true""true""true""true""true"

'is_inference_output'"is_inference_output""is_inference_output""is_inference_output""is_inference_output""is_inference_output":

Bestimmt, ob apply_dl_modelapply_dl_modelApplyDlModelApplyDlModelApplyDlModelapply_dl_model die Ausgabe dieses Layers im Dictionary DLResultBatchDLResultBatchDLResultBatchDLResultBatchDLResultBatchdlresult_batch zurückgibt, auch ohne den Layer in OutputsOutputsOutputsOutputsoutputsoutputs anzugeben ('true'"true""true""true""true""true"), oder nur falls er angegeben wird ('false'"false""false""false""false""false").

Default: 'false'"false""false""false""false""false"

'learning_rate_multiplier'"learning_rate_multiplier""learning_rate_multiplier""learning_rate_multiplier""learning_rate_multiplier""learning_rate_multiplier":

Multiplikator für die Lernrate für diesen Layer, die beim Training verwendet wird. Wenn 'learning_rate_multiplier'"learning_rate_multiplier""learning_rate_multiplier""learning_rate_multiplier""learning_rate_multiplier""learning_rate_multiplier" auf 0.0 gesetzt ist, wird der Layer beim Training übersprungen.

Default: 1.0

'learning_rate_multiplier_bias'"learning_rate_multiplier_bias""learning_rate_multiplier_bias""learning_rate_multiplier_bias""learning_rate_multiplier_bias""learning_rate_multiplier_bias":

Multiplikator für die Lernrate des Bias-Terms. Die gesamte Bias-Lernrate ist das Produkt aus 'learning_rate_multiplier_bias'"learning_rate_multiplier_bias""learning_rate_multiplier_bias""learning_rate_multiplier_bias""learning_rate_multiplier_bias""learning_rate_multiplier_bias" und 'learning_rate_multiplier'"learning_rate_multiplier""learning_rate_multiplier""learning_rate_multiplier""learning_rate_multiplier""learning_rate_multiplier".

Default: 1.0

'upper_bound'"upper_bound""upper_bound""upper_bound""upper_bound""upper_bound":

Fließkommawert, der die obere Grenze für die ReLU definiert. Um die obere Grenze aufzuheben, kann 'upper_bound'"upper_bound""upper_bound""upper_bound""upper_bound""upper_bound" auf ein leeres Tupel gesetzt werden.

Default: []

'weight_filler'"weight_filler""weight_filler""weight_filler""weight_filler""weight_filler":

Dieser Parameter definiert den Modus, wie die Gewichte initialisiert werden. Die folgenden Werte werden unterstützt:

Default: 'xavier'"xavier""xavier""xavier""xavier""xavier"

'weight_filler_const_val'"weight_filler_const_val""weight_filler_const_val""weight_filler_const_val""weight_filler_const_val""weight_filler_const_val":

Gibt den Initialisierungswert des konstanten Gewichts an. Restriktion: Nur für 'weight_filler'"weight_filler""weight_filler""weight_filler""weight_filler""weight_filler" = 'const'"const""const""const""const""const".

Default: 0.5

'weight_filler_variance_norm'"weight_filler_variance_norm""weight_filler_variance_norm""weight_filler_variance_norm""weight_filler_variance_norm""weight_filler_variance_norm":

Dieser Parameter bestimmt den Wertebereich für 'weight_filler'"weight_filler""weight_filler""weight_filler""weight_filler""weight_filler". Die folgenden Werte werden unterstützt:

Default: 'norm_in'"norm_in""norm_in""norm_in""norm_in""norm_in"

Bestimmte Parameter von Layern, die mit create_dl_layer_convolutioncreate_dl_layer_convolutionCreateDlLayerConvolutionCreateDlLayerConvolutionCreateDlLayerConvolutioncreate_dl_layer_convolution erzeugt wurden, können mit weiteren Operatoren gesetzt und abgerufen werden. Die folgenden Tabellen geben einen Überblick, welche Parameter mit set_dl_model_layer_paramset_dl_model_layer_paramSetDlModelLayerParamSetDlModelLayerParamSetDlModelLayerParamset_dl_model_layer_param gesetzt werden können und welche mit get_dl_model_layer_paramget_dl_model_layer_paramGetDlModelLayerParamGetDlModelLayerParamGetDlModelLayerParamget_dl_model_layer_param oder get_dl_layer_paramget_dl_layer_paramGetDlLayerParamGetDlLayerParamGetDlLayerParamget_dl_layer_param ausgelesen werden können. Es ist zu beachten, dass die Operatoren set_dl_model_layer_paramset_dl_model_layer_paramSetDlModelLayerParamSetDlModelLayerParamSetDlModelLayerParamset_dl_model_layer_param und get_dl_model_layer_paramget_dl_model_layer_paramGetDlModelLayerParamGetDlModelLayerParamGetDlModelLayerParamget_dl_model_layer_param ein Modell benötigen, das mit create_dl_modelcreate_dl_modelCreateDlModelCreateDlModelCreateDlModelcreate_dl_model erzeugt wurde.

Layer-Parameters set get
'activation_mode'"activation_mode""activation_mode""activation_mode""activation_mode""activation_mode" (ActivationActivationActivationActivationactivationactivation)
'dilation'"dilation""dilation""dilation""dilation""dilation" (DilationDilationDilationDilationdilationdilation)
'groups'"groups""groups""groups""groups""groups" (GroupsGroupsGroupsGroupsgroupsgroups)
'input_depth'"input_depth""input_depth""input_depth""input_depth""input_depth"
'input_layer'"input_layer""input_layer""input_layer""input_layer""input_layer" (DLLayerInputDLLayerInputDLLayerInputDLLayerInputDLLayerInputdllayer_input)
'kernel_size'"kernel_size""kernel_size""kernel_size""kernel_size""kernel_size" (KernelSizeKernelSizeKernelSizeKernelSizekernelSizekernel_size)
'name'"name""name""name""name""name" (LayerNameLayerNameLayerNameLayerNamelayerNamelayer_name)
'num_kernels'"num_kernels""num_kernels""num_kernels""num_kernels""num_kernels" (NumKernelNumKernelNumKernelNumKernelnumKernelnum_kernel)
'output_layer'"output_layer""output_layer""output_layer""output_layer""output_layer" (DLLayerConvolutionDLLayerConvolutionDLLayerConvolutionDLLayerConvolutionDLLayerConvolutiondllayer_convolution)
'padding'"padding""padding""padding""padding""padding" (PaddingPaddingPaddingPaddingpaddingpadding)
'padding_type'"padding_type""padding_type""padding_type""padding_type""padding_type" (PaddingPaddingPaddingPaddingpaddingpadding)
'shape'"shape""shape""shape""shape""shape"
'stride'"stride""stride""stride""stride""stride" (StrideStrideStrideStridestridestride)
'type'"type""type""type""type""type"
Generische Layer-Parameter set get
'bias_filler'"bias_filler""bias_filler""bias_filler""bias_filler""bias_filler"
'bias_filler_const_val'"bias_filler_const_val""bias_filler_const_val""bias_filler_const_val""bias_filler_const_val""bias_filler_const_val"
'bias_filler_variance_norm'"bias_filler_variance_norm""bias_filler_variance_norm""bias_filler_variance_norm""bias_filler_variance_norm""bias_filler_variance_norm"
'bias_term'"bias_term""bias_term""bias_term""bias_term""bias_term"
'is_inference_output'"is_inference_output""is_inference_output""is_inference_output""is_inference_output""is_inference_output"
'learning_rate_multiplier'"learning_rate_multiplier""learning_rate_multiplier""learning_rate_multiplier""learning_rate_multiplier""learning_rate_multiplier"
'learning_rate_multiplier_bias'"learning_rate_multiplier_bias""learning_rate_multiplier_bias""learning_rate_multiplier_bias""learning_rate_multiplier_bias""learning_rate_multiplier_bias"
'num_trainable_params'"num_trainable_params""num_trainable_params""num_trainable_params""num_trainable_params""num_trainable_params"
'upper_bound'"upper_bound""upper_bound""upper_bound""upper_bound""upper_bound"
'weight_filler'"weight_filler""weight_filler""weight_filler""weight_filler""weight_filler"
'weight_filler_const_val'"weight_filler_const_val""weight_filler_const_val""weight_filler_const_val""weight_filler_const_val""weight_filler_const_val"
'weight_filler_variance_norm'"weight_filler_variance_norm""weight_filler_variance_norm""weight_filler_variance_norm""weight_filler_variance_norm""weight_filler_variance_norm"

Ausführungsinformationen

Parameter

DLLayerInputDLLayerInputDLLayerInputDLLayerInputDLLayerInputdllayer_input (input_control)  dl_layer HDlLayer, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Zuführender Layer.

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

Name des Ausgabelayers.

KernelSizeKernelSizeKernelSizeKernelSizekernelSizekernel_size (input_control)  number(-array) HTupleMaybeSequence[int]HTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Breite und Höhe des Filterkernels.

Defaultwert: 3

DilationDilationDilationDilationdilationdilation (input_control)  number(-array) HTupleMaybeSequence[int]HTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Größe der Filterdilatation für Breite und Höhe.

Defaultwert: 1

StrideStrideStrideStridestridestride (input_control)  number(-array) HTupleMaybeSequence[int]HTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Schrittweite des Filters in Breiten- und Höhenrichtung.

Defaultwert: 1

NumKernelNumKernelNumKernelNumKernelnumKernelnum_kernel (input_control)  number HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Anzahl Filterkernel.

Defaultwert: 64

GroupsGroupsGroupsGroupsgroupsgroups (input_control)  number HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Anzahl Filtergruppen.

Defaultwert: 1

PaddingPaddingPaddingPaddingpaddingpadding (input_control)  number(-array) HTupleMaybeSequence[Union[str, int]]HTupleHtuple (string / integer) (string / int / long) (HString / Hlong) (char* / Hlong)

Padding-Typ oder spezifische Padding-Größe.

Defaultwert: 'none' "none" "none" "none" "none" "none"

Werteliste: [all], [width,height], [left,right,top,bottom], 'half_kernel_size'"half_kernel_size""half_kernel_size""half_kernel_size""half_kernel_size""half_kernel_size", 'none'"none""none""none""none""none"

Wertevorschläge: 'none'"none""none""none""none""none", 'half_kernel_size'"half_kernel_size""half_kernel_size""half_kernel_size""half_kernel_size""half_kernel_size"

ActivationActivationActivationActivationactivationactivation (input_control)  number HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Optionale ReLU oder Sigmoid Aktivierungen.

Defaultwert: 'none' "none" "none" "none" "none" "none"

Werteliste: 'none'"none""none""none""none""none", 'relu'"relu""relu""relu""relu""relu", 'sigmoid'"sigmoid""sigmoid""sigmoid""sigmoid""sigmoid"

GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_name (input_control)  attribute.name(-array) HTupleMaybeSequence[str]HTupleHtuple (string) (string) (HString) (char*)

Namen der generischen Eingabeparameter.

Defaultwert: []

Werteliste: 'bias_filler'"bias_filler""bias_filler""bias_filler""bias_filler""bias_filler", 'bias_filler_const_val'"bias_filler_const_val""bias_filler_const_val""bias_filler_const_val""bias_filler_const_val""bias_filler_const_val", 'bias_filler_variance_norm'"bias_filler_variance_norm""bias_filler_variance_norm""bias_filler_variance_norm""bias_filler_variance_norm""bias_filler_variance_norm", 'bias_term'"bias_term""bias_term""bias_term""bias_term""bias_term", 'is_inference_output'"is_inference_output""is_inference_output""is_inference_output""is_inference_output""is_inference_output", 'learning_rate_multiplier'"learning_rate_multiplier""learning_rate_multiplier""learning_rate_multiplier""learning_rate_multiplier""learning_rate_multiplier", 'learning_rate_multiplier_bias'"learning_rate_multiplier_bias""learning_rate_multiplier_bias""learning_rate_multiplier_bias""learning_rate_multiplier_bias""learning_rate_multiplier_bias", 'upper_bound'"upper_bound""upper_bound""upper_bound""upper_bound""upper_bound", 'weight_filler'"weight_filler""weight_filler""weight_filler""weight_filler""weight_filler", 'weight_filler_const_val'"weight_filler_const_val""weight_filler_const_val""weight_filler_const_val""weight_filler_const_val""weight_filler_const_val", 'weight_filler_variance_norm'"weight_filler_variance_norm""weight_filler_variance_norm""weight_filler_variance_norm""weight_filler_variance_norm""weight_filler_variance_norm"

GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value (input_control)  attribute.value(-array) HTupleMaybeSequence[Union[int, float, str]]HTupleHtuple (string / integer / real) (string / int / long / double) (HString / Hlong / double) (char* / Hlong / double)

Werte der generischen Eingabeparameter.

Defaultwert: []

Wertevorschläge: 'xavier'"xavier""xavier""xavier""xavier""xavier", 'msra'"msra""msra""msra""msra""msra", 'const'"const""const""const""const""const", 'nearest_neighbor'"nearest_neighbor""nearest_neighbor""nearest_neighbor""nearest_neighbor""nearest_neighbor", 'bilinear'"bilinear""bilinear""bilinear""bilinear""bilinear", 'norm_in'"norm_in""norm_in""norm_in""norm_in""norm_in", 'norm_out'"norm_out""norm_out""norm_out""norm_out""norm_out", 'norm_average'"norm_average""norm_average""norm_average""norm_average""norm_average", 'true'"true""true""true""true""true", 'false'"false""false""false""false""false", 1.0, 0.9, 0.0

DLLayerConvolutionDLLayerConvolutionDLLayerConvolutionDLLayerConvolutionDLLayerConvolutiondllayer_convolution (output_control)  dl_layer HDlLayer, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Faltungs-Layer.

Literatur

V. Dumoulin, F. Visin: "A guide to convolution arithmetic for deep learning", 2018, http://arxiv.org/abs/1603.07285

Modul

Deep Learning Training