1 from libc.stddef cimport size_t
2 from libcpp cimport bool
3 from libcpp.string cimport string
4 from libcpp.vector cimport vector
5 from libcpp.map cimport map
6 from libcpp.set cimport set
7 from libcpp.pair cimport pair
8 from libcpp.memory cimport unique_ptr, shared_ptr
9 from libc.stdint cimport int64_t, uint8_t
12 cdef extern from "<inference_engine.hpp>" namespace "InferenceEngine":
13 ctypedef vector[size_t] SizeVector
15 cdef cppclass TensorDesc:
17 const Precision& getPrecision() const
20 ctypedef shared_ptr[Blob] Ptr
21 const TensorDesc& getTensorDesc() const
22 size_t element_size() const
24 cdef cppclass Precision:
25 const char*name() const
27 cdef struct apiVersion:
31 cdef cppclass Version:
32 const char *buildNumber
33 const char *description
36 cdef extern from "ie_api_impl.hpp" namespace "InferenceEnginePython":
37 cdef cppclass IENetLayer:
44 vector[string] children
45 vector[string] parents
46 map[string, string] params
47 void setAffinity(const string & target_affinity) except +
48 void setParams(const map[string, string] & params_map) except +
49 map[string, Blob.Ptr] getWeights() except +
50 void setPrecision(string precision) except +
52 cdef cppclass InputInfo:
56 void setPrecision(string precision) except +
57 void setLayout(string layout) except +
59 cdef cppclass OutputInfo:
63 void setPrecision(string precision) except +
65 cdef cppclass ProfileInfo:
71 unsigned int execution_index
73 cdef cppclass WeightsInfo:
76 map[string, Blob.Ptr] custom_blobs;
78 cdef cppclass IEExecNetwork:
79 vector[InferRequestWrap] infer_requests
80 IENetwork GetExecGraphInfo() except +
81 object getMetric(const string & metric_name)
82 object getConfig(const string & metric_name)
84 cdef cppclass IENetwork:
86 IENetwork(const string &, const string &, bool ngraph_compatibility) except +
90 map[string, vector[size_t]] inputs
91 const vector[pair[string, IENetLayer]] getLayers() except +
92 map[string, InputInfo] getInputs() except +
93 map[string, OutputInfo] getOutputs() except +
94 void addOutput(string &, size_t) except +
95 void setAffinity(map[string, string] & types_affinity_map, map[string, string] & layers_affinity_map) except +
96 void setBatch(size_t size) except +
97 void setLayerParams(map[string, map[string, string]] params_map) except +
98 void serialize(const string& path_to_xml, const string& path_to_bin) except +
99 void reshape(map[string, vector[size_t]] input_shapes) except +
100 void setStats(map[string, map[string, vector[float]]] & stats) except +
101 map[string, map[string, vector[float]]] getStats() except +
102 void load_from_buffer(const char*xml, size_t xml_size, uint8_t*bin, size_t bin_size) except +
104 cdef cppclass IEPlugin:
106 IEPlugin(const string &, const vector[string] &) except +
107 unique_ptr[IEExecNetwork] load(IENetwork & net, int num_requests, const map[string, string]& config) except +
108 void addCpuExtension(const string &) except +
109 void setConfig(const map[string, string] &) except +
110 void setInitialAffinity(IENetwork & net) except +
111 set[string] queryNetwork(const IENetwork & net) except +
115 cdef cppclass InferRequestWrap:
117 void getBlobPtr(const string & blob_name, Blob.Ptr & blob_ptr) except +
118 map[string, ProfileInfo] getPerformanceCounts() except +
119 void infer() except +
120 void infer_async() except +
121 int wait(int64_t timeout) except +
122 void setBatch(int size) except +
123 void setCyCallback(void (*)(void*, int), void *) except +
125 cdef cppclass IECore:
127 IECore(const string & xml_config_file) except +
128 map[string, Version] getVersions(const string & deviceName) except +
129 unique_ptr[IEExecNetwork] loadNetwork(IENetwork network, const string deviceName,
130 const map[string, string] & config, int num_requests) except +
131 map[string, string] queryNetwork(IENetwork network, const string deviceName,
132 const map[string, string] & config) except +
133 void setConfig(const map[string, string] & config, const string & deviceName) except +
134 void registerPlugin(const string & pluginName, const string & deviceName) except +
135 void unregisterPlugin(const string & deviceName) except +
136 void registerPlugins(const string & xmlConfigFile) except +
137 void addExtension(const string & ext_lib_path, const string & deviceName) except +
138 vector[string] getAvailableDevices() except +
139 object getMetric(const string & deviceName, const string & name) except +
140 object getConfig(const string & deviceName, const string & name) except +
142 cdef T*get_buffer[T](Blob &)
144 cdef string get_version()