develop/amd_openvx_extensions/amd_winml/include/vx_ext_winml.h Source File

develop/amd_openvx_extensions/amd_winml/include/vx_ext_winml.h Source File#

MIVisionX: develop/amd_openvx_extensions/amd_winml/include/vx_ext_winml.h Source File
vx_ext_winml.h
Go to the documentation of this file.
1 /*
2 Copyright (c) 2019 - 2024 Advanced Micro Devices, Inc. All rights reserved.
3 
4 Permission is hereby granted, free of charge, to any person obtaining a copy
5 of this software and associated documentation files (the "Software"), to deal
6 in the Software without restriction, including without limitation the rights
7 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 copies of the Software, and to permit persons to whom the Software is
9 furnished to do so, subject to the following conditions:
10 
11 The above copyright notice and this permission notice shall be included in
12 all copies or substantial portions of the Software.
13 
14 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20 THE SOFTWARE.
21 */
22 
23 #ifndef _VX_AMD_EXT_WINML_H_
24 #define _VX_AMD_EXT_WINML_H_
25 
26 #include "VX/vx.h"
27 #include <VX/vx_compatibility.h>
28 #include <vx_ext_amd.h>
29 
41 #ifndef dimof
47 #define dimof(x) (sizeof(x) / sizeof(x[0]))
48 #endif
49 
50 #if _WIN32
51 #define SHARED_PUBLIC __declspec(dllexport)
52 #else
56 #define SHARED_PUBLIC __attribute__((visibility("default")))
57 #endif
58 
67 
68 #ifdef __cplusplus
69 extern "C"
70 {
71 #endif
72 
73  /*!***********************************************************************************************************
74  WinML VX_API_ENTRY C Function NODE
75  *************************************************************************************************************/
76 
90  extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtWinMLNode_OnnxToMivisionX(vx_graph graph, vx_scalar modelLocation, vx_scalar inputTensorName, vx_scalar outputTensorName, vx_tensor inputTensor, vx_array setupArray, vx_tensor outputTensor, vx_scalar deviceKind);
91 
104 
118  extern "C" SHARED_PUBLIC vx_node VX_API_CALL vxExtWinMLNode_getTopKLabels(vx_graph graph, vx_tensor prob_tensor, vx_scalar labelFile, vx_scalar output_1, vx_scalar output_2, vx_scalar output_3, vx_scalar output_4, vx_scalar output_5);
119 
120 #ifdef __cplusplus
121 }
122 #endif
123 
124 #endif
SHARED_PUBLIC vx_node VX_API_CALL vxExtWinMLNode_OnnxToMivisionX(vx_graph graph, vx_scalar modelLocation, vx_scalar inputTensorName, vx_scalar outputTensorName, vx_tensor inputTensor, vx_array setupArray, vx_tensor outputTensor, vx_scalar deviceKind)
[Graph] Creates a WinML import ONNX Model and run function node.
SHARED_PUBLIC vx_node VX_API_CALL vxExtWinMLNode_getTopKLabels(vx_graph graph, vx_tensor prob_tensor, vx_scalar labelFile, vx_scalar output_1, vx_scalar output_2, vx_scalar output_3, vx_scalar output_4, vx_scalar output_5)
[Graph] Creates a output tensor to Top K labels node.
SHARED_PUBLIC vx_node VX_API_CALL vxExtWinMLNode_convertImageToTensor(vx_graph graph, vx_image input, vx_tensor output, vx_scalar a, vx_scalar b, vx_scalar reverse_channel_order)
[Graph] Creates a WinML convert image to tensor node.
The top level OpenVX Header.
The AMD OpenVX Extension Library.
vx_node vxCreateNodeByStructure(vx_graph graph, vx_enum kernelenum, vx_reference params[], vx_uint32 num)
Creates a node in a graph using a predefined kernel structure.
#define SHARED_PUBLIC
A macro to specify public visibility for shared library symbols.
Definition: vx_ext_winml.h:56
struct _vx_reference * vx_reference
A generic opaque reference to any object within OpenVX.
Definition: vx_types.h:145
struct _vx_scalar * vx_scalar
An opaque reference to a scalar.
Definition: vx_types.h:175
uint32_t vx_uint32
A 32-bit unsigned value.
Definition: vx_types.h:85
struct _vx_tensor_t * vx_tensor
The multidimensional data object (Tensor).
Definition: vx_types.h:287
int32_t vx_enum
Sets the standard enumeration type size to be a fixed quantity.
Definition: vx_types.h:152
struct _vx_graph * vx_graph
An opaque reference to a graph.
Definition: vx_types.h:211
struct _vx_node * vx_node
An opaque reference to a kernel node.
Definition: vx_types.h:204
#define VX_API_CALL
Defines calling convention for OpenVX API.
Definition: vx_types.h:56
struct _vx_array * vx_array
The Array Object. Array is a strongly-typed container for other data structures.
Definition: vx_types.h:275
struct _vx_image * vx_image
An opaque reference to an image.
Definition: vx_types.h:182