Publishing 2019 R1 content
[platform/upstream/dldt.git] / inference-engine / ie_bridges / python / src / openvino / inference_engine / ie_api_impl_defs.pxd
1 from libc.stddef cimport size_t
2 from libcpp.string cimport string
3 from libcpp.vector cimport vector
4 from libcpp.map cimport map
5 from libcpp.set cimport set
6 from libcpp.pair cimport pair
7 from libcpp.memory cimport unique_ptr, shared_ptr
8 from libc.stdint cimport int64_t
9
10
11
12 cdef extern from "<inference_engine.hpp>" namespace "InferenceEngine":
13     ctypedef vector[size_t] SizeVector
14
15     cdef cppclass TensorDesc:
16         SizeVector& getDims()
17         const Precision& getPrecision() const
18
19     cdef cppclass Blob:
20         ctypedef shared_ptr[Blob] Ptr
21         const TensorDesc& getTensorDesc() const
22         size_t element_size()  const
23
24     cdef cppclass Precision:
25         const char*name() const
26
27
28 cdef extern from "ie_api_impl.hpp" namespace "InferenceEnginePython":
29     cdef cppclass IENetLayer:
30         string name
31         string type
32         string precision
33         string affinity
34         string shape
35         string layout
36         vector[string] children
37         vector[string] parents
38         map[string, string] params
39         void setAffinity(const string & target_affinity) except +
40         void setParams(const map[string, string] & params_map) except +
41         map[string, Blob.Ptr] getWeights() except +
42         void setPrecision(string precision) except +
43
44     cdef cppclass InputInfo:
45         vector[size_t] dims
46         string precision
47         string layout
48         void setPrecision(string precision) except +
49         void setLayout(string layout) except +
50
51     cdef cppclass OutputInfo:
52         vector[size_t] dims
53         string precision
54         string layout
55         void setPrecision(string precision) except +
56
57     cdef cppclass ProfileInfo:
58         string status
59         string exec_type
60         string layer_type
61         long long real_time
62         long long cpu_time
63         unsigned int execution_index
64
65     cdef cppclass WeightsInfo:
66         Blob.Ptr & weights;
67         Blob.Ptr & biases;
68         map[string, Blob.Ptr] custom_blobs;
69
70     cdef cppclass IEExecNetwork:
71         vector[InferRequestWrap] infer_requests
72
73     cdef cppclass IENetwork:
74         IENetwork() except +
75         IENetwork(const string &, const string &) except +
76         string name
77         size_t batch_size
78         map[string, vector[size_t]] inputs
79         const vector[pair[string, IENetLayer]] getLayers() except +
80         map[string, InputInfo] getInputs() except +
81         map[string, OutputInfo] getOutputs() except +
82         void addOutputs(vector[string] &, string &) except +
83         void setAffinity(map[string, string] & types_affinity_map, map[string, string] & layers_affinity_map) except +
84         void setBatch(size_t size) except +
85         void setLayerParams(map[string, map[string, string]] params_map) except +
86         void serialize(const string& path_to_xml, const string& path_to_bin) except +
87         void reshape(map[string, vector[size_t]] input_shapes) except +
88         void setStats(map[string, map[string, vector[float]]] & stats) except +
89         map[string, map[string, vector[float]]] getStats() except +
90
91     cdef cppclass IEPlugin:
92         IEPlugin() except +
93         IEPlugin(const string &, const vector[string] &) except +
94         unique_ptr[IEExecNetwork] load(IENetwork & net, int num_requests, const map[string, string]& config) except +
95         void addCpuExtension(const string &) except +
96         void setConfig(const map[string, string] &) except +
97         void setInitialAffinity(IENetwork & net) except +
98         set[string] queryNetwork(const IENetwork & net) except +
99         string device_name
100         string version
101
102     cdef cppclass InferRequestWrap:
103         double exec_time;
104         void getBlobPtr(const string &blob_name, Blob.Ptr &blob_ptr) except +
105         map[string, ProfileInfo] getPerformanceCounts() except +
106         void infer() except +
107         void infer_async() except +
108         int wait(int64_t timeout) except +
109         void setBatch(int size) except +
110
111     cdef T*get_buffer[T](Blob &)
112
113     cdef string get_version()