程序包 ai.onnxruntime
类 OnnxSparseTensor
- java.lang.Object
-
- ai.onnxruntime.OnnxTensorLike
-
- ai.onnxruntime.OnnxSparseTensor
-
- 所有已实现的接口
OnnxValue,java.lang.AutoCloseable
public final class OnnxSparseTensor extends OnnxTensorLike
包装 OnnxSparseTensor 的 Java 对象。稀疏张量支持多种格式,
getValue()方法会返回表示每种类型的不同静态内部类。
-
-
嵌套类概要
嵌套类 限定符和类型 类 描述 static classOnnxSparseTensor.BlockSparseTensor块稀疏张量的 Java 端表示。static classOnnxSparseTensor.COOTensorCOO 稀疏张量的 Java 端表示。static classOnnxSparseTensor.CSRCTensorCSRC 稀疏张量的 Java 端表示。static classOnnxSparseTensor.SparseTensor<T extends java.nio.Buffer>Java 稀疏张量的抽象基类static classOnnxSparseTensor.SparseTensorType稀疏张量的类型。-
从接口 ai.onnxruntime.OnnxValue 继承的嵌套类/接口
OnnxValue.OnnxValueType
-
-
字段概要
-
从类 ai.onnxruntime.OnnxTensorLike 继承的字段
allocatorHandle, closed, info, nativeHandle
-
-
方法概要
所有方法 静态方法 实例方法 具体方法 限定符和类型 方法 描述 voidclose()关闭 OnnxValue,释放其原生内存。static <T extends java.nio.Buffer>
OnnxSparseTensorcreateSparseTensor(OrtEnvironment env, OnnxSparseTensor.SparseTensor<T> tensor)从 Java 端表示形式在 ORT 中创建一个稀疏张量。java.nio.BuffergetIndicesBuffer()获取索引的副本。long[]getIndicesShape()获取(外部)索引的形状。java.nio.LongBuffergetInnerIndicesBuffer()获取 CSRC 稀疏张量中内部索引的副本。long[]getInnerIndicesShape()获取 CSRC 稀疏张量中内部索引的形状。OnnxSparseTensor.SparseTensorTypegetSparseTensorType()返回此 OnnxSparseTensor 的类型。OnnxValue.OnnxValueTypegetType()获取此 OnnxValue 的类型。OnnxSparseTensor.SparseTensor<? extends java.nio.Buffer>getValue()将值作为 Java 对象返回,并将其从原生堆中复制出来。java.nio.BuffergetValuesBuffer()获取数据缓冲区的副本。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 值会被提升(upcast)为 fp32 并作为FloatBuffer返回。- 返回值
- 数据缓冲区。
-
getIndicesShape
public long[] getIndicesShape()
获取(外部)索引的形状。- 返回值
- 索引形状。
-
getInnerIndicesShape
public long[] getInnerIndicesShape()
获取 CSRC 稀疏张量中内部索引的形状。- 返回值
- 索引形状。
-
getValuesShape
public long[] getValuesShape()
获取值的形状。- 返回值
- 值形状。
-
-