processors
Processors are used to prepare non-textual inputs (e.g., image or audio) for a model.
Example: Using a WhisperProcessor
to prepare an audio input for a model.
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
- static
- .FeatureExtractor β
Callable
- .ImageFeatureExtractor β
FeatureExtractor
new ImageFeatureExtractor(config)
.preprocess(image)
βPromise.<any>
._call(images)
βPromise.<Object>
- .DetrFeatureExtractor β
ImageFeatureExtractor
._call(urls)
βPromise.<Object>
.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)
β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>
~post_process_object_detection(outputs)
βArray.<Object>
~box
:Array.<number>
~PretrainedOptions
:*
- static
processors.FeatureExtractor β Callable
Base class for feature extractors.
Kind: static class of processors
Extends: Callable
new FeatureExtractor(config)
Constructs a new FeatureExtractor instance.
Param | Type | Description |
---|---|---|
config | Object | The configuration for the feature extractor. |
processors.ImageFeatureExtractor β FeatureExtractor
Feature extractor for image models.
Kind: static class of processors
Extends: FeatureExtractor
- .ImageFeatureExtractor β
FeatureExtractor
new ImageFeatureExtractor(config)
.preprocess(image)
βPromise.<any>
._call(images)
βPromise.<Object>
new ImageFeatureExtractor(config)
Constructs a new ImageFeatureExtractor instance.
Param | Type | Description |
---|---|---|
config | Object | The configuration for the feature extractor. |
config.image_mean | Array.<number> | The mean values for image normalization. |
config.image_std | Array.<number> | The standard deviation values for image normalization. |
config.do_rescale | boolean | Whether to rescale the image pixel values to the [0,1] range. |
config.rescale_factor | number | The factor to use for rescaling the image pixel values. |
config.do_normalize | boolean | Whether to normalize the image pixel values. |
config.do_resize | boolean | Whether to resize the image. |
config.resample | number | What method to use for resampling. |
config.size | number | The size to resize the image to. |
imageFeatureExtractor.preprocess(image)
β Promise.<any>
Preprocesses the given image.
Kind: instance method of ImageFeatureExtractor
Returns: Promise.<any>
- The preprocessed image as a Tensor.
Param | Type | Description |
---|---|---|
image | RawImage | The image to preprocess. |
imageFeatureExtractor._call(images)
β Promise.<Object>
Calls the feature extraction process on an array of image URLs, preprocesses each image, and concatenates the resulting features into a single Tensor.
Kind: instance method of ImageFeatureExtractor
Returns: Promise.<Object>
- An object containing the concatenated pixel values (and other metadata) of the preprocessed images.
Param | Type | Description |
---|---|---|
images | any | The URL(s) of the image(s) to extract features from. |
processors.DetrFeatureExtractor β ImageFeatureExtractor
Detr Feature Extractor.
Kind: static class of processors
Extends: ImageFeatureExtractor
- .DetrFeatureExtractor β
ImageFeatureExtractor
._call(urls)
βPromise.<Object>
.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(urls)
β Promise.<Object>
Calls the feature extraction process on an array of image URLs, preprocesses each image, and concatenates the resulting features into a single Tensor.
Kind: instance method of DetrFeatureExtractor
Returns: Promise.<Object>
- An object containing the concatenated pixel values of the preprocessed images.
Param | Type | Description |
---|---|---|
urls | any | The URL(s) of the image(s) to extract features from. |
detrFeatureExtractor.post_process_object_detection()
: post_process_object_detection
Kind: instance method of DetrFeatureExtractor
detrFeatureExtractor.remove_low_and_no_objects(class_logits, mask_logits, object_mask_threshold, num_labels)
β *
Binarize the given masks using object_mask_threshold
, it returns the associated values of masks
, scores
and labels
.
Kind: instance method of DetrFeatureExtractor
Returns: *
- The binarized masks, the scores, and the labels.
Param | Type | Description |
---|---|---|
class_logits | Tensor | The class logits. |
mask_logits | Tensor | The mask logits. |
object_mask_threshold | number | A number between 0 and 1 used to binarize the masks. |
num_labels | number | The number of labels. |
detrFeatureExtractor.check_segment_validity(mask_labels, mask_probs, k, mask_threshold, overlap_mask_area_threshold)
β *
Checks whether the segment is valid or not.
Kind: instance method of DetrFeatureExtractor
Returns: *
- Whether the segment is valid or not, and the indices of the valid labels.
Param | Type | Default | Description |
---|---|---|---|
mask_labels | Int32Array | Labels for each pixel in the mask. |
|
mask_probs | Array.<Tensor> | Probabilities for each pixel in the masks. |
|
k | number | The class id of the segment. |
|
mask_threshold | number | 0.5 | The mask threshold. |
overlap_mask_area_threshold | number | 0.8 | The overlap mask area threshold. |
detrFeatureExtractor.compute_segments(mask_probs, pred_scores, pred_labels, mask_threshold, overlap_mask_area_threshold, label_ids_to_fuse, target_size)
β *
Computes the segments.
Kind: instance method of DetrFeatureExtractor
Returns: *
- The computed segments.
Param | Type | Default | Description |
---|---|---|---|
mask_probs | Array.<Tensor> | The mask probabilities. |
|
pred_scores | Array.<number> | The predicted scores. |
|
pred_labels | Array.<number> | The predicted labels. |
|
mask_threshold | number | The mask threshold. |
|
overlap_mask_area_threshold | number | The overlap mask area threshold. |
|
label_ids_to_fuse | Set.<number> |
| The label ids to fuse. |
target_size | Array.<number> |
| The target size of the image. |
detrFeatureExtractor.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}>}>
Post-process the model output to generate the final panoptic segmentation.
Kind: instance method of DetrFeatureExtractor
Param | Type | Default | Description |
---|---|---|---|
outputs | * | The model output to post process |
|
[threshold] | number | 0.5 | The probability score threshold to keep predicted instance masks. |
[mask_threshold] | number | 0.5 | Threshold to use when turning the predicted masks into binary values. |
[overlap_mask_area_threshold] | number | 0.8 | The overlap mask area threshold to merge or discard small disconnected parts within each binary instance mask. |
[label_ids_to_fuse] | Set.<number> |
| The labels in this state will have all their instances be fused together. |
[target_sizes] | Array.<Array<number>> |
| The target sizes to resize the masks to. |
processors.Processor β Callable
Represents a Processor that extracts features from an input.
Kind: static class of processors
Extends: Callable
- .Processor β
Callable
new Processor(feature_extractor)
._call(input)
βPromise.<any>
new Processor(feature_extractor)
Creates a new Processor with the given feature extractor.
Param | Type | Description |
---|---|---|
feature_extractor | FeatureExtractor | The function used to extract features from the input. |
processor._call(input)
β Promise.<any>
Calls the feature_extractor function with the given input.
Kind: instance method of Processor
Returns: Promise.<any>
- A Promise that resolves with the extracted features.
Param | Type | Description |
---|---|---|
input | any | The input to extract features from. |
processors.WhisperProcessor β Processor
Represents a WhisperProcessor that extracts features from an audio input.
Kind: static class of processors
Extends: Processor
whisperProcessor._call(audio)
β Promise.<any>
Calls the feature_extractor function with the given audio input.
Kind: instance method of WhisperProcessor
Returns: Promise.<any>
- A Promise that resolves with the extracted features.
Param | Type | Description |
---|---|---|
audio | any | The audio input to extract features from. |
processors.AutoProcessor
Helper class which is used to instantiate pretrained processors with the from_pretrained
function.
The chosen processor class is determined by the type specified in the processor config.
Example: Load a processor using from_pretrained
.
let processor = await AutoProcessor.from_pretrained('openai/whisper-tiny.en');
Example: Run an image through a processor.
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 ]
// ]
// }
Kind: static class of processors
AutoProcessor.from_pretrained(pretrained_model_name_or_path, options)
β Promise.<Processor>
Instantiate one of the processor classes of the library from a pretrained model.
The processor class to instantiate is selected based on the feature_extractor_type
property of the config object
(either passed as an argument or loaded from pretrained_model_name_or_path
if possible)
Kind: static method of AutoProcessor
Returns: Promise.<Processor>
- A new instance of the Processor class.
Param | Type | Description |
---|---|---|
pretrained_model_name_or_path | string | The name or path of the pretrained model. Can be either:
|
options | PretrainedOptions | Additional options for loading the processor. |
processors~center_to_corners_format(arr)
β Array.<number>
Converts bounding boxes from center format to corners format.
Kind: inner method of processors
Returns: Array.<number>
- The coodinates for the top-left and bottom-right corners of the box (top_left_x, top_left_y, bottom_right_x, bottom_right_y)
Param | Type | Description |
---|---|---|
arr | Array.<number> | The coordinate for the center of the box and its width, height dimensions (center_x, center_y, width, height) |
processors~post_process_object_detection(outputs)
β Array.<Object>
Post-processes the outputs of the model (for object detection).
Kind: inner method of processors
Returns: Array.<Object>
- An array of objects containing the post-processed outputs.
Param | Type | Description |
---|---|---|
outputs | Object | The outputs of the model that must be post-processed |
outputs.logits | Tensor | The logits |
outputs.pred_boxes | Tensor | The predicted boxes. |
post_process_object_detection~box
: Array.<number>
Kind: inner property of post_process_object_detection
processors~PretrainedOptions
: *
Kind: inner typedef of processors