类 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 值会被向上转换为 fp32 并作为 FloatBuffer 返回。

        返回
        数据缓冲区。
      • getIndicesShape

        public long[] getIndicesShape()
        获取(外部)索引的形状。
        返回
        索引形状。
      • getInnerIndicesShape

        public long[] getInnerIndicesShape()
        获取 CSRC 稀疏张量中内部索引的形状。
        返回
        索引形状。
      • getValuesShape

        public long[] getValuesShape()
        获取值的形状。
        返回
        值形状。