程序包 ai.onnxruntime

类 OnnxSparseTensor

  • 所有已实现的接口
    OnnxValue, java.lang.AutoCloseable

    public final class OnnxSparseTensor
    extends OnnxTensorLike
    包装 OnnxSparseTensor 的 Java 对象。

    稀疏张量支持多种格式,getValue() 方法会返回表示每种类型的不同静态内部类。

    • 方法详细信息

      • 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 - 如果无法创建张量或张量无效。
      • getValue

        public OnnxSparseTensor.SparseTensor<? extends java.nio.Buffer> getValue()
                                                                          throws OrtException
        复制自接口的描述:OnnxValue
        将值作为 Java 对象返回,并将其从原生堆中拷贝出来。此操作对于高维张量可能非常缓慢,此时应优先使用 OnnxTensor.getByteBuffer() 等。

        由子类覆盖(若可用,则返回更具体的类型)。

        返回值
        该值。
        抛出
        OrtException - 如果读取值时发生错误。
      • close

        public void close()
        复制自接口的描述:OnnxValue
        关闭 OnnxValue,释放其原生内存。
      • 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()
        获取值的形状。
        返回值
        值形状。