create_dl_layer_gatherT_create_dl_layer_gatherCreateDlLayerGatherCreateDlLayerGathercreate_dl_layer_gather (Operator)

Name

create_dl_layer_gatherT_create_dl_layer_gatherCreateDlLayerGatherCreateDlLayerGathercreate_dl_layer_gather — Erstellen eines Gather-Layers.

Signatur

create_dl_layer_gather( : : DLLayerInput, Indices, LayerName, Axis, GenParamName, GenParamValue : DLLayerGather)

Herror T_create_dl_layer_gather(const Htuple DLLayerInput, const Htuple Indices, const Htuple LayerName, const Htuple Axis, const Htuple GenParamName, const Htuple GenParamValue, Htuple* DLLayerGather)

void CreateDlLayerGather(const HTuple& DLLayerInput, const HTuple& Indices, const HTuple& LayerName, const HTuple& Axis, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* DLLayerGather)

HDlLayer HDlLayer::CreateDlLayerGather(const HTuple& Indices, const HString& LayerName, const HTuple& Axis, const HTuple& GenParamName, const HTuple& GenParamValue) const

HDlLayer HDlLayer::CreateDlLayerGather(Hlong Indices, const HString& LayerName, Hlong Axis, const HString& GenParamName, const HString& GenParamValue) const

HDlLayer HDlLayer::CreateDlLayerGather(Hlong Indices, const char* LayerName, Hlong Axis, const char* GenParamName, const char* GenParamValue) const

HDlLayer HDlLayer::CreateDlLayerGather(Hlong Indices, const wchar_t* LayerName, Hlong Axis, const wchar_t* GenParamName, const wchar_t* GenParamValue) const   ( Nur Windows)

static void HOperatorSet.CreateDlLayerGather(HTuple DLLayerInput, HTuple indices, HTuple layerName, HTuple axis, HTuple genParamName, HTuple genParamValue, out HTuple DLLayerGather)

HDlLayer HDlLayer.CreateDlLayerGather(HTuple indices, string layerName, HTuple axis, HTuple genParamName, HTuple genParamValue)

HDlLayer HDlLayer.CreateDlLayerGather(int indices, string layerName, int axis, string genParamName, string genParamValue)

def create_dl_layer_gather(dllayer_input: HHandle, indices: MaybeSequence[Union[int, HHandle]], layer_name: str, axis: Union[int, str], gen_param_name: MaybeSequence[str], gen_param_value: MaybeSequence[Union[int, float, str]]) -> HHandle

Beschreibung

Der Operator create_dl_layer_gathercreate_dl_layer_gatherCreateDlLayerGatherCreateDlLayerGathercreate_dl_layer_gather erstellt einen Gather-Layer, der entlang einer angegebenen Achse Slices aus dem Eingabetensor DLLayerInputDLLayerInputDLLayerInputDLLayerInputdllayer_input gemäß den übergebenen Indizes extrahiert. Das Handle des Gather-Layers wird in DLLayerGatherDLLayerGatherDLLayerGatherDLLayerGatherdllayer_gather zurückgegeben.

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

Der Parameter IndicesIndicesIndicesindicesindices definiert die Indizes, die entlang der Achse gesammelt werden sollen. Die Indizes müssen entweder Rang 0 oder Rang 1 besitzen, also entweder ein Skalar oder eine Liste sein. Die Indizes können entweder als Layer-Handle (IndicesIndicesIndicesindicesindices) oder als Integer-Tupel übergeben werden. Wird IndicesIndicesIndicesindicesindices als Integer-Tupel übergeben, so wird intern ein konstanter Eingabelayer erzeugt.

Der Parameter AxisAxisAxisaxisaxis legt fest, entlang welcher Achse gesammelt wird. AxisAxisAxisaxisaxis kann entweder als String ('width'"width""width""width""width", 'height'"height""height""height""height", 'depth'"depth""depth""depth""depth" oder 'batch'"batch""batch""batch""batch") oder als Integer angegeben werden, wobei 0 der Batch-Größe, 1 der Tiefe (Depth), 2 der Höhe (Height) und 3 der Breite (Width) entspricht. Negative Werte für AxisAxisAxisaxisaxis bedeuten, dass die Dimensionen von hinten gezählt werden. Der zulässige Bereich ist [-4,3].

Der Parameter LayerNameLayerNameLayerNamelayerNamelayer_name legt einen individuellen Layer-Namen fest. Es ist zu beachten, dass beim Erstellen eines Modells mit create_dl_modelcreate_dl_modelCreateDlModelCreateDlModelcreate_dl_model jeder Layer im Netzwerk einen eindeutigen Namen besitzen muss.

Gather-Semantik

Gegeben sei ein 4-dimensionaler Eingabetensor DLLayerInputDLLayerInputDLLayerInputDLLayerInputdllayer_input der Form (N, C, H, W) und ein Indices-Tensor oder ein Tupel. Der Gather-Layer wählt Elemente entlang der AxisAxisAxisaxisaxis-Dimension aus, die durch die Elemente in IndicesIndicesIndicesindicesindices bestimmt sind.

Sind die Indizes als Tupel gegeben und wird AxisAxisAxisaxisaxis mit angegeben, so ergibt sich der Ausgabetensor, indem die Dimension durch die Indizes-Dimension ersetzt wird. Das ergibt eine Ausgabeform von

Alle Werte in IndicesIndicesIndicesindicesindices müssen innerhalb der Grenzen liegen, wobei die Größe der AxisAxisAxisaxisaxis-Dimension ist. Negative Indizes werden durch Addition von interpretiert, d.h. 'index'"index""index""index""index" = 'index'"index""index""index""index" falls 'index'"index""index""index""index" < 0.

Verarbeitung von Achsen und Indizes

Anpassung der Achse

Negative Werte für AxisAxisAxisaxisaxis werden durch Addition der Anzahl der Dimensionen r des Eingabetensors zu nicht-negativen Werten gemacht:

Begrenzen der Indizes

Negative Werte in IndicesIndicesIndicesindicesindices werden durch Addition der Größe s der entsprechenden Achse angepasst:

Alle Werte in IndicesIndicesIndicesindicesindices müssen erfüllen, andernfalls wird ein Fehler erzeugt.

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

'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 dann, wenn dieser Layer nicht explizit in OutputsOutputsOutputsoutputsoutputs angegeben ist ('true'"true""true""true""true") – oder nicht ('false'"false""false""false""false").

Werteliste: 'true'"true""true""true""true", 'false'"false""false""false""false"

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

Bestimmte Parameter von Layern, die mit diesem Operator create_dl_layer_gathercreate_dl_layer_gatherCreateDlLayerGatherCreateDlLayerGathercreate_dl_layer_gather erstellt wurden, können mit weiteren Operatoren gesetzt und ausgelesen werden. Die folgenden Tabellen geben eine Übersicht, 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. Beachten Sie, 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
'input_layer'"input_layer""input_layer""input_layer""input_layer" (DLLayerInputDLLayerInputDLLayerInputDLLayerInputdllayer_input,IndicesIndicesIndicesindicesindices) x
'name'"name""name""name""name" (LayerNameLayerNameLayerNamelayerNamelayer_name) x x
'axis'"axis""axis""axis""axis" (AxisAxisAxisaxisaxis) x
'output_layer'"output_layer""output_layer""output_layer""output_layer" (DLLayerGatherDLLayerGatherDLLayerGatherDLLayerGatherdllayer_gather) x
'shape'"shape""shape""shape""shape" 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 Daten-Layer.

Default: 'DLLayerInput' "DLLayerInput" "DLLayerInput" "DLLayerInput" "DLLayerInput"

IndicesIndicesIndicesindicesindices (input_control)  number(-array) HTupleMaybeSequence[Union[int, HHandle]]HTupleHtuple (integer / handle) (int / long / HHandle) (Hlong / HHandle) (Hlong / handle)

Indizes für die Gather-Operation. Dieser Input kann ein Layer oder ein Integer-Tupel sein.

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

Name des Ausgabelayers.

AxisAxisAxisaxisaxis (input_control)  number HTupleUnion[int, str]HTupleHtuple (integer / string) (int / long / string) (Hlong / HString) (Hlong / char*)

Achse, entlang der gesammelt werden soll.

Default: 0

Wertevorschläge: 0, 'batch'"batch""batch""batch""batch", 1, 'depth'"depth""depth""depth""depth", 2, 'height'"height""height""height""height", 3, 'width'"width""width""width""width"

GenParamNameGenParamNameGenParamNamegenParamNamegen_param_name (input_control)  attribute.name(-array) HTupleMaybeSequence[str]HTupleHtuple (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"

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: 'true'"true""true""true""true", 'false'"false""false""false""false"

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

Ausgabelayer.

Modul

Deep Learning Professional