(
torch_model,
example_args,
binding,
expected,
dynamic_shapes=None,
run_ep_decomposition=True,
keep_params_as_input=False,
unwrap_unit_return_tuple=False,
no_bind_return_tuple=False,
map_free_vars=False,
custom_convert_map=None,
)
| 35 | |
| 36 | |
| 37 | def verify_model( |
| 38 | torch_model, |
| 39 | example_args, |
| 40 | binding, |
| 41 | expected, |
| 42 | dynamic_shapes=None, |
| 43 | run_ep_decomposition=True, |
| 44 | keep_params_as_input=False, |
| 45 | unwrap_unit_return_tuple=False, |
| 46 | no_bind_return_tuple=False, |
| 47 | map_free_vars=False, |
| 48 | custom_convert_map=None, |
| 49 | ): |
| 50 | exported_program = export(torch_model, args=example_args, dynamic_shapes=dynamic_shapes) |
| 51 | mod = from_exported_program( |
| 52 | exported_program, |
| 53 | run_ep_decomposition=run_ep_decomposition, |
| 54 | keep_params_as_input=keep_params_as_input, |
| 55 | unwrap_unit_return_tuple=unwrap_unit_return_tuple, |
| 56 | no_bind_return_tuple=no_bind_return_tuple, |
| 57 | custom_convert_map=custom_convert_map, |
| 58 | ) |
| 59 | |
| 60 | binding = {k: tvm.runtime.tensor(v) for k, v in binding.items()} |
| 61 | expected = relax.transform.BindParams("main", binding)(expected) |
| 62 | tvm.ir.assert_structural_equal(mod, expected, map_free_vars=map_free_vars) |
| 63 | |
| 64 | |
| 65 | def verify_model_numerically(torch_model, example_args, rtol=1e-7, atol=1e-7): |
no test coverage detected
searching dependent graphs…