"""Experimental classes and functions used by ONNX export.""" import dataclasses from typing import Mapping, Optional, Sequence, Set, Type, Union import torch import torch._C._onnx as _C_onnx @dataclasses.dataclass class ExportOptions: """Arguments used by :func:`torch.onnx.export`. TODO: Adopt this in `torch.onnx.export` api to replace keyword arguments. """ export_params: bool = True verbose: bool = False training: _C_onnx.TrainingMode = _C_onnx.TrainingMode.EVAL input_names: Optional[Sequence[str]] = None output_names: Optional[Sequence[str]] = None operator_export_type: _C_onnx.OperatorExportTypes = _C_onnx.OperatorExportTypes.ONNX opset_version: Optional[int] = None do_constant_folding: bool = True dynamic_axes: Optional[Mapping[str, Union[Mapping[int, str], Sequence[int]]]] = None keep_initializers_as_inputs: Optional[bool] = None custom_opsets: Optional[Mapping[str, int]] = None export_modules_as_functions: Union[bool, Set[Type[torch.nn.Module]]] = False