JitScalarType¶
- class torch.onnx.JitScalarType(value)¶
Scalar types defined in torch.
Use
JitScalarType
to convert from torch and JIT scalar types to ONNX scalar types.Examples
>>> JitScalarType.from_value(torch.ones(1, 2)).onnx_type() TensorProtoDataType.FLOAT
>>> JitScalarType.from_value(torch_c_value_with_type_float).onnx_type() TensorProtoDataType.FLOAT
>>> JitScalarType.from_dtype(torch.get_default_dtype).onnx_type() TensorProtoDataType.FLOAT
- classmethod from_dtype(dtype)[source]¶
Convert a torch dtype to JitScalarType.
- Note: DO NOT USE this API when dtype comes from a torch._C.Value.type() calls.
A “RuntimeError: INTERNAL ASSERT FAILED at “../aten/src/ATen/core/jit_type_base.h” can be raised in several scenarios where shape info is not present. Instead use from_value API which is safer.
- Parameters
dtype (Optional[dtype]) – A torch.dtype to create a JitScalarType from
- Returns
JitScalarType
- Raises
OnnxExporterError – if dtype is not a valid torch.dtype or if it is None.
- Return type
- classmethod from_value(value, default=None)[source]¶
Create a JitScalarType from an value’s scalar type.
- Parameters
- Returns
JitScalarType.
- Raises
OnnxExporterError – if value does not have a valid scalar type and default is None.
SymbolicValueError – when value.type()’s info are empty and default is None
- Return type
- scalar_name()[source]¶
Convert a JitScalarType to a JIT scalar type name.
- Return type
Literal[‘Byte’, ‘Char’, ‘Double’, ‘Float’, ‘Half’, ‘Int’, ‘Long’, ‘Short’, ‘Bool’, ‘ComplexHalf’, ‘ComplexFloat’, ‘ComplexDouble’, ‘QInt8’, ‘QUInt8’, ‘QInt32’, ‘BFloat16’, ‘Float8E5M2’, ‘Float8E4M3FN’, ‘Undefined’]