[PyOV] Fix userdata default value (#13481)

* [PyOV] Fix userdata default value

* add test

* apply fixes
This commit is contained in:
Anastasia Kuporosova 2022-10-15 13:11:15 +02:00 committed by GitHub
parent 2e336e4bb8
commit 81c0456acf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 20 additions and 2 deletions

View File

@ -159,7 +159,7 @@ void regclass_AsyncInferQueue(py::module m) {
}
std::vector<InferRequestWrapper> requests;
std::queue<size_t> idle_handles;
std::vector<py::object> user_ids(jobs);
std::vector<py::object> user_ids(jobs, py::none());
for (size_t handle = 0; handle < jobs; handle++) {
auto request = InferRequestWrapper(model.create_infer_request());
@ -359,7 +359,7 @@ void regclass_AsyncInferQueue(py::module m) {
return self._user_ids;
},
R"(
:return: List of all passed userdata. None if the data wasn't passed yet.
:return: List of all passed userdata. List is filled with `None` if the data wasn't passed yet.
:rtype: List[Any]
)");

View File

@ -493,6 +493,24 @@ def test_infer_queue_is_ready(device):
infer_queue.wait_all()
def test_infer_queue_userdata_is_empty(device):
core = Core()
param = ops.parameter([10])
model = Model(ops.relu(param), [param])
compiled_model = core.compile_model(model, device)
infer_queue = AsyncInferQueue(compiled_model, 1)
assert infer_queue.userdata == [None]
def test_infer_queue_userdata_is_empty_more_jobs(device):
core = Core()
param = ops.parameter([10])
model = Model(ops.relu(param), [param])
compiled_model = core.compile_model(model, device)
infer_queue = AsyncInferQueue(compiled_model, 5)
assert infer_queue.userdata == [None, None, None, None, None]
def test_infer_queue_fail_on_cpp_model(device):
jobs = 6
num_request = 4