index.js
CHANGED
@@ -1,4 +1,6 @@
|
|
1 |
-
import { AutoProcessor, VitMatteForImageMatting, RawImage, Tensor, cat } from '
|
|
|
|
|
2 |
|
3 |
// Load processor and model
|
4 |
const processor = await AutoProcessor.from_pretrained('Xenova/vitmatte-small-composition-1k');
|
@@ -13,15 +15,12 @@ const inputs = await processor(image, trimap);
|
|
13 |
|
14 |
// Predict alpha matte
|
15 |
const { alphas } = await model(inputs);
|
16 |
-
console.log('alpha', alphas)
|
17 |
// Tensor {
|
18 |
// dims: [ 1, 1, 640, 960 ],
|
19 |
// type: 'float32',
|
20 |
// size: 614400,
|
21 |
// data: Float32Array(614400) [ 0.9894027709960938, 0.9970508813858032, ... ]
|
22 |
// }
|
23 |
-
//
|
24 |
-
// import { Tensor, cat } from '@xenova/transformers';
|
25 |
|
26 |
// Visualize predicted alpha matte
|
27 |
const imageTensor = new Tensor(
|
@@ -44,3 +43,4 @@ const imageData = cat([imageTensor, alphaChannel], 0);
|
|
44 |
// Save output image
|
45 |
const outputImage = RawImage.fromTensor(imageData);
|
46 |
outputImage.save('output.png');
|
|
|
|
1 |
+
import { AutoProcessor, VitMatteForImageMatting, RawImage, Tensor, cat } from 'https://cdn.jsdelivr.net/npm/@xenova/transformers@2.10.1';
|
2 |
+
|
3 |
+
env.allowLocalModels = false;
|
4 |
|
5 |
// Load processor and model
|
6 |
const processor = await AutoProcessor.from_pretrained('Xenova/vitmatte-small-composition-1k');
|
|
|
15 |
|
16 |
// Predict alpha matte
|
17 |
const { alphas } = await model(inputs);
|
|
|
18 |
// Tensor {
|
19 |
// dims: [ 1, 1, 640, 960 ],
|
20 |
// type: 'float32',
|
21 |
// size: 614400,
|
22 |
// data: Float32Array(614400) [ 0.9894027709960938, 0.9970508813858032, ... ]
|
23 |
// }
|
|
|
|
|
24 |
|
25 |
// Visualize predicted alpha matte
|
26 |
const imageTensor = new Tensor(
|
|
|
43 |
// Save output image
|
44 |
const outputImage = RawImage.fromTensor(imageData);
|
45 |
outputImage.save('output.png');
|
46 |
+
|