def test_verify(test_id, prepared_models, openvino_ref, artifacts, tolerance=1e-6): # pylint: disable=too-many-arguments """Test verifying that inference results are equal.""" out = artifacts / test_id minimized_pkg = out / "install_pkg" infer_out_dir_cc = out / "inference_result_cc/" infer_out_dir = out / "inference_result/" return_code, output = run_infer(prepared_models, infer_out_dir, openvino_ref) assert return_code == 0, f"Command exited with non-zero status {return_code}:\n {output}" return_code, output = run_infer(prepared_models, infer_out_dir_cc, minimized_pkg) assert return_code == 0, f"Command exited with non-zero status {return_code}:\n {output}" for model in prepared_models: out_file = f"{infer_out_dir / Path(model).name}.npz" out_file_cc = f"{infer_out_dir_cc / Path(model).name}.npz" reference_results = dict(np.load(out_file)) inference_results = dict(np.load(out_file_cc)) assert sorted(reference_results.keys()) == sorted( inference_results.keys( )), "Results have different number of layers" for layer in reference_results.keys(): assert np.allclose( reference_results[layer], inference_results[layer], tolerance), "Reference and inference results differ"
def test_infer(test_id, models, artifacts): """Test inference with conditional compiled binaries.""" out = artifacts / test_id minimized_pkg = out / "install_pkg" infer_out_dir_cc = out / "inference_result_cc/" return_code, output = run_infer(models, infer_out_dir_cc, minimized_pkg) assert return_code == 0, f"Command exited with non-zero status {return_code}:\n {output}"