JitScalarType

classtorch.onnx.JitScalarType(value)

Torch中定义的标量类型。

使用 JitScalarType 将 torch 和 JIT 的标量类型转换为 ONNX 标量类型。

示例

>>> 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
dtype()[源代码]

将 JitScalarType 转换为 torch 的数据类型。

返回类型

dtype

classmethodfrom_dtype(dtype)[源代码]

将 Torch 数据类型转换为 JitScalarType。

注意:当 dtype 来源于 torch._C.Value.type() 调用时,不要使用此 API。

“RuntimeError: INTERNAL ASSERT FAILED at “../aten/src/ATen/core/jit_type_base.h” 可能在缺少形状信息的情况下被抛出。建议使用 from_value API,因为它更安全。

参数

dtype (torch.dtype|None) – 创建 JitScalarType 所用的 torch.dtype

返回值

JitScalarType

异常

OnnxExporterError — 如果 dtype 不是一个有效的 torch.dtype,或者 dtype 为 None。

返回类型

JitScalarType

classmethodfrom_onnx_type(onnx_type)[源代码]

将 ONNX 数据类型转换为 JitScalarType。

参数

onnx_type (int|_C_onnx.TensorProtoDataType|None) – 用于创建 JitScalarType 的 torch._C._onnx.TensorProtoDataType 对象

返回值

JitScalarType

异常

OnnxExporterError — 如果 dtype 不是一个有效的 torch.dtype,或者 dtype 为 None。

返回类型

JitScalarType

classmethodfrom_value(value, default=None)[源代码]

根据值的标量类型创建一个 JitScalarType。

参数
  • value (None | torch._C.Value | torch.Tensor) – 用于获取标量类型的对象。

  • default - 如果无法从值中获取有效标量,则返回的 JitScalarType

返回值

JitScalarType

异常
  • OnnxExporterError – 当值没有有效的标量类型且默认值为 None 时触发。

  • SymbolicValueError – 当 value.type() 的信息为空且默认值为 None 时

返回类型

JitScalarType

onnx_compatible()[源代码]

判断此 JitScalarType 是否与 ONNX 兼容,并返回结果。

返回类型

bool

onnx_type()[源代码]

将 JitScalarType 转换为 ONNX 的数据类型。

返回类型

TensorProto 数据类型

scalar_name()[源代码]

将 JitScalarType 转换为 JIT 标量类型的名称。

返回类型

Literal[‘Byte’, ‘Char’, ‘Double’, ‘Float’, ‘Half’, ‘Int’, ‘Long’, ‘Short’, ‘Bool’, ‘ComplexHalf’, ‘ComplexFloat’, ‘ComplexDouble’, ‘QInt8’, ‘QUInt8’, ‘QInt32’, ‘BFloat16’, ‘Float8E5M2’, ‘Float8E4M3FN’, ‘Float8E5M2FNUZ’, ‘Float8E4M3FNUZ’, ‘Undefined’]

torch_name()[源代码]

将 JitScalarType 转换为 torch 类型名。

返回类型

Literal[‘bool’, ‘uint8_t’, ‘int8_t’, ‘double’, ‘float’, ‘half’, ‘int’, ‘int64_t’, ‘int16_t’, ‘complex32’, ‘complex64’, ‘complex128’, ‘qint8’, ‘quint8’, ‘qint32’, ‘bfloat16’, ‘float8_e5m2’, ‘float8_e4m3fn’, ‘float8_e5m2fnuz’, ‘float8_e4m3fnuz’]

本页目录