类 OnnxSparseTensor
- java.lang.Object
-
- ai.onnxruntime.OnnxTensorLike
-
- ai.onnxruntime.OnnxSparseTensor
-
- 所有已实现的接口
OnnxValue
,java.lang.AutoCloseable
public final class OnnxSparseTensor extends OnnxTensorLike
一个包装了 OnnxSparseTensor 的 Java 对象。稀疏张量支持多种格式,
getValue()
方法会返回一个表示每种类型的不同静态内部类。
-
-
嵌套类摘要
嵌套类 修饰符和类型 类 描述 静态类
OnnxSparseTensor.BlockSparseTensor
块稀疏张量的 Java 端表示。静态类
OnnxSparseTensor.COOTensor
COO 稀疏张量的 Java 端表示。静态类
OnnxSparseTensor.CSRCTensor
CSRC 稀疏张量的 Java 端表示。静态类
OnnxSparseTensor.SparseTensor<T extends java.nio.Buffer>
Java 稀疏张量的抽象基类静态类
OnnxSparseTensor.SparseTensorType
稀疏张量的类型。-
继承自接口 ai.onnxruntime.OnnxValue 的嵌套类/接口
OnnxValue.OnnxValueType
-
-
字段摘要
-
继承自类 ai.onnxruntime.OnnxTensorLike 的字段
allocatorHandle, closed, info, nativeHandle
-
-
方法摘要
所有方法 静态方法 实例方法 具体方法 修饰符和类型 方法 描述 void
close()
关闭 OnnxValue,释放其原生内存。static <T extends java.nio.Buffer>
OnnxSparseTensorcreateSparseTensor(OrtEnvironment env, OnnxSparseTensor.SparseTensor<T> tensor)
从 Java 端表示在 ORT 中创建稀疏张量。java.nio.Buffer
getIndicesBuffer()
获取索引的副本。long[]
getIndicesShape()
获取(外部)索引的形状。java.nio.LongBuffer
getInnerIndicesBuffer()
获取 CSRC 稀疏张量中内部索引的副本。long[]
getInnerIndicesShape()
获取 CSRC 稀疏张量中内部索引的形状。OnnxSparseTensor.SparseTensorType
getSparseTensorType()
返回此 OnnxSparseTensor 的类型。OnnxValue.OnnxValueType
getType()
获取此 OnnxValue 的类型。OnnxSparseTensor.SparseTensor<? extends java.nio.Buffer>
getValue()
将值作为 Java 对象返回,并将其从原生堆复制出来。java.nio.Buffer
getValuesBuffer()
获取数据缓冲区的副本。long[]
getValuesShape()
获取值的形状。-
继承自类 ai.onnxruntime.OnnxTensorLike 的方法
checkClosed, getInfo, isClosed
-
-
-
-
方法详细信息
-
createSparseTensor
public static <T extends java.nio.Buffer> OnnxSparseTensor createSparseTensor(OrtEnvironment env, OnnxSparseTensor.SparseTensor<T> tensor) throws OrtException
从 Java 端表示在 ORT 中创建稀疏张量。- 类型参数
T
- 缓冲区类型。- 参数
env
- OrtEnvironment 实例。tensor
- Java 端表示。- 返回
- ORT 中的稀疏张量。
- 抛出
OrtException
- 如果张量无法创建或无效。
-
getType
public OnnxValue.OnnxValueType getType()
描述拷贝自接口:OnnxValue
获取此 OnnxValue 的类型。- 返回
- 值的类型。
-
getValue
public OnnxSparseTensor.SparseTensor<? extends java.nio.Buffer> getValue() throws OrtException
描述拷贝自接口:OnnxValue
将值作为 Java 对象返回,并将其从原生堆复制出来。对于高维张量,此操作可能相当慢,您应优先使用OnnxTensor.getByteBuffer()
等方法。如果可用,由子类使用更具体的类型覆盖此方法。
- 返回
- 值。
- 抛出
OrtException
- 如果读取值时发生错误。
-
close
public void close()
描述拷贝自接口:OnnxValue
关闭 OnnxValue,释放其原生内存。
-
getSparseTensorType
public OnnxSparseTensor.SparseTensorType getSparseTensorType()
返回此 OnnxSparseTensor 的类型。- 返回
- 稀疏类型。
-
getIndicesBuffer
public java.nio.Buffer getIndicesBuffer()
获取索引的副本。如果它是 CSRC 稀疏张量,这些是外部索引。
如果为 COO 或 CSRC 类型,则为
LongBuffer
;如果为 Block Sparse 类型,则为IntBuffer
。- 返回
- 索引。
-
getInnerIndicesBuffer
public java.nio.LongBuffer getInnerIndicesBuffer()
获取 CSRC 稀疏张量中内部索引的副本。如果在不同稀疏张量类型上调用,则抛出
IllegalStateException
。- 返回
- 内部索引。
-
getValuesBuffer
public java.nio.Buffer getValuesBuffer()
获取数据缓冲区的副本。与
OnnxTensor
类似,fp16 值会被向上转换为 fp32 并作为FloatBuffer
返回。- 返回
- 数据缓冲区。
-
getIndicesShape
public long[] getIndicesShape()
获取(外部)索引的形状。- 返回
- 索引形状。
-
getInnerIndicesShape
public long[] getInnerIndicesShape()
获取 CSRC 稀疏张量中内部索引的形状。- 返回
- 索引形状。
-
getValuesShape
public long[] getValuesShape()
获取值的形状。- 返回
- 值形状。
-
-