程序包 ai.onnxruntime

类 OrtUtil


  • public final class OrtUtil
    extends java.lang.Object
    用于与 Java 数组交互的实用代码。
    • 方法概要

      所有方法 静态方法 具体方法 
      限定符和类型 方法 描述
      static long elementCount​(long[] shape)
      计算此形状的 Tensor 中存储的元素数量。
      static java.lang.String[] flattenString​(java.lang.Object o)
      将多维字符串数组展平为一维字符串数组,并按多维行优先顺序读取。
      static java.lang.Object newBooleanArray​(long[] shape)
      使用提供的形状创建一个最多 8 维的原始布尔数组。
      static java.lang.Object newByteArray​(long[] shape)
      使用提供的形状创建一个最多 8 维的原始字节数组。
      static java.lang.Object newDoubleArray​(long[] shape)
      使用提供的形状创建一个最多 8 维的原始双精度浮点数组。
      static java.lang.Object newFloatArray​(long[] shape)
      使用提供的形状创建一个最多 8 维的原始单精度浮点数组。
      static java.lang.Object newIntArray​(long[] shape)
      使用提供的形状创建一个最多 8 维的原始整数数组。
      static java.lang.Object newLongArray​(long[] shape)
      使用提供的形状创建一个最多 8 维的原始长整数数组。
      static java.lang.Object newShortArray​(long[] shape)
      使用提供的形状创建一个最多 8 维的原始短整数数组。
      static java.lang.Object newStringArray​(long[] shape)
      使用提供的形状创建一个最多 8 维的字符串数组。
      static java.lang.Object reshape​(boolean[] input, long[] shape)
      假设布尔数组按 n 维行优先顺序存储,将其重塑为所需的 n 维数组。
      static java.lang.Object reshape​(byte[] input, long[] shape)
      假设字节数组按 n 维行优先顺序存储,将其重塑为所需的 n 维数组。
      static java.lang.Object reshape​(double[] input, long[] shape)
      假设双精度浮点数组按 n 维行优先顺序存储,将其重塑为所需的 n 维数组。
      static java.lang.Object reshape​(float[] input, long[] shape)
      假设单精度浮点数组按 n 维行优先顺序存储,将其重塑为所需的 n 维数组。
      static java.lang.Object reshape​(int[] input, long[] shape)
      假设整数数组按 n 维行优先顺序存储,将其重塑为所需的 n 维数组。
      static java.lang.Object reshape​(long[] input, long[] shape)
      假设长整数数组按 n 维行优先顺序存储,将其重塑为所需的 n 维数组。
      static java.lang.Object reshape​(short[] input, long[] shape)
      假设短整数数组按 n 维行优先顺序存储,将其重塑为所需的 n 维数组。
      static java.lang.Object reshape​(java.lang.String[] input, long[] shape)
      假设字符串数组按 n 维行优先顺序存储,将其重塑为所需的 n 维数组。
      static long[] transformShape​(int[] shape)
      将 int 类型的形状转换为 long 类型。
      static int[] transformShape​(long[] shape)
      将 long 类型的形状转换为 int 类型。
      static boolean validateShape​(long[] shape)
      检查该形状是否为 Java 数组的有效形状(即
      • 从类 java.lang.Object 继承的方法

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 方法详细信息

      • transformShape

        public static int[] transformShape​(long[] shape)
        将 long 类型的形状转换为 int 类型。

        验证该形状包含多于 1 个且少于 9 个元素,每个元素小于 Integer.MAX_VALUE 且每个条目均为非负数。

        参数
        shape - long 类型的形状。
        返回值
        int 类型的形状。
      • transformShape

        public static long[] transformShape​(int[] shape)
        将 int 类型的形状转换为 long 类型。

        验证该形状包含多于 1 个且少于 9 个元素,且每个条目均为非负数。

        参数
        shape - int 类型的形状。
        返回值
        long 类型的形状。
      • newBooleanArray

        public static java.lang.Object newBooleanArray​(long[] shape)
        使用提供的形状创建一个最多 8 维的原始布尔数组。
        参数
        shape - 要创建的数组形状。
        返回值
        布尔数组。
      • newByteArray

        public static java.lang.Object newByteArray​(long[] shape)
        使用提供的形状创建一个最多 8 维的原始字节数组。
        参数
        shape - 要创建的数组形状。
        返回值
        字节数组。
      • newShortArray

        public static java.lang.Object newShortArray​(long[] shape)
        使用提供的形状创建一个最多 8 维的原始短整数数组。
        参数
        shape - 要创建的数组形状。
        返回值
        短整数数组。
      • newIntArray

        public static java.lang.Object newIntArray​(long[] shape)
        使用提供的形状创建一个最多 8 维的原始整数数组。
        参数
        shape - 要创建的数组形状。
        返回值
        整数数组。
      • newLongArray

        public static java.lang.Object newLongArray​(long[] shape)
        使用提供的形状创建一个最多 8 维的原始长整数数组。
        参数
        shape - 要创建的数组形状。
        返回值
        长整数数组。
      • newFloatArray

        public static java.lang.Object newFloatArray​(long[] shape)
        使用提供的形状创建一个最多 8 维的原始单精度浮点数组。
        参数
        shape - 要创建的数组形状。
        返回值
        单精度浮点数组。
      • newDoubleArray

        public static java.lang.Object newDoubleArray​(long[] shape)
        使用提供的形状创建一个最多 8 维的原始双精度浮点数组。
        参数
        shape - 要创建的数组形状。
        返回值
        双精度浮点数组。
      • newStringArray

        public static java.lang.Object newStringArray​(long[] shape)
        使用提供的形状创建一个最多 8 维的字符串数组。
        参数
        shape - 要创建的数组形状。
        返回值
        双精度浮点数组。
      • reshape

        public static java.lang.Object reshape​(boolean[] input,
                                               long[] shape)
        假设布尔数组按 n 维行优先顺序存储,将其重塑为所需的 n 维数组。如果形状与输入之间的元素数量不匹配或形状无效,则抛出 IllegalArgumentException
        参数
        input - 布尔数组。
        shape - 所需的形状。
        返回值
        n 维布尔数组。
      • reshape

        public static java.lang.Object reshape​(byte[] input,
                                               long[] shape)
        假设字节数组按 n 维行优先顺序存储,将其重塑为所需的 n 维数组。如果形状与输入之间的元素数量不匹配或形状无效,则抛出 IllegalArgumentException
        参数
        input - 字节数组。
        shape - 所需的形状。
        返回值
        n 维字节数组。
      • reshape

        public static java.lang.Object reshape​(short[] input,
                                               long[] shape)
        假设短整数数组按 n 维行优先顺序存储,将其重塑为所需的 n 维数组。如果形状与输入之间的元素数量不匹配或形状无效,则抛出 IllegalArgumentException
        参数
        input - 短整数数组。
        shape - 所需的形状。
        返回值
        n 维短整数数组。
      • reshape

        public static java.lang.Object reshape​(int[] input,
                                               long[] shape)
        假设整数数组按 n 维行优先顺序存储,将其重塑为所需的 n 维数组。如果形状与输入之间的元素数量不匹配或形状无效,则抛出 IllegalArgumentException
        参数
        input - 整数数组。
        shape - 所需的形状。
        返回值
        n 维整数数组。
      • reshape

        public static java.lang.Object reshape​(long[] input,
                                               long[] shape)
        假设长整数数组按 n 维行优先顺序存储,将其重塑为所需的 n 维数组。如果形状与输入之间的元素数量不匹配或形状无效,则抛出 IllegalArgumentException
        参数
        input - 长整数数组。
        shape - 所需的形状。
        返回值
        n 维长整数数组。
      • reshape

        public static java.lang.Object reshape​(float[] input,
                                               long[] shape)
        假设单精度浮点数组按 n 维行优先顺序存储,将其重塑为所需的 n 维数组。如果形状与输入之间的元素数量不匹配或形状无效,则抛出 IllegalArgumentException
        参数
        input - 单精度浮点数组。
        shape - 所需的形状。
        返回值
        n 维单精度浮点数组。
      • reshape

        public static java.lang.Object reshape​(double[] input,
                                               long[] shape)
        假设双精度浮点数组按 n 维行优先顺序存储,将其重塑为所需的 n 维数组。如果形状与输入之间的元素数量不匹配或形状无效,则抛出 IllegalArgumentException
        参数
        input - 双精度浮点数组。
        shape - 所需的形状。
        返回值
        n 维双精度浮点数组。
      • reshape

        public static java.lang.Object reshape​(java.lang.String[] input,
                                               long[] shape)
        假设字符串数组按 n 维行优先顺序存储,将其重塑为所需的 n 维数组。如果形状与输入之间的元素数量不匹配或形状无效,则抛出 IllegalArgumentException
        参数
        input - 双精度浮点数组。
        shape - 所需的形状。
        返回值
        n 维字符串数组。
      • elementCount
        public static long elementCount​(long[] shape)
        计算此形状的 Tensor 中存储的元素数量。

        如果所有元素均为非负数,则将它们相乘,否则抛出 IllegalArgumentException

        参数
        shape - 要使用的形状。
        返回值
        元素数量。

      • validateShape
        public static boolean validateShape​(long[] shape)
        检查该形状是否为 Java 数组的有效形状(即所有值均为正数且可用 int 表示)。
        参数
        shape - 要检查的形状。
        返回值
        如果形状有效,则为 True。

      • flattenString
        public static java.lang.String[] flattenString​(java.lang.Object o)
        将多维字符串数组展平为一维字符串数组,并按多维行优先顺序读取。
        参数
        o - 多维字符串数组。
        返回值
        一维字符串数组。