.. _l-design-torch-op-coverage: ========================================== Op-db Coverage per Op and Type ========================================== This page shows, for every op collected from :mod:`torch.testing._internal.common_methods_invocations` (``op_db``), which data types are covered by the op-db export tests in: * :mod:`unittests.torch.coverage.test_onnx_export_common_methods` * :mod:`unittests.torch.coverage.test_onnx_export_common_methods_tracing` * :mod:`unittests.torch.coverage.test_onnx_export_common_methods_new_tracing` Legend: * ``✔`` — converter exists and the test passes for that dtype. * ``⚠ xfail`` — converter exists but the test is a **known failure** for that dtype (incorrect numerical results, unsupported dtype mapping, etc.). * ``✘ no converter`` — no ONNX converter has been implemented for this op yet. * ``—`` — the op does not support that dtype at all. The exclusion sets (:data:`~yobx.torch.coverage.op_coverage.NO_CONVERTER_OPS`, :data:`~yobx.torch.coverage.op_coverage.XFAIL_OPS`, and the per-dtype xfail sets) are defined in :mod:`yobx.torch.coverage.op_coverage` and are imported by the test module so that both sources always stay in sync. Default export path +++++++++++++++++++ .. runpython:: :rst: :warningout: UserWarning :process: from yobx.torch.coverage.op_coverage import get_op_coverage_rst print(get_op_coverage_rst("default")) print() Torch tracing export path +++++++++++++++++++++++++ .. runpython:: :rst: :warningout: UserWarning :process: from yobx.torch.coverage.op_coverage import get_op_coverage_rst print(get_op_coverage_rst("tracing")) print() New-tracing export path +++++++++++++++++++++++ .. runpython:: :rst: :warningout: UserWarning :process: from yobx.torch.coverage.op_coverage import get_op_coverage_rst print(get_op_coverage_rst("new-tracing")) print() Float32 comparison across export paths +++++++++++++++++++++++++++++++++++++++ This section compares, for every op that supports ``float32``, whether it passes, is a known failure (xfail), or has no converter for the three export paths side by side. .. runpython:: :rst: :warningout: UserWarning :process: from yobx.torch.coverage.op_coverage import get_op_coverage_float32_comparison_rst print(get_op_coverage_float32_comparison_rst()) print()