Transformers.js 文档

处理器

Hugging Face's logo
加入Hugging Face社区

并可获取增强的文档体验

开始使用

处理器

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

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

import { AutoProcessor, read_audio } from '@xenova/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 ⇐ <code> Callable </code>

特征提取器的基类。

类型: processors 的静态类
扩展: Callable


new FeatureExtractor(config)

构造一个新的 FeatureExtractor 实例。

参数类型描述
config对象

特征提取器的配置。


processors.ImageFeatureExtractor ⇐ <code> FeatureExtractor </code>

图像模型的特征提取器。

类型: 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]) ⇒ <code> Promise. < RawImage > </code>

调整图像大小以生成缩略图。图像的大小调整到指定的尺寸的对应维度大小为止。

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

参数类型默认描述
imageRawImage

要调整大小的图像。

size对象

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

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

要使用的重采样过滤器。


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

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

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

参数类型默认描述
imageRawImage

要裁剪的图像。

gray_thresholdnumber200

低于该值的像素被认为是灰度。


imageFeatureExtractor.pad_image(pixelData, imgDims, padSize, options) ⇒ <code> * </code>

以一定量填充图像。

类型: ImageFeatureExtractor 的实例方法
返回: * - 填充的像素数据和解像度。

参数类型默认描述
pixelDataFloat32Array

要填充的像素数据。

imgDimsArray.<number>

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

padSize*

填充图像的尺寸。

options对象

填充的选项。

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

要添加的填充类型。

[options.center]booleanfalse

是否将图像居中。

[options.constant_values]number0

用于填充的常数值。


imageFeatureExtractor.rescale(pixelData) ⇒ <code> void </code>

通过this.rescale_factor调整图像像素值。

类型: ImageFeatureExtractor 的实例方法

参数类型描述
pixelDataFloat32Array

待调整的像素数据。


imageFeatureExtractor.get_resize_output_image_size(image, size) ⇒ <code> * </code>

根据输入图像和所需的尺寸找到调整大小后图像的目标(宽度,高度)维度。

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

参数类型描述
imageRawImage

要调整大小的图像。

sizeany

调整图像大小时使用的尺寸。


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

调整图像大小。

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

参数类型描述
imageRawImage

要调整大小的图像。


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

预处理给定的图像。

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

参数类型描述
imageRawImage

待处理的图像。

覆盖对象

预处理选项的覆盖配置。


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

对图像数组调用特征提取过程,预处理每个图像,并将结果特征合并到一个张量中。

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

参数类型描述
imagesArray.<RawImage>

要从其提取特征的图像。

...argsany

其他参数。


processors.DetrFeatureExtractor ⇐ <code> ImageFeatureExtractor </code>

Detr 特征提取器。

类型: processors 的静态类
扩展: ImageFeatureExtractor


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

对图像数组调用特征提取过程,预处理每个图像,并将结果特征合并到一个张量中。

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

参数类型描述
imagesArray.<RawImage>

要从其提取特征的图像。


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

类型: DetrFeatureExtractor 的实例方法


detrFeatureExtractor.remove_low_and_no_objects(class_logits, mask_logits, object_mask_threshold, num_labels) ⇐ <code> * </code>

使用 object_mask_threshold 对给定的掩码进行二值化,返回 masksscoreslabels 的相关值。

类型: DetrFeatureExtractor 的实例方法
**返回**: <code>*</code> - 二值化后的掩码、分数和标签。

参数类型描述
class_logits张量

类别对数概率。

mask_logits张量

掩码对数概率。

object_mask_thresholdnumber

用于二值化掩码的介于 0 和 1 之间的数字。

num_labelsnumber

标签的数量。


detrFeatureExtractor.check_segment_validity(mask_labels, mask_probs, k, mask_threshold, overlap_mask_area_threshold) ⇐ <code> * </code>

检查片段是否有效。

类型: DetrFeatureExtractor 的实例方法
**返回**: <code>*</code> - 片段是否有效以及有效标签的索引。

参数类型默认描述
mask_labelsInt32Array

掩码中每个像素的标签。

mask_probsArray.

掩码中每个像素的概率。

knumber

片段的类别 ID。

mask_thresholdnumber0.5

掩码阈值。

overlap_mask_area_thresholdnumber0.8

重叠掩码面积阈值。


detrFeatureExtractor.compute_segments(掩码概率, 预测得分, 预测标签, 掩码阈值, 重叠掩码区域阈值, 合并标签ID, 目标大小)

计算段。

类型: DetrFeatureExtractor 的实例方法
返回值: * - 计算得到的段。

参数类型默认描述
mask_probsArray.

掩码概率。

预测得分。Array.<number>

预测得分。

预测标签。Array.<number>

预测标签。

mask_thresholdnumber

掩码阈值。

overlap_mask_area_thresholdnumber

重叠掩码面积阈值。

label_ids_to_fuse集合.

要合并的标签ID。

目标大小。Array.<number>

图像的目标大小。


detrFeatureExtractor.post_process_panoptic_segmentation(输出, [阈值], [掩码阈值], [重叠掩码区域阈值], [合并标签ID], [目标大小]) ⇒ 数组. < {segmentation: 张量, segments_info: 数组 < {id: 数字, label_id: 数字, score: 数字} > } >

对模型输出进行后处理以生成最终的动态分割。

类型: DetrFeatureExtractor 的实例方法

参数类型默认描述
输出*

要后处理的模型输出

[阈值]number0.5

保留预测实例掩码的概率得分阈值

[掩码阈值]number0.5

转换为二进制值时使用的阈值

[重叠掩码区域阈值]number0.8

合并或丢弃每个二进制实例掩码内部的小断开部分的合并掩码区域阈值

[合并标签ID]集合.

该状态下的标签将合并其所有实例

[目标大小]数组.<数组.

调整掩码的大小的目标大小


processors.Processor ⇐ <code> 可调用 </code>

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

类型: processors 的静态类
扩展: Callable


new Processor(feature_extractor)

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

参数类型描述
feature_extractorFeatureExtractor

用于从输入中提取特征的功能。


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

使用给定的输入调用feature_extractor功能。

类型Processor 的实例方法
返回值Promise.<any> - 一个解析为提取出的特征的Promise。

参数类型描述
inputany

要从中提取特征的输入。

...argsany

其他参数。


processors.WhisperProcessor ⇐ <code>处理器</code>

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

类型: processors 的静态类
扩展: Processor


whisperProcessor._call(audio) ⇒ <code> Promise. <任何类型> </code>

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

类型: WhisperProcessor 的实例方法
返回值Promise.<any> - 一个解析为提取出的特征的Promise。

参数类型描述
audioany

要提取特征的音频输入。


processors.AutoProcessor

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

示例: 使用from_pretrained加载处理器。

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

示例: 通过处理器运行图像。

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>

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

要实例化的处理器类是基于config对象中的feature_extractor_type属性选择的(无论是作为参数传递还是从可能的pretrained_model_name_or_path加载)

类型AutoProcessor的静态方法
返回Promise. - Processor类的新的实例。

参数类型描述
pretrained_model_name_or_path字符串

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

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

加载处理器时的附加选项。


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

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

类型processors的内部方法
返回Array. - 盒子的顶部左角和底部右角的坐标(top_left_x, top_left_y, bottom_right_x, bottom_right_y)

参数类型描述
arrArray.<number>

盒子的中心坐标及其宽度和高度维度(center_x, center_y, width, height)


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

将高度和宽度四舍五入到最近的 size_divisibility 的倍数

类型processors的内部方法
返回值: * - 四舍五入后的尺寸。

参数类型描述
size*

图像的大小

除数number

要使用的除数。


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

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

种类: processors 的内部typedef


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

种类: processors 的内部typedef
属性

名称类型描述
像素值张量

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

原始大小HeightWidth 数组的数组。

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

调整后的输入大小HeightWidth 数组的数组。

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


processors~PreprocessedImage : <code> 对象 </code>

种类: processors 的内部typedef
属性

名称类型描述
original_size高度宽度

图像的原始尺寸。

reshaped_input_size高度宽度

图像重塑后的输入尺寸。

像素值张量

预处理图像的像素值。


processors~DetrFeatureExtractorResult : <code> 对象 </code>

种类: processors 的内部typedef
属性

名称类型
pixel_mask张量

processors~SamImageProcessorResult : <code> 对象 </code>

种类: processors 的内部typedef
属性

名称类型
像素值张量
原始大小HeightWidth 数组的数组。
调整后的输入大小HeightWidth 数组的数组。
[input_points]张量
[input_labels]张量

< > 更新于GitHub