Tensor¶
- class onnx_ir.Tensor(value, dtype=None, *, shape=None, name=None, doc_string=None, metadata_props=None)¶
一个不可变的具体张量。
此类是原始张量数据的包装器。原始张量数据可以是与 numpy 数组兼容的对象(例如
np.ndarray、torch.Tensor)或与DLPack兼容的对象。张量是不可变的,并且数据在初始化时不会复制。从 numpy 数组创建张量
>>> import numpy as np >>> array = np.array([1, 2, 3]) >>> tensor = Tensor(array) >>> # The tensor itself can be treated as a numpy array because it implements the __array__ method >>> np.allclose(tensor, array) True
要从张量获取 numpy 数组,请调用
numpy()。要将张量转换为用于序列化的字节字符串,请调用tobytes()。建议在访问底层数据之前先检查张量的大小,因为访问数据可能会很昂贵并产生 I/O 开销。
子类化此类以有效地处理来自不同框架的不同类型的张量。
- 参数:
- name¶
张量的名称。
- shape¶
张量的形状。
- dtype¶
张量元素的 DataTypes。它是一个
ir.DataType枚举。
- doc_string¶
文档字符串。
- raw¶
此张量背后的原始数据。它可以是任何东西。
- size¶
张量中的元素数量。
- nbytes¶
张量中的字节数。
- metadata_props¶
将序列化到 ONNX 文件中的元数据。
- meta¶
用于图转换传递的元数据存储。
- property meta: MetadataStore¶
用于中间分析的元数据存储。
如果您希望将元数据序列化到 ONNX proto,请写入
metadata_props。
- property metadata_props: dict[str, str]¶
张量的元数据属性。
元数据属性用于存储有关张量的附加信息。与
meta不同,此属性会序列化到 ONNX proto。
- numpy()[source]¶
将张量作为 numpy 数组返回。
当 numpy 不支持数据类型时,将使用
ml_dtype包中的 dtypes。可以使用.view()方法将值重新解释为位表示。- 返回类型:
- property raw: TArrayCompatible¶
张量的后端数据。不可变。