create_dl_layer_poolingT_create_dl_layer_poolingCreateDlLayerPoolingCreateDlLayerPoolingcreate_dl_layer_pooling (Operator)

Name

create_dl_layer_poolingT_create_dl_layer_poolingCreateDlLayerPoolingCreateDlLayerPoolingcreate_dl_layer_pooling — Erstellen eines Pooling-Layers.

Signatur

create_dl_layer_pooling( : : DLLayerInput, LayerName, KernelSize, Stride, Padding, Mode, GenParamName, GenParamValue : DLLayerPooling)

Herror T_create_dl_layer_pooling(const Htuple DLLayerInput, const Htuple LayerName, const Htuple KernelSize, const Htuple Stride, const Htuple Padding, const Htuple Mode, const Htuple GenParamName, const Htuple GenParamValue, Htuple* DLLayerPooling)

void CreateDlLayerPooling(const HTuple& DLLayerInput, const HTuple& LayerName, const HTuple& KernelSize, const HTuple& Stride, const HTuple& Padding, const HTuple& Mode, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* DLLayerPooling)

HDlLayer HDlLayer::CreateDlLayerPooling(const HString& LayerName, const HTuple& KernelSize, const HTuple& Stride, const HTuple& Padding, const HString& Mode, const HTuple& GenParamName, const HTuple& GenParamValue) const

HDlLayer HDlLayer::CreateDlLayerPooling(const HString& LayerName, const HTuple& KernelSize, const HTuple& Stride, const HString& Padding, const HString& Mode, const HString& GenParamName, const HString& GenParamValue) const

HDlLayer HDlLayer::CreateDlLayerPooling(const char* LayerName, const HTuple& KernelSize, const HTuple& Stride, const char* Padding, const char* Mode, const char* GenParamName, const char* GenParamValue) const

HDlLayer HDlLayer::CreateDlLayerPooling(const wchar_t* LayerName, const HTuple& KernelSize, const HTuple& Stride, const wchar_t* Padding, const wchar_t* Mode, const wchar_t* GenParamName, const wchar_t* GenParamValue) const   ( Nur Windows)

static void HOperatorSet.CreateDlLayerPooling(HTuple DLLayerInput, HTuple layerName, HTuple kernelSize, HTuple stride, HTuple padding, HTuple mode, HTuple genParamName, HTuple genParamValue, out HTuple DLLayerPooling)

HDlLayer HDlLayer.CreateDlLayerPooling(string layerName, HTuple kernelSize, HTuple stride, HTuple padding, string mode, HTuple genParamName, HTuple genParamValue)

HDlLayer HDlLayer.CreateDlLayerPooling(string layerName, HTuple kernelSize, HTuple stride, string padding, string mode, string genParamName, string genParamValue)

def create_dl_layer_pooling(dllayer_input: HHandle, layer_name: str, kernel_size: Sequence[int], stride: Sequence[int], padding: MaybeSequence[Union[str, int]], mode: str, gen_param_name: MaybeSequence[str], gen_param_value: MaybeSequence[Union[int, float, str]]) -> HHandle

Beschreibung

Der Operator create_dl_layer_poolingcreate_dl_layer_poolingCreateDlLayerPoolingCreateDlLayerPoolingcreate_dl_layer_pooling erzeugt einen Pooling-Layer, dessen Handle in DLLayerPoolingDLLayerPoolingDLLayerPoolingDLLayerPoolingdllayer_pooling zurückgegeben wird.

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

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

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

Der Parameter StrideStrideStridestridestride gibt an, mit welcher Schrittweite der Filter verschoben wird.

Die Werte für KernelSizeKernelSizeKernelSizekernelSizekernel_size und StrideStrideStridestridestride können gesetzt werden als

Der Parameter PaddingPaddingPaddingpaddingpadding 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 Pooling-Layers 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 ModeModeModemodemode gibt den Modus des Pooling-Vorgangs an. Unterstützte Modi sind:

'average'"average""average""average""average":

Der resultierende Pixelwert ist der Durchschnitt aller Pixelwerte im Filter.

'maximum'"maximum""maximum""maximum""maximum":

Der resultierende Pixelwert ist das Maximum aller Pixelwerte im Filter.

'global_average'"global_average""global_average""global_average""global_average":

Gleich wie Modus 'average'"average""average""average""average", aber die gewünschten Ausgabedimensionen können ohne die Kenntnis der Eingabedimensionen über den Parameter KernelSizeKernelSizeKernelSizekernelSizekernel_size gesteuert werden. Wenn beispielsweise der Durchschnitt aller Pixelwerte der Eingabe zurückgegeben werden soll, setzt man KernelSizeKernelSizeKernelSizekernelSizekernel_size auf 1 und die Ausgabedimensionen Breite und Höhe sind gleich 1. Für die intern verwendete Kernelgröße und Schrittweite gilt:

  • Wenn KernelSizeKernelSizeKernelSizekernelSizekernel_size ein Teiler der Eingabedimension ist: Die intern verwendete Kernelgröße und Schrittweite werden auf den gleichen Wert gesetzt.

  • Wenn KernelSizeKernelSizeKernelSizekernelSizekernel_size kein Teiler der Eingabedimension ist: Die Werte sind abhängig vom generischen Parameter 'global_pooling_mode'"global_pooling_mode""global_pooling_mode""global_pooling_mode""global_pooling_mode":

    'overlapping'"overlapping""overlapping""overlapping""overlapping":

    Die intern verwendete Schrittweite ( ) wird auf gesetzt. Die intern verwendete Kernelgröße berechnet sich dann als . Dies führt zu sich überlappenden Kernels, aber das gesamte Eingabebild wird in die Berechnung der Ausgabe mit einbezogen.

    'non_overlapping'"non_overlapping""non_overlapping""non_overlapping""non_overlapping":

    Die intern verwendete Kernelgröße und die Schrittweite werden auf den gleichen Wert gesetzt. Dies führt zu sich nicht überlappenden Kernels aber kann dazu führen, dass Bereiche am rechten und unteren Rand des Eingabebildes bei der Berechnung des Ausgabebildes nicht berücksichtigt werden. Aufgrund von Rundungen entspricht die Ausgabegröße nicht immer der angegebenen Größe in KernelSizeKernelSizeKernelSizekernelSizekernel_size.

    'adaptive'"adaptive""adaptive""adaptive""adaptive":

    In diesem Modus wird für jeden Pixel im Ausgabebild die Größe des zugehörigen Pooling- Bereichs im Eingeabebild adaptiv berechnet, wobei die Zeilen- und die Spaltenkoordinaten des Pixels im Ausgabebild sind. Die Zeilenkoordinaten des Pooling-Bereichs im Eingabebild für Pixel in der -ten Zeile der Ausgabe sind gegeben durch , wobei in diesem Fall die Höhe der KernelSizeKernelSizeKernelSizekernelSizekernel_size verwendet wird. Entsprechendes gilt für die Spaltenkoordinaten. Das heißt, dass benachbarte Pooling-Bereiche unterschiedlich groß sein können, was zu einer ineffizienteren Implementierung führen kann. Allerdings überlappen die Bereiche nur mit einem Pixel, was grundsätzlich weniger Überlappung als im 'global_pooling_mode'"global_pooling_mode""global_pooling_mode""global_pooling_mode""global_pooling_mode" 'overlapping'"overlapping""overlapping""overlapping""overlapping" ist. Das gesamte Eingabebild wird bei diesem Modus in die Berechnung des Ausgabebildes einbezogen. Für diesen Modus muss der Parameter PaddingPaddingPaddingpaddingpadding auf 'none'"none""none""none""none" gesetzt sein.

Für diesen Modus wird der Parameter StrideStrideStridestridestride ignoriert und intern berechnet, so wie oben beschrieben.

'global_maximum'"global_maximum""global_maximum""global_maximum""global_maximum":

Gleich wie Modus 'global_average'"global_average""global_average""global_average""global_average", jedoch wird das Maximum anstelle des Durchschnitts berechnet.

Für weitere Informationen zu Pooling-Layern siehe „Solution Guide on Classification“.

Die folgenden generischen Parameter GenParamNameGenParamNameGenParamNamegenParamNamegen_param_name und die entsprechenden Werte GenParamValueGenParamValueGenParamValuegenParamValuegen_param_value werden unterstützt:

'global_pooling_mode'"global_pooling_mode""global_pooling_mode""global_pooling_mode""global_pooling_mode":

Modus für die Berechnung der internen Kernelgröße und des internen Stride im Falle von globalem Pooling (ModeModeModemodemode 'global_average'"global_average""global_average""global_average""global_average" oder 'global_maximum'"global_maximum""global_maximum""global_maximum""global_maximum"). Siehe Beschreibung oben. Im Falle von nicht-globalem Pooling hat der Parameter den Wert 'undefined'"undefined""undefined""undefined""undefined".

Default: 'overlapping'"overlapping""overlapping""overlapping""overlapping"

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

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

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

Bestimmte Parameter von Layern, die mit create_dl_layer_poolingcreate_dl_layer_poolingCreateDlLayerPoolingCreateDlLayerPoolingcreate_dl_layer_pooling 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_paramSetDlModelLayerParamSetDlModelLayerParamset_dl_model_layer_param gesetzt werden können und welche mit get_dl_model_layer_paramget_dl_model_layer_paramGetDlModelLayerParamGetDlModelLayerParamget_dl_model_layer_param oder get_dl_layer_paramget_dl_layer_paramGetDlLayerParamGetDlLayerParamget_dl_layer_param ausgelesen werden können. Es ist zu beachten, dass die Operatoren set_dl_model_layer_paramset_dl_model_layer_paramSetDlModelLayerParamSetDlModelLayerParamset_dl_model_layer_param und get_dl_model_layer_paramget_dl_model_layer_paramGetDlModelLayerParamGetDlModelLayerParamget_dl_model_layer_param ein Modell benötigen, das mit create_dl_modelcreate_dl_modelCreateDlModelCreateDlModelcreate_dl_model erzeugt wurde.

Layer-Parameter set get
'global'"global""global""global""global" x
'global_pooling_mode'"global_pooling_mode""global_pooling_mode""global_pooling_mode""global_pooling_mode" x
'input_layer'"input_layer""input_layer""input_layer""input_layer" (DLLayerInputDLLayerInputDLLayerInputDLLayerInputdllayer_input) x
'kernel_size'"kernel_size""kernel_size""kernel_size""kernel_size" (KernelSizeKernelSizeKernelSizekernelSizekernel_size) x
'name'"name""name""name""name" (LayerNameLayerNameLayerNamelayerNamelayer_name) x x
'output_layer'"output_layer""output_layer""output_layer""output_layer" (DLLayerPoolingDLLayerPoolingDLLayerPoolingDLLayerPoolingdllayer_pooling) x
'padding'"padding""padding""padding""padding" (PaddingPaddingPaddingpaddingpadding) x
'padding_type'"padding_type""padding_type""padding_type""padding_type" (PaddingPaddingPaddingpaddingpadding) x
'pooling_mode'"pooling_mode""pooling_mode""pooling_mode""pooling_mode" (ModeModeModemodemode) x
'shape'"shape""shape""shape""shape" x
'stride'"stride""stride""stride""stride" (StrideStrideStridestridestride) x
'type'"type""type""type""type" x
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

Parameter

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

Zuführender Layer.

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

Name des Ausgabelayers.

KernelSizeKernelSizeKernelSizekernelSizekernel_size (input_control)  number-array HTupleSequence[int]HTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Breite und Höhe des Filterkernels.

Default: [2,2]

StrideStrideStridestridestride (input_control)  number-array HTupleSequence[int]HTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Schrittweite des Filters in Breiten- und Höhenrichtung.

Default: [2,2]

PaddingPaddingPaddingpaddingpadding (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.

Default: 'none' "none" "none" "none" "none"

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

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

Modus des Pooling-Vorgangs.

Default: 'maximum' "maximum" "maximum" "maximum" "maximum"

Werteliste: 'average'"average""average""average""average", 'global_average'"global_average""global_average""global_average""global_average", 'global_maximum'"global_maximum""global_maximum""global_maximum""global_maximum", 'maximum'"maximum""maximum""maximum""maximum"

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

Namen der generischen Eingabeparameter.

Default: []

Werteliste: 'global_pooling_mode'"global_pooling_mode""global_pooling_mode""global_pooling_mode""global_pooling_mode", 'is_inference_output'"is_inference_output""is_inference_output""is_inference_output""is_inference_output"

GenParamValueGenParamValueGenParamValuegenParamValuegen_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.

Default: []

Wertevorschläge: 'adaptive'"adaptive""adaptive""adaptive""adaptive", 'non_overlapping'"non_overlapping""non_overlapping""non_overlapping""non_overlapping", 'overlapping'"overlapping""overlapping""overlapping""overlapping", 'true'"true""true""true""true", 'false'"false""false""false""false", 1.0, 0.9, 0.0

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

Pooling-Layer.

Modul

Deep Learning Training