类型 TensorFactory 定义了 'Tensor' 的工厂函数,用于从现有数据或资源创建张量实例。

interface TensorFactory {
    fromGpuBuffer<T>(buffer, options): TypedTensor<T>;
    fromImage(imageData, options?): Promise<TypedTensor<"float32"> | TypedTensor<"uint8">>;
    fromImage(imageElement, options?): Promise<TypedTensor<"float32"> | TypedTensor<"uint8">>;
    fromImage(urlSource, options?): Promise<TypedTensor<"float32"> | TypedTensor<"uint8">>;
    fromImage(bitmap, options): Promise<TypedTensor<"float32"> | TypedTensor<"uint8">>;
    fromMLTensor<T>(tensor, options): TypedTensor<T>;
    fromPinnedBuffer<T>(type, buffer, dims?): TypedTensor<T>;
    fromTexture<T>(texture, options): TypedTensor<"float32">;
}

层级 (查看全部)

方法

  • 从 WebGPU 缓冲区创建张量

    类型参数

    参数

    • buffer: GpuBufferTypeFallback

      用于创建张量的 GPUBuffer 对象

    • options: TensorFromGpuBufferOptions<T>

      一个可选对象,表示从 WebGPU 缓冲区创建张量的选项。

      选项包括以下属性

      • dataType: 张量的数据类型。如果省略,则假定为 'float32'。
      • dims: 张量的维度。必填。
      • download: 从 GPU 下载张量数据到 CPU 的可选函数。如果省略,则 GPU 数据将无法下载。通常,此函数由 GPU 后端为推理输出提供。用户无需提供此函数。
      • dispose: 释放 GPU 上张量数据的可选函数。如果省略,则 GPU 数据将不会被释放。通常,此函数由 GPU 后端为推理输出提供。用户无需提供此函数。

    返回 TypedTensor<T>

    一个张量对象

  • 从 ImageData 对象创建张量

    参数

    • imageData: ImageData

      用于创建张量的 ImageData 对象

    • 可选 options: TensorFromImageDataOptions

      一个可选对象,表示从 ImageData 创建张量的选项。

      将应用以下默认设置

      • tensorFormat: 'RGB'
      • tensorLayout: 'NCHW'
      • dataType: 'float32'

    返回 Promise<TypedTensor<"float32"> | TypedTensor<"uint8">>

    一个解析为张量对象的 Promise

  • 从 HTMLImageElement 对象创建张量

    参数

    • imageElement: HTMLImageElement

      用于创建张量的 HTMLImageElement 对象

    • 可选 options: TensorFromImageElementOptions

      一个可选对象,表示从 HTMLImageElement 创建张量的选项。

      将应用以下默认设置

      • tensorFormat: 'RGB'
      • tensorLayout: 'NCHW'
      • dataType: 'float32'

    返回 Promise<TypedTensor<"float32"> | TypedTensor<"uint8">>

    一个解析为张量对象的 Promise

  • 从 URL 创建张量

    参数

    • urlSource: string

      一个字符串,作为图像的 URL 或包含图像数据的数据 URL。

    • 可选 options: TensorFromUrlOptions

      一个可选对象,表示从 URL 创建张量的选项。

      将应用以下默认设置

      • tensorFormat: 'RGB'
      • tensorLayout: 'NCHW'
      • dataType: 'float32'

    返回 Promise<TypedTensor<"float32"> | TypedTensor<"uint8">>

    一个解析为张量对象的 Promise

  • 从 ImageBitmap 对象创建张量

    参数

    • bitmap: ImageBitmap

      用于创建张量的 ImageBitmap 对象

    • options: TensorFromImageBitmapOptions

      一个可选对象,表示从 URL 创建张量的选项。

      将应用以下默认设置

      • tensorFormat: 'RGB'
      • tensorLayout: 'NCHW'
      • dataType: 'float32'

    返回 Promise<TypedTensor<"float32"> | TypedTensor<"uint8">>

    一个解析为张量对象的 Promise

  • 从 WebNN MLTensor 创建张量

    类型参数

    参数

    • tensor: MLTensorTypeFallback

      用于创建张量的 MLTensor 对象

    • options: TensorFromMLTensorOptions<T>

      一个可选对象,表示从 WebNN MLTensor 创建张量的选项。

      选项包括以下属性

      • dataType: 张量的数据类型。如果省略,则假定为 'float32'。
      • dims: 张量的维度。必填。
      • download: 从 MLTensor 下载张量数据到 CPU 的可选函数。如果省略,则 MLTensor 数据将无法下载。通常,此函数由 WebNN 后端为推理输出提供。用户无需提供此函数。
      • dispose: 释放 WebNN MLTensor 上张量数据的可选函数。如果省略,则 MLTensor 将不会被释放。通常,此函数由 WebNN 后端为推理输出提供。用户无需提供此函数。

    返回 TypedTensor<T>

    一个张量对象

  • 从预分配的缓冲区创建张量。该缓冲区将用作固定缓冲区。

    类型参数

    • T extends "float32" | "uint8" | "int8" | "uint16" | "int16" | "int32" | "int64" | "bool" | "float16" | "float64" | "uint32" | "uint64" | "uint4" | "int4"

    参数

    • type: T

      张量元素类型。

    • buffer: DataTypeMap[T]

      与类型对应的 TypedArray。

    • 可选 dims: readonly number[]

      指定张量的维度。如果省略,则假定为 1-D 张量。

    返回 TypedTensor<T>

    一个张量对象

  • 从 WebGL 纹理创建张量

    类型参数

    • T extends "float32" = "float32"

    参数

    • texture: WebGLTexture

      用于创建张量的 WebGLTexture 对象

    • options: TensorFromTextureOptions<T>

      一个可选对象,表示从 WebGL 纹理创建张量的选项。

      选项包括以下属性

      • width: 纹理的宽度。必填。
      • height: 纹理的高度。必填。
      • format: 纹理的格式。如果省略,则假定为 'RGBA'。
      • download: 从 GPU 下载张量数据到 CPU 的可选函数。如果省略,则 GPU 数据将无法下载。通常,此函数由 GPU 后端为推理输出提供。用户无需提供此函数。
      • dispose: 释放 GPU 上张量数据的可选函数。如果省略,则 GPU 数据将不会被释放。通常,此函数由 GPU 后端为推理输出提供。用户无需提供此函数。

    返回 TypedTensor<"float32">

    一个张量对象

使用 TypeDoc 生成