tensor¶
- onnx_ir.tensor(value, dtype=None, name=None, doc_string=None)¶
从 ArrayLike 对象或 TensorProto 创建张量值。
dtype 必须与值匹配。不支持对值进行重新解释,除非该值是纯 Python 对象,在这种情况下,它会转换为具有给定 dtype 的 numpy 数组。
value可以是 numpy 数组、纯 Python 对象或 TensorProto。警告
对于 4 位 dtype,值必须是未打包的。使用
PackedTensor创建一个包含打包数据的张量。示例
>>> import onnx_ir as ir >>> import numpy as np >>> import ml_dtypes >>> import onnx >>> ir.tensor(np.array([1, 2, 3], dtype=np.int16)) Tensor<INT16,[3]>(array([1, 2, 3], dtype=int16), name=None) >>> ir.tensor([1, 2, 3], dtype=ir.DataType.BFLOAT16) Tensor<BFLOAT16,[3]>(array([1, 2, 3], dtype=bfloat16), name=None) >>> tp_tensor = ir.tensor(onnx.helper.make_tensor("tensor", onnx.TensorProto.FLOAT, dims=[], vals=[0.5])) >>> tp_tensor.numpy() array(0.5, dtype=float32) >>> import torch >>> ir.tensor(torch.tensor([1.0, 2.0]), name="torch_tensor") TorchTensor<FLOAT,[2]>(tensor([1., 2.]), name='torch_tensor')
- 参数:
value (npt.ArrayLike | onnx.TensorProto | ir.DLPackCompatible | ir.ArrayCompatible) – 用于创建张量的 numpy 数组。
dtype (ir.DataType | None) – 张量的数据类型。
name (str | None) – 张量的名称。
doc_string (str | None) – 张量的文档字符串。
- 返回:
一个张量值。
- 引发:
ValueError – 如果 value 不是纯 Python 对象(如
list[int]),且 dtype 与 value 不匹配。- 返回类型:
_protocols.TensorProtocol