def test_compress_model_transformation(): node_constant = ov.opset8.constant(np.array([[0.0, 0.1, -0.1], [-2.5, 2.5, 3.0]], dtype=np.float32)) node_ceil = ov.opset8.ceiling(node_constant) func = Function(node_ceil, [], "TestFunction") assert func.get_ordered_ops()[0].get_element_type().get_type_name() == "f32" compress_model_transformation(func) assert func is not None assert func.get_ordered_ops()[0].get_element_type().get_type_name() == "f16"
def test_core_class(): input_shape = [1, 3, 4, 4] param = ov.parameter(input_shape, np.float32, name="parameter") relu = ov.relu(param, name="relu") func = Function([relu], [param], "test") func.get_ordered_ops()[2].friendly_name = "friendly" core = Core() model = core.compile_model(func, "CPU", {}) request = model.create_infer_request() input_data = np.random.rand(*input_shape).astype(np.float32) - 0.5 expected_output = np.maximum(0.0, input_data) input_tensor = Tensor(input_data) results = request.infer({"parameter": input_tensor}) assert np.allclose(results, expected_output)
def test_serialize_pass_v2(): core = Core() xml_path = "./serialized_function.xml" bin_path = "./serialized_function.bin" shape = [100, 100, 2] parameter_a = ov.opset8.parameter(shape, dtype=np.float32, name="A") parameter_b = ov.opset8.parameter(shape, dtype=np.float32, name="B") model = ov.opset8.floor(ov.opset8.minimum(ov.opset8.abs(parameter_a), parameter_b)) func = Function(model, [parameter_a, parameter_b], "Function") serialize(func, xml_path, bin_path) assert func is not None res_func = core.read_model(model=xml_path, weights=bin_path) assert func.get_parameters() == res_func.get_parameters() assert func.get_ordered_ops() == res_func.get_ordered_ops() os.remove(xml_path) os.remove(bin_path)