1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
|
"""
GENERATED CODE - DO NOT EDIT DIRECTLY
This file is generated by gen_diagnostics.py.
See tools/onnx/gen_diagnostics.py for more information.
Diagnostic rules for PyTorch ONNX export.
"""
import dataclasses
# flake8: noqa
from torch.onnx._internal.diagnostics import infra
@dataclasses.dataclass
class _POERules(infra.RuleCollection):
node_missing_onnx_shape_inference: infra.Rule = dataclasses.field(
default=infra.Rule.from_sarif(
**{
"id": "POE0001",
"name": "node-missing-onnx-shape-inference",
"short_description": {"text": "Node is missing ONNX shape inference."},
"full_description": {
"text": "",
"markdown": "Node is missing ONNX shape inference.\nThis usually happens when the node is not valid under standard ONNX operator spec.\n",
},
"message_strings": {
"default": {
"text": "The shape inference of {0} type is missing, so it may result in wrong shape inference for the exported graph. Please consider adding it in symbolic function."
}
},
"help_uri": None,
"properties": {"deprecated": False, "tags": []},
}
),
init=False,
)
"""Node is missing ONNX shape inference."""
missing_custom_symbolic_function: infra.Rule = dataclasses.field(
default=infra.Rule.from_sarif(
**{
"id": "POE0002",
"name": "missing-custom-symbolic-function",
"short_description": {
"text": "Missing symbolic function for custom PyTorch operator, cannot translate node to ONNX."
},
"full_description": {
"text": "",
"markdown": "Missing symbolic function for custom PyTorch operator, cannot translate node to ONNX.\n",
},
"message_strings": {
"default": {
"text": "ONNX export failed on an operator with unrecognized namespace {0}. If you are trying to export a custom operator, make sure you registered it with the right domain and version."
}
},
"help_uri": None,
"properties": {"deprecated": False, "tags": []},
}
),
init=False,
)
"""Missing symbolic function for custom PyTorch operator, cannot translate node to ONNX."""
missing_standard_symbolic_function: infra.Rule = dataclasses.field(
default=infra.Rule.from_sarif(
**{
"id": "POE0003",
"name": "missing-standard-symbolic-function",
"short_description": {
"text": "Missing symbolic function for standard PyTorch operator, cannot translate node to ONNX."
},
"full_description": {
"text": "",
"markdown": "Missing symbolic function for standard PyTorch operator, cannot translate node to ONNX.\n",
},
"message_strings": {
"default": {
"text": "Exporting the operator '{0}' to ONNX opset version {1} is not supported. Please feel free to request support or submit a pull request on PyTorch GitHub: {2}."
}
},
"help_uri": None,
"properties": {"deprecated": False, "tags": []},
}
),
init=False,
)
"""Missing symbolic function for standard PyTorch operator, cannot translate node to ONNX."""
operator_supported_in_newer_opset_version: infra.Rule = dataclasses.field(
default=infra.Rule.from_sarif(
**{
"id": "POE0004",
"name": "operator-supported-in-newer-opset-version",
"short_description": {
"text": "Operator is supported in newer opset version."
},
"full_description": {
"text": "",
"markdown": "Operator is supported in newer opset version.\n\nExample:\n```python\ntorch.onnx.export(model, args, ..., opset_version=9)\n```\n",
},
"message_strings": {
"default": {
"text": "Exporting the operator '{0}' to ONNX opset version {1} is not supported. Support for this operator was added in version {2}, try exporting with this version."
}
},
"help_uri": None,
"properties": {"deprecated": False, "tags": []},
}
),
init=False,
)
"""Operator is supported in newer opset version."""
rules = _POERules()
|