Views
No views yet
npm i @huggingface/transformersXenova/sam-vit-large.1import { SamModel, AutoProcessor, RawImage } from "@huggingface/transformers";
2
3// Load model and processor
4const model = await SamModel.from_pretrained("Xenova/sam-vit-large");
5const processor = await AutoProcessor.from_pretrained("Xenova/sam-vit-large");
6
7// Prepare image and input points
8const img_url = "https://huggingface.co/datasets/Xenova/transformers.js-docs/resolve/main/corgi.jpg";
9const raw_image = await RawImage.read(img_url);
10const input_points = [[[340, 250]]];
11
12// Process inputs and perform mask generation
13const inputs = await processor(raw_image, { input_points });
14const outputs = await model(inputs);
15
16// Post-process masks
17const masks = await processor.post_process_masks(outputs.pred_masks, inputs.original_sizes, inputs.reshaped_input_sizes);
18console.log(masks);
19// [
20// Tensor {
21// dims: [ 1, 3, 410, 614 ],
22// type: 'bool',
23// data: Uint8Array(755220) [ ... ],
24// size: 755220
25// }
26// ]
27const scores = outputs.iou_scores;
28console.log(scores);
29// Tensor {
30// dims: [ 1, 1, 3 ],
31// type: 'float32',
32// data: Float32Array(3) [
33// 1.0122944116592407,
34// 0.9184409976005554,
35// 0.9796935319900513
36// ],
37// size: 3
38// }1const image = RawImage.fromTensor(masks[0][0].mul(255));
2image.save('mask.png');

onnx).