类 TensorInfo
- java.lang.Object
-
- ai.onnxruntime.TensorInfo
-
- 所有已实现的接口
ValueInfo
public class TensorInfo extends java.lang.Object implements ValueInfo
描述一个OnnxTensor
,包括其大小、形状和元素类型。
-
-
嵌套类摘要
嵌套类 修饰符和类型 类 描述 static class
TensorInfo.OnnxTensorType
ONNX 运行时支持的原生元素类型。
-
字段摘要
字段 修饰符和类型 字段 描述 static int
MAX_DIMENSIONS
Java 接口方法支持的最大维度数。TensorInfo.OnnxTensorType
onnxType
此张量的原生类型。OnnxJavaType
type
此张量的 Java 类型。
-
方法摘要
所有方法 静态方法 实例方法 具体方法 修饰符和类型 方法 描述 static TensorInfo
constructFromBuffer(java.nio.Buffer buffer, long[] shape, OnnxJavaType type)
从提供的字节缓冲区构造一个 TensorInfo。static TensorInfo
constructFromJavaArray(java.lang.Object obj)
从提供的多维 Java 数组构造一个 TensorInfo,用于分配适当大小的原生内存。static <T extends java.nio.Buffer>
TensorInfoconstructFromSparseTensor(OnnxSparseTensor.SparseTensor<T> tensor)
从提供的OnnxSparseTensor.SparseTensor
构造一个 TensorInfo。java.lang.String[]
getDimensionNames()
获取张量命名维度的副本。long
getNumElements()
返回此张量中的元素数量。long[]
getShape()
获取张量形状的副本。boolean
isScalar()
如果形状表示标量值(即java.lang.Object
makeCarrier()
构造一个具有正确形状和类型以容纳此张量的数组。java.lang.String
toString()
-
-
-
字段详情
-
MAX_DIMENSIONS
public static final int MAX_DIMENSIONS
Java 接口方法支持的最大维度数。- 另请参阅
- 常量字段值
-
type
public final OnnxJavaType type
此张量的 Java 类型。
-
onnxType
public final TensorInfo.OnnxTensorType onnxType
此张量的原生类型。
-
-
方法详情
-
getShape
public long[] getShape()
获取张量形状的副本。- 返回
- 张量形状的副本。
-
getDimensionNames
public java.lang.String[] getDimensionNames()
获取张量命名维度的副本。- 返回
- 张量命名维度的副本。
-
toString
public java.lang.String toString()
- 覆盖
toString
在类java.lang.Object
中
-
isScalar
public boolean isScalar()
如果形状表示标量值(即它具有零维度),则返回 true。- 返回
- 如果形状是标量,则为 True。
-
getNumElements
public long getNumElements()
返回此张量中的元素数量。如果返回值为负数,则此张量信息指的是输入或输出占位符,该占位符具有符号维度,并且在未指定符号维度的情况下无法计算元素数量。
- 返回
- 元素数量。
-
makeCarrier
public java.lang.Object makeCarrier() throws OrtException
构造一个具有正确形状和类型以容纳此张量的数组。注意:对于 String 张量,此 carrier 是一个一维数组,其空间足以容纳所有元素,因为这是原生代码期望的格式。可以使用
OrtUtil.reshape(String[],long[])
将其重塑为正确形状。对于 fp16 和 bf16 张量,输出 carrier 类型为 float,因此此方法生成多维 float 数组。
- 返回
- 适当基本类型(或 String)的多维数组。
- 抛出
OrtException
- 如果形状无法在 Java 中表示(即如果其中一个索引大于 int)。
-
constructFromJavaArray
public static TensorInfo constructFromJavaArray(java.lang.Object obj) throws OrtException
从提供的多维 Java 数组构造一个 TensorInfo,用于分配适当大小的原生内存。- 参数
obj
- 要检查的对象。- 返回
- 可用于创建正确大小张量的 TensorInfo。
- 抛出
OrtException
- 如果提供的 Object 不是数组或类型无效。
-
constructFromBuffer
public static TensorInfo constructFromBuffer(java.nio.Buffer buffer, long[] shape, OnnxJavaType type) throws OrtException
从提供的字节缓冲区构造一个 TensorInfo。- 参数
buffer
- 要检查的缓冲区。shape
- 张量的形状。type
- Java 类型。- 返回
- 张量的 TensorInfo。
- 抛出
OrtException
- 如果提供的缓冲区与形状不匹配。
-
constructFromSparseTensor
public static <T extends java.nio.Buffer> TensorInfo constructFromSparseTensor(OnnxSparseTensor.SparseTensor<T> tensor) throws OrtException
从提供的OnnxSparseTensor.SparseTensor
构造一个 TensorInfo。- 类型参数
T
- 缓冲区类型。- 参数
tensor
- 稀疏张量。- 返回
- 稀疏张量的 TensorInfo。
- 抛出
OrtException
- 如果提供的张量包含过多元素,超出其形状所能容纳的数量。
-
-