🚀 Siglip-base-patch16-224模型適配Transformers.js
本項目將 google/siglip-base-patch16-224
模型轉換為ONNX權重,以適配 Transformers.js
庫,可用於零樣本圖像分類等任務。
🚀 快速開始
本模型基於 google/siglip-base-patch16-224
,使用 Transformers.js
庫實現零樣本圖像分類。
📦 安裝指南
如果你還沒有安裝 Transformers.js
JavaScript 庫,可以使用以下命令從 NPM 進行安裝:
npm i @xenova/transformers
💻 使用示例
基礎用法
零樣本圖像分類
使用 Xenova/siglip-base-patch16-224
進行零樣本圖像分類:
import { pipeline } from '@xenova/transformers';
const classifier = await pipeline('zero-shot-image-classification', 'Xenova/siglip-base-patch16-224');
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);
高級用法
計算文本嵌入
使用 SiglipTextModel
計算文本嵌入:
import { AutoTokenizer, SiglipTextModel } from '@xenova/transformers';
const tokenizer = await AutoTokenizer.from_pretrained('Xenova/siglip-base-patch16-224');
const text_model = await SiglipTextModel.from_pretrained('Xenova/siglip-base-patch16-224');
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);
計算視覺嵌入
使用 SiglipVisionModel
計算視覺嵌入:
import { AutoProcessor, SiglipVisionModel, RawImage} from '@xenova/transformers';
const processor = await AutoProcessor.from_pretrained('Xenova/siglip-base-patch16-224');
const vision_model = await SiglipVisionModel.from_pretrained('Xenova/siglip-base-patch16-224');
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);
📚 詳細文檔
模型信息
屬性 |
詳情 |
基礎模型 |
google/siglip-base-patch16-224 |
庫名稱 |
transformers.js |
任務類型 |
零樣本圖像分類 |
注意事項
⚠️ 重要提示
為ONNX權重單獨創建一個倉庫是一種臨時解決方案,直到WebML獲得更多關注。如果你想讓你的模型適用於Web,我們建議使用 🤗 Optimum 將其轉換為ONNX,並像本倉庫一樣組織你的倉庫(將ONNX權重放在名為 onnx
的子文件夾中)。