|  | """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 |