Transformers.js 文档

处理器

Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始

处理器

处理器用于为模型准备非文本输入(例如,图像或音频)。

示例: 使用 WhisperProcessor 为模型准备音频输入。

import { AutoProcessor, read_audio } from '@huggingface/transformers';

let processor = await AutoProcessor.from_pretrained('openai/whisper-tiny.en');
let audio = await read_audio('https://huggingface.co/datasets/Narsil/asr_dummy/resolve/main/mlk.flac', 16000);
let { input_features } = await processor(audio);
// Tensor {
//   data: Float32Array(240000) [0.4752984642982483, 0.5597258806228638, 0.56434166431427, ...],
//   dims: [1, 80, 3000],
//   type: 'float32',
//   size: 240000,
// }

processors.FeatureExtractor ⇐ Callable

特征提取器的基类。

类型:processors 的静态类
继承自:Callable


new FeatureExtractor(config)

构造一个新的 FeatureExtractor 实例。

参数类型描述
config对象

特征提取器的配置。


featureExtractor._call(...args)

此方法应在子类中实现,以提供可调用对象的功能。

类型:FeatureExtractor 的实例方法
重写:_call
抛出:

  • Error 如果子类未实现 `_call` 方法。
参数类型
...argsArray.<any>

processors.ImageFeatureExtractor ⇐ FeatureExtractor

用于图像模型的特征提取器。

类型:processors 的静态类
继承自:FeatureExtractor


new ImageFeatureExtractor(config)

构造一个新的 ImageFeatureExtractor 实例。

参数类型默认值描述
config对象

特征提取器的配置。

config.image_meanArray.<number>

用于图像归一化的均值。

config.image_stdArray.<number>

用于图像归一化的标准差值。

config.do_rescaleboolean

是否将图像像素值重新缩放到 [0,1] 范围。

config.rescale_factornumber

用于重新缩放图像像素值的因子。

config.do_normalizeboolean

是否归一化图像像素值。

config.do_resizeboolean

是否调整图像大小。

config.resamplenumber

使用哪种重采样方法。

config.sizenumber | Object

调整图像大小的目标尺寸。

[config.do_flip_channel_order]booleanfalse

是否将颜色通道从 RGB 翻转到 BGR。可以被 preprocess 方法中的 do_flip_channel_order 参数覆盖。


imageFeatureExtractor.thumbnail(image, size, [resample]) ⇒ Promise. < RawImage >

调整图像大小以制作缩略图。调整后的图像大小将使得任何维度都不大于指定尺寸的相应维度。

类型:ImageFeatureExtractor 的实例方法
返回值:Promise.<RawImage> - 调整大小后的图像。

参数类型默认值描述
imageRawImage

要调整大小的图像。

size对象

调整图像大小的目标尺寸 {"height": h, "width": w}

[resample]string | 0 | 1 | 2 | 3 | 4 | 52

要使用的重采样滤波器。


imageFeatureExtractor.crop_margin(image, gray_threshold) ⇒ Promise. < RawImage >

裁剪图像的边距。灰色像素被认为是边距(即,像素值低于阈值的像素)。

类型:ImageFeatureExtractor 的实例方法
返回值:Promise.<RawImage> - 裁剪后的图像。

参数类型默认值描述
imageRawImage

要裁剪的图像。

gray_thresholdnumber200

像素值低于此值时被认为是灰色的。


imageFeatureExtractor.pad_image(pixelData, imgDims, padSize, options) ⇒ *

将图像填充一定量。

类型:ImageFeatureExtractor 的实例方法
返回值:* - 填充后的像素数据和图像尺寸。

参数类型默认值描述
pixelDataFloat32Array

要填充的像素数据。

imgDimsArray.<number>

图像的尺寸(高度、宽度、通道)。

padSize*

填充后图像的尺寸。

options对象

填充的选项。

[options.mode]'constant' | 'symmetric''constant'

要添加的填充类型。

[options.center]booleanfalse

是否居中图像。

[options.constant_values]number0

用于填充的常数值。


imageFeatureExtractor.rescale(pixelData) ⇒ void

通过 this.rescale_factor 重新缩放图像的像素值。

类型:ImageFeatureExtractor 的实例方法

参数类型描述
pixelDataFloat32Array

要重新缩放的像素数据。


imageFeatureExtractor.get_resize_output_image_size(image, size) ⇒ *

在给定输入图像和所需尺寸后,查找调整大小后输出图像的目标(宽度、高度)尺寸。

类型:ImageFeatureExtractor 的实例方法
返回值:* - 调整大小后输出图像的目标(宽度、高度)尺寸。

参数类型描述
imageRawImage

要调整大小的图像。

sizeany

用于调整图像大小的尺寸。


imageFeatureExtractor.resize(image) ⇒ Promise. < RawImage >

调整图像大小。

类型:ImageFeatureExtractor 的实例方法
返回值:Promise.<RawImage> - 调整大小后的图像。

参数类型描述
imageRawImage

要调整大小的图像。


imageFeatureExtractor.preprocess(image, overrides) ⇒ Promise. < PreprocessedImage >

预处理给定的图像。

类型:ImageFeatureExtractor 的实例方法
返回值:Promise.<PreprocessedImage> - 预处理后的图像。

参数类型描述
imageRawImage

要预处理的图像。

overrides对象

预处理选项的覆盖。


imageFeatureExtractor._call(images, ...args) ⇒ Promise. < ImageFeatureExtractorResult >

对图像数组调用特征提取过程,预处理每个图像,并将结果特征连接到单个 Tensor 中。

类型:ImageFeatureExtractor 的实例方法
返回值:Promise.<ImageFeatureExtractorResult> - 一个包含预处理图像的连接像素值(和其他元数据)的对象。

参数类型描述
imagesArray.<RawImage>

要从中提取特征的图像。

...argsany

附加参数。


processors.DetrFeatureExtractor ⇐ ImageFeatureExtractor

Detr 特征提取器。

类型:processors 的静态类
继承自:ImageFeatureExtractor


detrFeatureExtractor._call(images) ⇒ Promise. < DetrFeatureExtractorResult >

对图像数组调用特征提取过程,预处理每个图像,并将结果特征连接到单个 Tensor 中。

类型:DetrFeatureExtractor 的实例方法
返回值:Promise.<DetrFeatureExtractorResult> - 一个包含预处理图像的连接像素值的对象。

参数类型描述
imagesArray.<RawImage>

要从中提取特征的图像。


detrFeatureExtractor.post_process_object_detection() : <code> * </code>

类型:DetrFeatureExtractor 的实例方法


detrFeatureExtractor.post_process_panoptic_segmentation() : <code> * </code>

类型:DetrFeatureExtractor 的实例方法


processors.Processor ⇐ <code> Callable </code>

表示一个从输入中提取特征的处理器。

类型:processors 的静态类
继承自:Callable


new Processor(feature_extractor)

创建一个使用给定特征提取器的新处理器。

参数类型描述
feature_extractorFeatureExtractor

用于从输入中提取特征的函数。


processor._call(input, ...args) ⇒ <code> Promise. < any > </code>

使用给定的输入调用 feature_extractor 函数。

Kind: instance method of Processor
重写:_call
Returns: Promise.<any> - 一个 Promise,它会解析为提取的特征。

参数类型描述
inputany

从中提取特征的输入。

...argsany

附加参数。


processors.WhisperProcessor ⇐ <code> Processor </code>

表示一个从音频输入中提取特征的 WhisperProcessor。

类型:processors 的静态类
Extends: Processor


whisperProcessor._call(audio) ⇒ <code> Promise. < any > </code>

使用给定的音频输入调用 feature_extractor 函数。

Kind: instance method of WhisperProcessor
Returns: Promise.<any> - 一个 Promise,它会解析为提取的特征。

参数类型描述
audioany

从中提取特征的音频输入。


processors.AutoProcessor

辅助类,用于使用 from_pretrained 函数实例化预训练的处理器。选择的处理器类由处理器配置中指定的类型确定。

Example: 使用 from_pretrained 加载处理器。

let processor = await AutoProcessor.from_pretrained('openai/whisper-tiny.en');

Example: 通过处理器运行图像。

let processor = await AutoProcessor.from_pretrained('Xenova/clip-vit-base-patch16');
let image = await RawImage.read('https://huggingface.co/datasets/Xenova/transformers.js-docs/resolve/main/football-match.jpg');
let image_inputs = await processor(image);
// {
//   "pixel_values": {
//     "dims": [ 1, 3, 224, 224 ],
//     "type": "float32",
//     "data": Float32Array [ -1.558687686920166, -1.558687686920166, -1.5440893173217773, ... ],
//     "size": 150528
//   },
//   "original_sizes": [
//     [ 533, 800 ]
//   ],
//   "reshaped_input_sizes": [
//     [ 224, 224 ]
//   ]
// }

类型:processors 的静态类


AutoProcessor.from_pretrained(pretrained_model_name_or_path, options) ⇒ <code> Promise. < Processor > </code>

从预训练模型实例化库中的一个处理器类。

要实例化的处理器类是根据配置对象的 feature_extractor_type 属性选择的(可以作为参数传递,也可以从 pretrained_model_name_or_path 加载,如果可能的话)

Kind: static method of AutoProcessor
Returns: Promise.<Processor> - Processor 类的新实例。

参数类型描述
pretrained_model_name_or_pathstring

预训练模型的名称或路径。可以是:

  • 一个字符串,即托管在 huggingface.co 模型仓库中的预训练处理器的 *模型 ID*。有效的模型 ID 可以位于根级别,例如 `bert-base-uncased`,或者在用户或组织名称下命名空间,例如 `dbmdz/bert-base-german-cased`。
  • 包含处理器文件的 *目录* 的路径,例如 `./my_model_directory/`。
options*

加载处理器的其他选项。


processors.data : <code> Float32Array </code>

Kind: static property of processors


processors~center_to_corners_format(arr) ⇒ <code> Array. < number > </code>

将边界框从中心格式转换为角点格式。

Kind: inner method of processors
Returns: Array.<number> - 框的左上角和右下角的坐标 (top_left_x, top_left_y, bottom_right_x, bottom_right_y)

参数类型描述
arrArray.<number>

框中心及其宽度、高度尺寸的坐标 (center_x, center_y, width, height)


processors~post_process_semantic_segmentation(outputs, [target_sizes]) ⇒ <code> * </code>

后处理模型的输出(用于语义分割)。

Kind: inner method of processors
Returns: * - 语义分割图。

参数类型默认值描述
outputs*

模型的原始输出。

[target_sizes]*

与每个预测请求的最终尺寸(高度,宽度)相对应的元组列表。如果未设置,则不会调整预测大小。


post_process_semantic_segmentation~labels : <code> Array. < number > </code>

检测到的唯一标签列表

Kind: inner constant of post_process_semantic_segmentation


processors~post_process_panoptic_segmentation(outputs, [threshold], [mask_threshold], [overlap_mask_area_threshold], [label_ids_to_fuse], [target_sizes]) ⇒ <code> Array. < {segmentation: Tensor, segments_info: Array < {id: number, label_id: number, score: number} > } > </code>

后处理模型输出以生成最终的全景分割。

Kind: inner method of processors

参数类型默认值描述
outputs*

要后处理的模型输出

[threshold]number0.5

保持预测实例掩码的概率分数阈值。

[mask_threshold]number0.5

将预测掩码转换为二进制值时使用的阈值。

[overlap_mask_area_threshold]number0.8

重叠掩码区域阈值,用于合并或丢弃每个二进制实例掩码内的小型断开连接的部分。

[label_ids_to_fuse]Set.<number>

此状态下的标签将使其所有实例融合在一起。

[target_sizes]*

要调整掩码大小的目标尺寸。


processors~post_process_instance_segmentation(outputs, [threshold], [target_sizes]) ⇒ <code> Array. < {segmentation: Tensor, segments_info: Array < {id: number, label_id: number, score: number} > } > </code>

后处理模型的输出(用于实例分割)。

Kind: inner method of processors

参数类型默认值描述
outputs*

模型的原始输出。

[threshold]number0.5

保持预测实例掩码的概率分数阈值。

[target_sizes]*

与每个预测请求的最终尺寸(高度,宽度)相对应的元组列表。如果未设置,则不会调整预测大小。


processors~enforce_size_divisibility(size, divisor) ⇒ <code> * </code>

将高度和宽度向下舍入到 size_divisibility 最接近的倍数

Kind: inner method of processors
Returns: * - 四舍五入后的尺寸。

参数类型描述
size*

图像的尺寸

divisornumber

要使用的除数。


processors~HeightWidth : <code> * </code>

命名元组,用于指示我们使用的顺序是(高度 x 宽度),即使图形行业的标准是(宽度 x 高度)。

Kind: inner typedef of processors


processors~ImageFeatureExtractorResult : <code> object </code>

Kind: inner typedef of processors
属性

名称类型描述
pixel_valuesTensor

批量预处理图像的像素值。

original_sizesArray.<HeightWidth>

二维元组数组,例如 [[480, 640]]。

reshaped_input_sizesArray.<HeightWidth>

二维元组数组,例如 [[1000, 1330]]。


processors~PreprocessedImage : <code> object </code>

Kind: inner typedef of processors
属性

名称类型描述
original_sizeHeightWidth

图像的原始尺寸。

reshaped_input_sizeHeightWidth

图像的重塑输入尺寸。

pixel_valuesTensor

预处理图像的像素值。


processors~DetrFeatureExtractorResult : <code> object </code>

Kind: inner typedef of processors
属性

名称类型
pixel_maskTensor

processors~SamImageProcessorResult : <code> object </code>

Kind: inner typedef of processors
属性

名称类型
pixel_valuesTensor
original_sizesArray.<HeightWidth>
reshaped_input_sizesArray.<HeightWidth>
[input_points]Tensor
[input_labels]Tensor
[input_boxes]Tensor

< > 在 GitHub 上更新