create_dl_layer_grid_sampleT_create_dl_layer_grid_sampleCreateDlLayerGridSampleCreateDlLayerGridSamplecreate_dl_layer_grid_sample (Operator)

Name

create_dl_layer_grid_sampleT_create_dl_layer_grid_sampleCreateDlLayerGridSampleCreateDlLayerGridSamplecreate_dl_layer_grid_sample — Erstellen eines Grid-Sample-Layers.

Signatur

create_dl_layer_grid_sample( : : DLLayerInput, DLLayerGrid, LayerName, GenParamName, GenParamValue : DLLayerGridSample)

Herror T_create_dl_layer_grid_sample(const Htuple DLLayerInput, const Htuple DLLayerGrid, const Htuple LayerName, const Htuple GenParamName, const Htuple GenParamValue, Htuple* DLLayerGridSample)

void CreateDlLayerGridSample(const HTuple& DLLayerInput, const HTuple& DLLayerGrid, const HTuple& LayerName, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* DLLayerGridSample)

HDlLayer HDlLayer::CreateDlLayerGridSample(const HDlLayer& DLLayerGrid, const HString& LayerName, const HTuple& GenParamName, const HTuple& GenParamValue) const

HDlLayer HDlLayer::CreateDlLayerGridSample(const HDlLayer& DLLayerGrid, const HString& LayerName, const HString& GenParamName, const HString& GenParamValue) const

HDlLayer HDlLayer::CreateDlLayerGridSample(const HDlLayer& DLLayerGrid, const char* LayerName, const char* GenParamName, const char* GenParamValue) const

HDlLayer HDlLayer::CreateDlLayerGridSample(const HDlLayer& DLLayerGrid, const wchar_t* LayerName, const wchar_t* GenParamName, const wchar_t* GenParamValue) const   ( Nur Windows)

static void HOperatorSet.CreateDlLayerGridSample(HTuple DLLayerInput, HTuple DLLayerGrid, HTuple layerName, HTuple genParamName, HTuple genParamValue, out HTuple DLLayerGridSample)

HDlLayer HDlLayer.CreateDlLayerGridSample(HDlLayer DLLayerGrid, string layerName, HTuple genParamName, HTuple genParamValue)

HDlLayer HDlLayer.CreateDlLayerGridSample(HDlLayer DLLayerGrid, string layerName, string genParamName, string genParamValue)

def create_dl_layer_grid_sample(dllayer_input: HHandle, dllayer_grid: HHandle, layer_name: str, gen_param_name: MaybeSequence[str], gen_param_value: MaybeSequence[Union[int, float, str]]) -> HHandle

Beschreibung

Der Operator create_dl_layer_grid_samplecreate_dl_layer_grid_sampleCreateDlLayerGridSampleCreateDlLayerGridSamplecreate_dl_layer_grid_sample erstellt einen Grid-Sample-Layer, der eine räumliche Transformation auf ein Eingabebild oder eine Feature-Map anwendet. Das Handle des erstellten Grid-Sample-Layers wird in DLLayerGridSampleDLLayerGridSampleDLLayerGridSampleDLLayerGridSampledllayer_grid_sample zurückgegeben.

Ein Grid-Sample-Layer verformt die Eingabe DLLayerInputDLLayerInputDLLayerInputDLLayerInputdllayer_input basierend auf einem Sampling-Gitter DLLayerGridDLLayerGridDLLayerGridDLLayerGriddllayer_grid. Dieses Gitter muss räumlich normalisierte Eingabe-Pixelpositionen angeben, welche dann zur Interpolation der Ausgabewerte verwendet werden. Pixelpositionen innerhalb des Eingabebildes oder der Feature-Map müssen Werte im Bereich haben. Die Werte , müssen dabei dem obersten linken Pixel entsprechen, während , das unterste rechte Pixel beschreibt. Die Extremwerte beziehen sich jeweils auf die Mittelpunkte der Eckpixel. Der Grid-Sample-Layer setzt intern 'align_corners' auf 1 und definiert damit die Mittelpunkte der Pixel als Referenzpunkte des Gitters. Das Sampling-Gitter DLLayerGridDLLayerGridDLLayerGridDLLayerGriddllayer_grid kann mit create_dl_layer_affine_gridcreate_dl_layer_affine_gridCreateDlLayerAffineGridCreateDlLayerAffineGridcreate_dl_layer_affine_grid generiert werden.

Der Grid-Sample-Layer verwendet bilineare Interpolation zur Berechnung der Ausgabewerte, wodurch fließende Übergänge zwischen den Pixelwerten sichergestellt werden. Für Sampling-Gitter-Positionen außerhalb des Eingabebildes oder der Feature-Map werden die entsprechenden Werte auf 0 gesetzt. Dabei hat die Ausgabe des Grid-Sample-Layers hat die gleichen räumlichen Dimensionen wie das Eingabe-Gitter.

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. 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 ohne den Layer in OutputsOutputsOutputsoutputsoutputs anzugeben ('true'"true""true""true""true"), oder nur falls er angegeben wird ('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 create_dl_layer_grid_samplecreate_dl_layer_grid_sampleCreateDlLayerGridSampleCreateDlLayerGridSamplecreate_dl_layer_grid_sample 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 Parameters set get
'input_layer'"input_layer""input_layer""input_layer""input_layer" (DLLayerInputDLLayerInputDLLayerInputDLLayerInputdllayer_input, DLLayerGridDLLayerGridDLLayerGridDLLayerGriddllayer_grid) x
'name'"name""name""name""name" (LayerNameLayerNameLayerNamelayerNamelayer_name) x x
'output_layer'"output_layer""output_layer""output_layer""output_layer" (DLLayerGridSampleDLLayerGridSampleDLLayerGridSampleDLLayerGridSampledllayer_grid_sample) x
'shape'"shape""shape""shape""shape" x
'type'"type""type""type""type" x
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

Ausführungsinformationen

Parameter

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

Eingabelayer für Bild oder Feature Map.

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

Eingabelayer, welches das Sampling-Gitter definiert.

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

Name des Ausgabelayers.

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"

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

GridSample-Layer.

Beispiel (HDevelop)

read_image (Image, 'printer_chip/printer_chip_01')
convert_image_type (Image, Image, 'real')
get_image_size (Image, Width, Height)
* Create input layer for the image to be transformed.
create_dl_layer_input ('image', [Width,Height,1], [], [], DLLayerInputImage)
*
* Create an affine grid layer and define the size of its output grid with (Width/2, Height/2), which later
* determines the output image size.
create_dl_layer_input ('transformation', [3,2,1], [], [], DLLayerInputTransformation)
create_dl_layer_affine_grid (DLLayerInputTransformation, 'affine_grid', Width/2, Height/2, [], [], DLLayerAffineGrid)
*
* Create an affine transformation which represents a translation
* to the right by half the image width.
* As the affine grid layer uses normalized pixel positions in
* the range of [-1,1] the translation value must be normalized
* as well. Hence, translating by half the image width to the right
* corresponds to a translation value of -1 in x-direction.
hom_mat2d_identity (HomMat2DIdentity)
hom_mat2d_translate (HomMat2DIdentity, -1, 0, HomMat2DTranslate)
*
* Create grid sample layer with the affine grid as input
create_dl_layer_grid_sample (DLLayerInputImage, DLLayerAffineGrid, 'output', [], [], DLLayerGridSample)
*
* Create and apply dl model
create_dl_model (DLLayerGridSample, DLModelHandle)
DLSample := dict{image: Image, transformation: HomMat2DTranslate}
apply_dl_model (DLModelHandle, DLSample, [], DLResultBatch)
get_dict_object (ImageTranslated, DLResultBatch, 'output')

Vorgänger

create_dl_layer_affine_gridcreate_dl_layer_affine_gridCreateDlLayerAffineGridCreateDlLayerAffineGridcreate_dl_layer_affine_grid

Modul

Deep Learning Professional