Publishing R3
[platform/upstream/dldt.git] / inference-engine / ie_bridges / python / inference_engine / ie_api.pxd
1 # Copyright (C) 2018 Intel Corporation
2 #
3 # SPDX-License-Identifier: Apache-2.0
4 #
5
6 from .cimport ie_api_impl_defs as C
7 from .ie_api_impl_defs cimport Blob, TensorDesc
8
9 from libcpp.string cimport string
10 from libcpp.vector cimport vector
11 from libcpp.memory cimport unique_ptr
12 from libcpp cimport bool
13
14 cdef class BlobBuffer:
15     cdef Blob.Ptr ptr
16     cdef char*format
17     cdef vector[Py_ssize_t] shape
18     cdef vector[Py_ssize_t] strides
19     cdef reset(self, Blob.Ptr &)
20     cdef char*_get_blob_format(self, const TensorDesc & desc)
21
22     cdef public:
23         total_stride, item_size
24
25 cdef class InferRequest:
26     cdef C.InferRequestWrap *impl
27
28     cpdef BlobBuffer _get_input_buffer(self, const string & blob_name)
29     cpdef BlobBuffer _get_output_buffer(self, const string & blob_name)
30
31     cpdef infer(self, inputs = ?)
32     cpdef async_infer(self, inputs = ?)
33     cpdef wait(self, timeout = ?)
34     cpdef get_perf_counts(self)
35     cdef public:
36         _inputs, _outputs
37
38 cdef class IENetwork:
39     cdef C.IENetwork impl
40
41
42 cdef class ExecutableNetwork:
43     cdef unique_ptr[C.IEExecNetwork] impl
44     cdef public:
45         _requests, async, _request_iterator
46
47 cdef class IEPlugin:
48     cdef C.IEPlugin impl
49     cpdef ExecutableNetwork load(self, IENetwork network, int num_requests = ?, config = ?)
50     cpdef void set_config(self, config)
51     cpdef void add_cpu_extension(self, str extension_path) except *
52     cpdef void set_initial_affinity(self, IENetwork network) except *
53     cpdef set get_supported_layers(self, IENetwork net)
54
55 cdef class IENetReader:
56     cdef C.IENetReader impl
57
58 cdef class IENetLayer:
59     cdef C.IENetLayer impl