类 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.COOTensorCOO 稀疏张量的 Java 端表示。静态类OnnxSparseTensor.CSRCTensorCSRC 稀疏张量的 Java 端表示。静态类OnnxSparseTensor.SparseTensor<T extends java.nio.Buffer>Java 稀疏张量的抽象基类静态类OnnxSparseTensor.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 值会被向上转换为 fp32 并作为FloatBuffer返回。- 返回
- 数据缓冲区。
-
getIndicesShape
public long[] getIndicesShape()
获取(外部)索引的形状。- 返回
- 索引形状。
-
getInnerIndicesShape
public long[] getInnerIndicesShape()
获取 CSRC 稀疏张量中内部索引的形状。- 返回
- 索引形状。
-
getValuesShape
public long[] getValuesShape()
获取值的形状。- 返回
- 值形状。
-
-