[PyOV] Fix deprecation warning in tests (#15830)

* [PyOV] Fix deprecation warning in tests

* Update src/bindings/python/tests/test_graph/test_manager.py
This commit is contained in:
Anastasia Kuporosova 2023-02-22 18:08:49 +01:00 committed by GitHub
parent 893f96a7da
commit 592ad68455
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 43 additions and 103 deletions

View File

@ -8,17 +8,26 @@ import os
import numpy as np
import pytest
import openvino.runtime.opset8 as ov
from openvino.runtime import Model
import openvino.runtime.opset10 as ops
from openvino.runtime import Core, Model
from openvino.runtime.passes import Manager, Serialize, ConstantFolding, Version
from tests.test_graph.util import count_ops_of_type
from openvino.runtime import Core
from tests.test_utils.test_utils import create_filename_for_test
def create_model():
shape = [100, 100, 2]
parameter_a = ops.parameter(shape, dtype=np.float32, name="A")
parameter_b = ops.parameter(shape, dtype=np.float32, name="B")
parameter_c = ops.parameter(shape, dtype=np.float32, name="C")
model = ops.floor(ops.minimum(ops.abs(parameter_a), ops.multiply(parameter_b, parameter_c)))
func = Model(model, [parameter_a, parameter_b, parameter_c], "Model")
return func
def test_constant_folding():
node_constant = ov.constant(np.array([[0.0, 0.1, -0.1], [-2.5, 2.5, 3.0]], dtype=np.float32))
node_ceil = ov.ceiling(node_constant)
node_constant = ops.constant(np.array([[0.0, 0.1, -0.1], [-2.5, 2.5, 3.0]], dtype=np.float32))
node_ceil = ops.ceiling(node_constant)
model = Model(node_ceil, [], "TestFunction")
assert count_ops_of_type(model, node_ceil) == 1
@ -43,9 +52,9 @@ def test_serialize_seperate_paths_kwargs(request, tmp_path):
core = Core()
xml_path, bin_path = create_filename_for_test(request.node.name, tmp_path)
shape = [2, 2]
parameter_a = ov.parameter(shape, dtype=np.float32, name="A")
parameter_b = ov.parameter(shape, dtype=np.float32, name="B")
parameter_c = ov.parameter(shape, dtype=np.float32, name="C")
parameter_a = ops.parameter(shape, dtype=np.float32, name="A")
parameter_b = ops.parameter(shape, dtype=np.float32, name="B")
parameter_c = ops.parameter(shape, dtype=np.float32, name="C")
model = (parameter_a + parameter_b) * parameter_c
func = Model(model, [parameter_a, parameter_b, parameter_c], "Model")
@ -67,10 +76,10 @@ def test_serialize_seperate_paths_args(request, tmp_path):
core = Core()
xml_path, bin_path = create_filename_for_test(request.node.name, tmp_path)
shape = [2, 2]
parameter_a = ov.parameter(shape, dtype=np.float32, name="A")
parameter_b = ov.parameter(shape, dtype=np.float32, name="B")
parameter_c = ov.parameter(shape, dtype=np.float32, name="C")
parameter_d = ov.parameter(shape, dtype=np.float32, name="D")
parameter_a = ops.parameter(shape, dtype=np.float32, name="A")
parameter_b = ops.parameter(shape, dtype=np.float32, name="B")
parameter_c = ops.parameter(shape, dtype=np.float32, name="C")
parameter_d = ops.parameter(shape, dtype=np.float32, name="D")
model = ((parameter_a + parameter_b) * parameter_c) / parameter_d
func = Model(model, [parameter_a, parameter_b, parameter_c, parameter_d], "Model")
@ -92,8 +101,8 @@ def test_serialize_pass_mixed_args_kwargs(request, tmp_path):
core = Core()
xml_path, bin_path = create_filename_for_test(request.node.name, tmp_path)
shape = [3, 2]
parameter_a = ov.parameter(shape, dtype=np.float32, name="A")
parameter_b = ov.parameter(shape, dtype=np.float32, name="B")
parameter_a = ops.parameter(shape, dtype=np.float32, name="A")
parameter_b = ops.parameter(shape, dtype=np.float32, name="B")
model = parameter_a - parameter_b
func = Model(model, [parameter_a, parameter_b], "Model")
@ -114,20 +123,15 @@ def test_serialize_pass_mixed_args_kwargs(request, tmp_path):
def test_serialize_pass_mixed_args_kwargs_v2(request, tmp_path):
core = Core()
xml_path, bin_path = create_filename_for_test(request.node.name, tmp_path)
shape = [100, 100, 2]
parameter_a = ov.parameter(shape, dtype=np.float32, name="A")
parameter_b = ov.parameter(shape, dtype=np.float32, name="B")
parameter_c = ov.parameter(shape, dtype=np.float32, name="C")
model = ov.floor(ov.minimum(ov.abs(parameter_a), ov.multiply(parameter_b, parameter_c)))
func = Model(model, [parameter_a, parameter_b, parameter_c], "Model")
model = create_model()
pass_manager = Manager()
pass_manager.register_pass(Serialize(path_to_xml=xml_path, path_to_bin=bin_path))
pass_manager.run_passes(func)
pass_manager.run_passes(model)
res_model = core.read_model(model=xml_path, weights=bin_path)
assert func.get_parameters() == res_model.get_parameters()
assert func.get_ordered_ops() == res_model.get_ordered_ops()
assert model.get_parameters() == res_model.get_parameters()
assert model.get_ordered_ops() == res_model.get_ordered_ops()
os.remove(xml_path)
os.remove(bin_path)
@ -146,8 +150,8 @@ def test_serialize_pass_wrong_num_of_args(request, tmp_path):
# request - https://docs.pytest.org/en/7.1.x/reference/reference.html#request
def test_serialize_results(request, tmp_path):
core = Core()
node_constant = ov.constant(np.array([[0.0, 0.1, -0.1], [-2.5, 2.5, 3.0]], dtype=np.float32))
node_ceil = ov.ceiling(node_constant)
node_constant = ops.constant(np.array([[0.0, 0.1, -0.1], [-2.5, 2.5, 3.0]], dtype=np.float32))
node_ceil = ops.ceiling(node_constant)
func = Model(node_ceil, [], "Model")
xml_path, bin_path = create_filename_for_test(request.node.name, tmp_path)
@ -165,73 +169,19 @@ def test_serialize_results(request, tmp_path):
os.remove(bin_path)
# request - https://docs.pytest.org/en/7.1.x/reference/reference.html#request
def test_serialize_pass_tuple(request, tmp_path):
core = Core()
xml_path, bin_path = create_filename_for_test(request.node.name, tmp_path)
shape = [100, 100, 2]
parameter_a = ov.parameter(shape, dtype=np.float32, name="A")
parameter_b = ov.parameter(shape, dtype=np.float32, name="B")
parameter_c = ov.parameter(shape, dtype=np.float32, name="C")
parameter_d = ov.parameter(shape, dtype=np.float32, name="D")
model = ov.floor(ov.minimum(ov.abs(parameter_a), ov.multiply(parameter_b, parameter_c)))
func = Model(model, [parameter_a, parameter_b, parameter_c], "Model")
pass_manager = Manager()
pass_manager.register_pass("Serialize", output_files=(xml_path, bin_path))
pass_manager.run_passes(func)
res_model = core.read_model(model=xml_path, weights=bin_path)
assert func.get_parameters() == res_model.get_parameters()
assert func.get_ordered_ops() == res_model.get_ordered_ops()
os.remove(xml_path)
os.remove(bin_path)
# request - https://docs.pytest.org/en/7.1.x/reference/reference.html#request
def test_default_version(request, tmp_path):
core = Core()
xml_path, bin_path = create_filename_for_test(request.node.name, tmp_path)
shape = [100, 100, 2]
parameter_a = ov.parameter(shape, dtype=np.float32, name="A")
parameter_b = ov.parameter(shape, dtype=np.float32, name="B")
parameter_c = ov.parameter(shape, dtype=np.float32, name="C")
parameter_d = ov.parameter(shape, dtype=np.float32, name="D")
model = ov.floor(ov.minimum(ov.abs(parameter_a), ov.multiply(parameter_b, parameter_c)))
func = Model(model, [parameter_a, parameter_b, parameter_c], "Model")
model = create_model()
pass_manager = Manager()
pass_manager.register_pass("Serialize", output_files=(xml_path, bin_path))
pass_manager.run_passes(func)
pass_manager.register_pass(Serialize(xml_path, bin_path))
pass_manager.run_passes(model)
res_model = core.read_model(model=xml_path, weights=bin_path)
assert func.get_parameters() == res_model.get_parameters()
assert func.get_ordered_ops() == res_model.get_ordered_ops()
os.remove(xml_path)
os.remove(bin_path)
# request - https://docs.pytest.org/en/7.1.x/reference/reference.html#request
def test_default_version_IR_V11_tuple(request, tmp_path):
core = Core()
xml_path, bin_path = create_filename_for_test(request.node.name, tmp_path)
shape = [100, 100, 2]
parameter_a = ov.parameter(shape, dtype=np.float32, name="A")
parameter_b = ov.parameter(shape, dtype=np.float32, name="B")
parameter_c = ov.parameter(shape, dtype=np.float32, name="C")
parameter_d = ov.parameter(shape, dtype=np.float32, name="D")
model = ov.floor(ov.minimum(ov.abs(parameter_a), ov.multiply(parameter_b, parameter_c)))
func = Model(model, [parameter_a, parameter_b, parameter_c], "Model")
pass_manager = Manager()
pass_manager.register_pass("Serialize", output_files=(xml_path, bin_path), version="IR_V11")
pass_manager.run_passes(func)
res_model = core.read_model(model=xml_path, weights=bin_path)
assert func.get_parameters() == res_model.get_parameters()
assert func.get_ordered_ops() == res_model.get_ordered_ops()
assert model.get_parameters() == res_model.get_parameters()
assert model.get_ordered_ops() == res_model.get_ordered_ops()
os.remove(xml_path)
os.remove(bin_path)
@ -241,21 +191,15 @@ def test_default_version_IR_V11_tuple(request, tmp_path):
def test_default_version_IR_V11_seperate_paths(request, tmp_path):
core = Core()
xml_path, bin_path = create_filename_for_test(request.node.name, tmp_path)
shape = [100, 100, 2]
parameter_a = ov.parameter(shape, dtype=np.float32, name="A")
parameter_b = ov.parameter(shape, dtype=np.float32, name="B")
parameter_c = ov.parameter(shape, dtype=np.float32, name="C")
parameter_d = ov.parameter(shape, dtype=np.float32, name="D")
model = ov.floor(ov.minimum(ov.abs(parameter_a), ov.multiply(parameter_b, parameter_c)))
func = Model(model, [parameter_a, parameter_b, parameter_c], "Model")
model = create_model()
pass_manager = Manager()
pass_manager.register_pass(Serialize(path_to_xml=xml_path, path_to_bin=bin_path, version=Version.IR_V11))
pass_manager.run_passes(func)
pass_manager.run_passes(model)
res_model = core.read_model(model=xml_path, weights=bin_path)
assert func.get_parameters() == res_model.get_parameters()
assert func.get_ordered_ops() == res_model.get_ordered_ops()
assert model.get_parameters() == res_model.get_parameters()
assert model.get_ordered_ops() == res_model.get_ordered_ops()
os.remove(xml_path)
os.remove(bin_path)

View File

@ -32,14 +32,10 @@ def test_registration_and_pass_name():
GraphRewrite().set_name("Anchor")
BackwardGraphRewrite().set_name("BackAnchor")
# Preserve legacy behaviour when registered pass doesn't exist
# and in this case we shouldn't throw an exception.
manager.register_pass("NotExistingPass")
def test_negative_pass_registration():
manager = Manager()
expect_exception(lambda: manager.register_pass(PatternReplacement))
expect_exception(lambda: manager.register_pass("PatternReplacement", PatternReplacement()))
expect_exception(lambda: manager.register_pass("Serialize", Serialize("out.xml", "out.bin")))
expect_exception(lambda: manager.register_pass("Serialize", "out.xml", "out.bin", "out.wrong"))
expect_exception(lambda: manager.register_pass(Serialize("out.xml", "out.bin", "out.wrong")))

View File

@ -6,7 +6,7 @@ import os
import pytest
import numpy as np
from openvino.runtime import serialize
from openvino.offline_transformations import (
from openvino._offline_transformations import (
apply_moc_transformations,
apply_pot_transformations,
apply_low_latency_transformation,

View File

@ -27,7 +27,7 @@ def einsum_op_exec(input_shapes: list, equation: str, data_type: np.dtype,
ng_inputs = []
np_inputs = []
for i in range(num_inputs):
input_i = np.random.random_integers(10, size=input_shapes[i]).astype(data_type)
input_i = np.random.randint(1, 10 + 1, size=input_shapes[i]).astype(data_type)
np_inputs.append(input_i)
ng_inputs.append(ng.parameter(input_i.shape, dtype=data_type))

View File

@ -33,7 +33,7 @@ def test_elu_operator_with_scalar():
def test_fake_quantize():
levels = np.float32(4)
levels = np.int32(4)
data_shape = [1, 2, 3, 4]
bound_shape = []
@ -60,7 +60,7 @@ def test_fake_quantize():
def test_depth_to_space():
data_shape = [1, 4, 2, 3]
mode = "blocks_first"
block_size = np.float32(2)
block_size = np.int32(2)
parameter_data = ng.parameter(data_shape, name="Data", dtype=np.float32)