处理器
处理器用于准备用于模型的非文本输入(例如,图像或音频)。
示例: 使用 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,
// }
- 处理器
- 静态
- .FeatureExtractor ⇐
Callable
- .ImageFeatureExtractor ⇐
FeatureExtractor
new ImageFeatureExtractor(config)
.thumbnail(image, size, [resample])
⇒Promise.<RawImage>
.crop_margin(image, gray_threshold)
⇒Promise.<RawImage>
.pad_image(pixelData, imgDims, padSize, options)
⇒*
.rescale(pixelData)
⇒void
.get_resize_output_image_size(image, size)
⇒*
.resize(image)
⇒Promise.<RawImage>
.preprocess(image, overrides)
⇒Promise.<PreprocessedImage>
._call(images, ...args)
⇒Promise.<ImageFeatureExtractorResult>
- .DetrFeatureExtractor ⇐
ImageFeatureExtractor
._call(images)
⇒Promise.<DetrFeatureExtractorResult>
.post_process_object_detection()
:post_process_object_detection
.remove_low_and_no_objects(class_logits, mask_logits, object_mask_threshold, num_labels)
⇒*
.check_segment_validity(mask_labels, mask_probs, k, mask_threshold, overlap_mask_area_threshold)
⇒*
.compute_segments(mask_probs, pred_scores, pred_labels, mask_threshold, overlap_mask_area_threshold, label_ids_to_fuse, target_size)
⇒*
.post_process_panoptic_segmentation(outputs, [threshold], [mask_threshold], [overlap_mask_area_threshold], [label_ids_to_fuse], [target_sizes])
⇒Array.<{segmentation: Tensor, segments_info: Array<{id: number, label_id: number, score: number}>}>
- .Processor ⇐
Callable
new Processor(feature_extractor)
._call(input, ...args)
⇒Promise.<any>
- .WhisperProcessor ⇐
Processor
._call(audio)
⇒Promise.<any>
- .AutoProcessor
.from_pretrained(pretrained_model_name_or_path, options)
⇒Promise.<Processor>
- .FeatureExtractor ⇐
- inner
~center_to_corners_format(arr)
⇒Array.<number>
~enforce_size_divisibility(size, divisor)
⇒*
~HeightWidth
:*
~ImageFeatureExtractorResult
:object
~PreprocessedImage
:object
~DetrFeatureExtractorResult
:object
~SamImageProcessorResult
:object
- 静态
processors.FeatureExtractor ⇐ <code> Callable </code>
特征提取器的基类。
类型: processors
的静态类
扩展: Callable
new FeatureExtractor(config)
构造一个新的 FeatureExtractor 实例。
参数 | 类型 | 描述 |
---|---|---|
config | 对象 | 特征提取器的配置。 |
processors.ImageFeatureExtractor ⇐ <code> FeatureExtractor </code>
图像模型的特征提取器。
类型: processors
的静态类
扩展: FeatureExtractor
- .ImageFeatureExtractor ⇐
FeatureExtractor
new ImageFeatureExtractor(config)
.thumbnail(image, size, [resample])
⇒Promise.<RawImage>
.crop_margin(image, gray_threshold)
⇒Promise.<RawImage>
.pad_image(pixelData, imgDims, padSize, options)
⇒*
.rescale(pixelData)
⇒void
.get_resize_output_image_size(image, size)
⇒*
.resize(image)
⇒Promise.<RawImage>
.preprocess(image, overrides)
⇒Promise.<PreprocessedImage>
._call(images, ...args)
⇒Promise.<ImageFeatureExtractorResult>
new ImageFeatureExtractor(config)
构建一个新的ImageFeatureExtractor实例。
参数 | 类型 | 默认 | 描述 |
---|---|---|---|
config | 对象 | 特征提取器的配置。 | |
config.image_mean | Array.<number> | 图像归一化的均值值。 | |
config.image_std | Array.<number> | 图像归一化的标准差值。 | |
config.do_rescale | boolean | 是否将图像像素值缩放到[0,1]范围。 | |
config.rescale_factor | number | 缩放图像像素值时使用的系数。 | |
config.do_normalize | boolean | 是否归一化图像像素值。 | |
config.do_resize | boolean | 是否调整图像大小。 | |
config.resample | number | 用于重采样的方法。 | |
config.size | number | Object | 调整图像大小时的目标大小。 | |
[config.do_flip_channel_order] | boolean | false | 是否将颜色通道从RGB翻转到BGR。可在 |
imageFeatureExtractor.thumbnail(image, size, [resample]) ⇒ <code> Promise. < RawImage > </code>
调整图像大小以生成缩略图。图像的大小调整到指定的尺寸的对应维度大小为止。
类型: ImageFeatureExtractor
的实例方法
返回: Promise.<RawImage>
- 调整大小的图像。
参数 | 类型 | 默认 | 描述 |
---|---|---|---|
image | RawImage | 要调整大小的图像。 | |
size | 对象 | 调整图像大小的尺寸 | |
[resample] | string | 0 | 1 | 2 | 3 | 4 | 5 | 2 | 要使用的重采样过滤器。 |
imageFeatureExtractor.crop_margin(image, gray_threshold) ⇒ <code> Promise. < RawImage > </code>
裁剪图像的边框。灰度像素被认为是边框(即值低于阈值的像素)。
类型: ImageFeatureExtractor
的实例方法
返回: Promise.<RawImage>
- 裁剪后的图像。
参数 | 类型 | 默认 | 描述 |
---|---|---|---|
image | RawImage | 要裁剪的图像。 | |
gray_threshold | number | 200 | 低于该值的像素被认为是灰度。 |
imageFeatureExtractor.pad_image(pixelData, imgDims, padSize, options) ⇒ <code> * </code>
以一定量填充图像。
类型: ImageFeatureExtractor
的实例方法
返回: *
- 填充的像素数据和解像度。
参数 | 类型 | 默认 | 描述 |
---|---|---|---|
pixelData | Float32Array | 要填充的像素数据。 | |
imgDims | Array.<number> | 图像的维度(高度、宽度、通道)。 | |
padSize | * | 填充图像的尺寸。 | |
options | 对象 | 填充的选项。 | |
[options.mode] | 'constant' | 'symmetric' | 'constant' | 要添加的填充类型。 |
[options.center] | boolean | false | 是否将图像居中。 |
[options.constant_values] | number | 0 | 用于填充的常数值。 |
imageFeatureExtractor.rescale(pixelData) ⇒ <code> void </code>
通过this.rescale_factor调整图像像素值。
类型: ImageFeatureExtractor
的实例方法
参数 | 类型 | 描述 |
---|---|---|
pixelData | Float32Array | 待调整的像素数据。 |
imageFeatureExtractor.get_resize_output_image_size(image, size) ⇒ <code> * </code>
根据输入图像和所需的尺寸找到调整大小后图像的目标(宽度,高度)维度。
类型: ImageFeatureExtractor
的实例方法
返回值: *
- 调整大小后图像的目标(宽度,高度)维度。
参数 | 类型 | 描述 |
---|---|---|
image | RawImage | 要调整大小的图像。 |
size | any | 调整图像大小时使用的尺寸。 |
imageFeatureExtractor.resize(image) ⇒ <code> Promise. < RawImage > </code>
调整图像大小。
类型: ImageFeatureExtractor
的实例方法
返回: Promise.<RawImage>
- 调整大小的图像。
参数 | 类型 | 描述 |
---|---|---|
image | RawImage | 要调整大小的图像。 |
imageFeatureExtractor.preprocess(image, overrides) ⇒ <code> Promise. < PreprocessedImage > </code>
预处理给定的图像。
类型: ImageFeatureExtractor
的实例方法
返回: Promise.<PreprocessedImage>
- 预处理后的图像。
参数 | 类型 | 描述 |
---|---|---|
image | RawImage | 待处理的图像。 |
覆盖 | 对象 | 预处理选项的覆盖配置。 |
imageFeatureExtractor._call(images, ...args) ⇒ <code> Promise. < ImageFeatureExtractorResult > </code>
对图像数组调用特征提取过程,预处理每个图像,并将结果特征合并到一个张量中。
类型: ImageFeatureExtractor
的实例方法
返回: Promise.<ImageFeatureExtractorResult>
- 包含预处理图像合并像素值(和其他元数据)的对象。
参数 | 类型 | 描述 |
---|---|---|
images | Array.<RawImage> | 要从其提取特征的图像。 |
...args | any | 其他参数。 |
processors.DetrFeatureExtractor ⇐ <code> ImageFeatureExtractor </code>
Detr 特征提取器。
类型: processors
的静态类
扩展: ImageFeatureExtractor
- .DetrFeatureExtractor ⇐
ImageFeatureExtractor
._call(images)
⇒Promise.<DetrFeatureExtractorResult>
.post_process_object_detection()
:post_process_object_detection
.remove_low_and_no_objects(class_logits, mask_logits, object_mask_threshold, num_labels)
⇒*
.check_segment_validity(mask_labels, mask_probs, k, mask_threshold, overlap_mask_area_threshold)
⇒*
.compute_segments(mask_probs, pred_scores, pred_labels, mask_threshold, overlap_mask_area_threshold, label_ids_to_fuse, target_size)
⇒*
.post_process_panoptic_segmentation(outputs, [threshold], [mask_threshold], [overlap_mask_area_threshold], [label_ids_to_fuse], [target_sizes])
⇒Array.<{segmentation: Tensor, segments_info: Array<{id: number, label_id: number, score: number}>}>
detrFeatureExtractor._call(images) ⇒ <code> Promise. < DetrFeatureExtractorResult > </code>
对图像数组调用特征提取过程,预处理每个图像,并将结果特征合并到一个张量中。
类型: DetrFeatureExtractor
的实例方法
返回: Promise.<DetrFeatureExtractorResult>
- 包含预处理图像合并像素值的对象。
参数 | 类型 | 描述 |
---|---|---|
images | Array.<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
对给定的掩码进行二值化,返回 masks
、scores
和 labels
的相关值。
类型: DetrFeatureExtractor
的实例方法
**返回**: <code>*</code> - 二值化后的掩码、分数和标签。
参数 | 类型 | 描述 |
---|---|---|
class_logits | 张量 | 类别对数概率。 |
mask_logits | 张量 | 掩码对数概率。 |
object_mask_threshold | number | 用于二值化掩码的介于 0 和 1 之间的数字。 |
num_labels | number | 标签的数量。 |
detrFeatureExtractor.check_segment_validity(mask_labels, mask_probs, k, mask_threshold, overlap_mask_area_threshold) ⇐ <code> * </code>
检查片段是否有效。
类型: DetrFeatureExtractor
的实例方法
**返回**: <code>*</code> - 片段是否有效以及有效标签的索引。
参数 | 类型 | 默认 | 描述 |
---|---|---|---|
mask_labels | Int32Array | 掩码中每个像素的标签。 | |
mask_probs | Array. | 掩码中每个像素的概率。 | |
k | number | 片段的类别 ID。 | |
mask_threshold | number | 0.5 | 掩码阈值。 |
overlap_mask_area_threshold | number | 0.8 | 重叠掩码面积阈值。 |
detrFeatureExtractor.compute_segments(掩码概率, 预测得分, 预测标签, 掩码阈值, 重叠掩码区域阈值, 合并标签ID, 目标大小)
计算段。
类型: DetrFeatureExtractor
的实例方法
返回值: *
- 计算得到的段。
参数 | 类型 | 默认 | 描述 |
---|---|---|---|
mask_probs | Array. | 掩码概率。 | |
预测得分。 | Array.<number> | 预测得分。 | |
预测标签。 | Array.<number> | 预测标签。 | |
mask_threshold | number | 掩码阈值。 | |
overlap_mask_area_threshold | number | 重叠掩码面积阈值。 | |
label_ids_to_fuse | 集合. |
| 要合并的标签ID。 |
目标大小。 | Array.<number> |
| 图像的目标大小。 |
detrFeatureExtractor.post_process_panoptic_segmentation(输出, [阈值], [掩码阈值], [重叠掩码区域阈值], [合并标签ID], [目标大小]) ⇒ 数组.
< {segmentation: 张量, segments_info: 数组 < {id: 数字, label_id: 数字, score: 数字} > } >
对模型输出进行后处理以生成最终的动态分割。
类型: DetrFeatureExtractor
的实例方法
参数 | 类型 | 默认 | 描述 |
---|---|---|---|
输出 | * | 要后处理的模型输出 | |
[阈值] | number | 0.5 | 保留预测实例掩码的概率得分阈值 |
[掩码阈值] | number | 0.5 | 转换为二进制值时使用的阈值 |
[重叠掩码区域阈值] | number | 0.8 | 合并或丢弃每个二进制实例掩码内部的小断开部分的合并掩码区域阈值 |
[合并标签ID] | 集合. |
| 该状态下的标签将合并其所有实例 |
[目标大小] | 数组.<数组. |
| 调整掩码的大小的目标大小 |
processors.Processor ⇐ <code> 可调用 </code>
表示从一个输入中提取特征的处理器。
类型: processors
的静态类
扩展: Callable
- .Processor ⇐
Callable
new Processor(feature_extractor)
._call(input, ...args)
⇒Promise.<any>
new Processor(feature_extractor)
使用给定的特征提取器创建一个新的处理器。
参数 | 类型 | 描述 |
---|---|---|
feature_extractor | FeatureExtractor | 用于从输入中提取特征的功能。 |
processor._call(input, ...args) ⇒ <code> Promise. < any > </code>
使用给定的输入调用feature_extractor功能。
类型: Processor
的实例方法
返回值: Promise.<any>
- 一个解析为提取出的特征的Promise。
参数 | 类型 | 描述 |
---|---|---|
input | any | 要从中提取特征的输入。 |
...args | any | 其他参数。 |
processors.WhisperProcessor ⇐ <code>处理器</code>
表示从音频输入提取特征的WhisperProcessor。
类型: processors
的静态类
扩展: Processor
whisperProcessor._call(audio) ⇒ <code> Promise. <任何类型> </code>
调用具有给定音频输入的feature_extractor函数。
类型: WhisperProcessor
的实例方法
返回值: Promise.<any>
- 一个解析为提取出的特征的Promise。
参数 | 类型 | 描述 |
---|---|---|
audio | any | 要提取特征的音频输入。 |
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 | 字符串 | 预训练模型的名称或路径。可以是
|
options | * | 加载处理器时的附加选项。 |
processors~center_to_corners_format(arr) ⇒ <code>Array.</code>
将边界框从中心格式转换为角落格式。
类型:processors
的内部方法
返回:Array.
- 盒子的顶部左角和底部右角的坐标(top_left_x, top_left_y, bottom_right_x, bottom_right_y)
参数 | 类型 | 描述 |
---|---|---|
arr | Array.<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