ONNX 模型库
返回模型

说明文档

https://huggingface.co/google/siglip-large-patch16-384,包含 ONNX 权重,以兼容 Transformers.js。

用法 (Transformers.js)

如果您还没有安装,可以通过 NPM 安装 Transformers.js JavaScript 库:

npm i @xenova/transformers

示例: 使用 Xenova/siglip-large-patch16-384 进行零样本图像分类:

import { pipeline } from '@xenova/transformers';

const classifier = await pipeline('zero-shot-image-classification', 'Xenova/siglip-large-patch16-384');
const url = 'http://images.cocodataset.org/val2017/000000039769.jpg';
const output = await classifier(url, ['2 cats', '2 dogs'], {
    hypothesis_template: 'a photo of {}',
});
console.log(output);
// [
//   { score: 0.4783420264720917, label: '2 cats' },
//   { score: 0.00022271279885899276, label: '2 dogs' }
// ]

示例: 使用 SiglipTextModel 计算文本嵌入向量。

import { AutoTokenizer, SiglipTextModel } from '@xenova/transformers';

// 加载分词器和文本模型
const tokenizer = await AutoTokenizer.from_pretrained('Xenova/siglip-large-patch16-384');
const text_model = await SiglipTextModel.from_pretrained('Xenova/siglip-large-patch16-384');

// 运行分词
const texts = ['a photo of 2 cats', 'a photo of 2 dogs'];
const text_inputs = tokenizer(texts, { padding: 'max_length', truncation: true });

// 计算嵌入向量
const { pooler_output } = await text_model(text_inputs);
// Tensor {
//   dims: [ 2, 768 ],
//   type: 'float32',
//   data: Float32Array(1536) [ ... ],
//   size: 1536
// }

示例: 使用 SiglipVisionModel 计算视觉嵌入向量。

import { AutoProcessor, SiglipVisionModel, RawImage} from '@xenova/transformers';

// 加载处理器和视觉模型
const processor = await AutoProcessor.from_pretrained('Xenova/siglip-large-patch16-384');
const vision_model = await SiglipVisionModel.from_pretrained('Xenova/siglip-large-patch16-384');

// 读取图像并运行处理器
const image = await RawImage.read('https://huggingface.co/datasets/Xenova/transformers.js-docs/resolve/main/football-match.jpg');
const image_inputs = await processor(image);

// 计算嵌入向量
const { pooler_output } = await vision_model(image_inputs);
// Tensor {
//   dims: [ 1, 768 ],
//   type: 'float32',
//   data: Float32Array(768) [ ... ],
//   size: 768
// }

注意:为 ONNX 权重创建单独的仓库是一个临时解决方案,直到 WebML 获得更广泛的支持。如果您想让自己的模型支持 Web 端,我们建议使用 🤗 Optimum 转换为 ONNX 格式,并按照本仓库的结构组织(将 ONNX 权重放在名为 onnx 的子文件夹中)。

sheldonrobinson/siglip-large-patch16-384

作者 sheldonrobinson

zero-shot-image-classification transformers.js
↓ 1 ♥ 0

创建时间: 2024-11-04 15:34:39+00:00

更新时间: 2024-10-08 13:45:07+00:00

在 Hugging Face 上查看

文件 (18)

.gitattributes
README.md
config.json
onnx/model.onnx ONNX
onnx/model.onnx_data
onnx/model_quantized.onnx ONNX
onnx/text_model.onnx ONNX
onnx/text_model_fp16.onnx ONNX
onnx/text_model_quantized.onnx ONNX
onnx/vision_model.onnx ONNX
onnx/vision_model_fp16.onnx ONNX
onnx/vision_model_quantized.onnx ONNX
preprocessor_config.json
quantize_config.json
special_tokens_map.json
spiece.model
tokenizer.json
tokenizer_config.json