alt.freeweights.vision / siglip-so400m-patch14-384
From: google <huggingface.co/google>Newsgroups: alt.freeweights.visionSubject:

siglip-so400m-patch14-384

Date: 2026-11-14Commit: 9fdffc5Signed: 2DC28CC7B26A283B ✓

Zero shot image classification model with 878M parameters. Safetensors weights, 3.52 GB in all. Published by google under Apache-2.0.

878M params3.52GBsiglip-so400m-patch14-384safetensorspermissive
FactsParams878MSize3.52 GBFormatssafetensorsTaskzero shot image classificationLicenseApache-2.0From sourcepermissive
$ fw get google/siglip-so400m-patch14-384
# manifest sha256 da090bbb987d… · 3.52 GB · 9 files
$ fw verify ./siglip-so400m-patch14-384 google/siglip-so400m-patch14-384
From sourceHosted (signed)google/siglip-so400m-patch14-384Last check: 2026-11-14 21:37 UTC

Get help: custom fine-tune or private deploy. We review your setup before we quote.

Overview

Size
3.52 GB
Weights
3.51 GB (safetensors)
Parameters
878M
Formats
safetensors
Task
zero shot image classification
License
Apache-2.0 (permissive)
Files
9, each with a sha256
Publisher
google
Added
2026-11-14
Section
alt.freeweights.vision
Lineage

Original release from the publisher.

Where these bytes come from
Publisher at the pinned commit→You

Sources are tried in order. A file counts only when its size and sha256 match the manifest. Sources are checked when you ask for them, not on a timer.

Sources
BadgeHostLast checkResult
From sourcehuggingface.co2026-11-14 21:37 UTCpassed

Model card

From the publisher at commit 9fdffc5. Shown as plain text with links; images open at the publisher.

SigLIP (shape-optimized model)#

SigLIP model pre-trained on WebLi at resolution 384x384. It was introduced in the paper Sigmoid Loss for Language Image Pre-Training by Zhai et al. and first released in this repository.

This model has the SoViT-400m architecture, which is the shape-optimized version as presented in Getting ViT in Shape: Scaling Laws for Compute-Optimal Model Design by Alabdulmohsin et al.

Disclaimer: The team releasing SigLIP did not write a model card for this model so this model card has been written by the Hugging Face team.

Model description#

SigLIP is CLIP, a multimodal model, with a better loss function. The sigmoid loss operates solely on image-text pairs and does not require a global view of the pairwise similarities for normalization. This allows further scaling up the batch size, while also performing better at smaller batch sizes.

A TLDR of SigLIP by one of the authors can be found here.

Intended uses & limitations#

You can use the raw model for tasks like zero-shot image classification and image-text retrieval. See the model hub to look for other versions on a task that interests you.

How to use#

Here is how to use this model to perform zero-shot image classification:

from PIL import Image
import requests
from transformers import AutoProcessor, AutoModel
import torch

model = AutoModel.from_pretrained("google/siglip-so400m-patch14-384")
processor = AutoProcessor.from_pretrained("google/siglip-so400m-patch14-384")

url = "http://images.cocodataset.org/val2017/000000039769.jpg"
image = Image.open(requests.get(url, stream=True).raw)

texts = ["a photo of 2 cats", "a photo of 2 dogs"]
inputs = processor(text=texts, images=image, padding="max_length", return_tensors="pt")

with torch.no_grad():
    outputs = model(**inputs)

logits_per_image = outputs.logits_per_image
probs = torch.sigmoid(logits_per_image) # these are the probabilities
print(f"{probs[0][0]:.1%} that image 0 is '{texts[0]}'")

Alternatively, one can leverage the pipeline API which abstracts away the complexity for the user:

from transformers import pipeline
from PIL import Image
import requests

# load pipe
image_classifier = pipeline(task="zero-shot-image-classification", model="google/siglip-so400m-patch14-384")

# load image
url = 'http://images.cocodataset.org/val2017/000000039769.jpg'
image = Image.open(requests.get(url, stream=True).raw)

# inference
outputs = image_classifier(image, candidate_labels=["2 cats", "a plane", "a remote"])
outputs = [{"score": round(output["score"], 4), "label": output["label"] } for output in outputs]
print(outputs)

For more code examples, we refer to the documentation.

Training procedure#

Training data#

SigLIP is pre-trained on the WebLI dataset (Chen et al., 2023).

Preprocessing#

Images are resized/rescaled to the same resolution (384x384) and normalized across the RGB channels with mean (0.5, 0.5, 0.5) and standard deviation (0.5, 0.5, 0.5).

Texts are tokenized and padded to the same length (64 tokens).

Compute#

The model was trained on 16 TPU-v4 chips for three days.

Evaluation results#

Evaluation of SigLIP compared to CLIP is shown below (taken from the paper).

Image: drawing

BibTeX entry and citation info#
@misc{zhai2023sigmoid,
      title={Sigmoid Loss for Language Image Pre-Training}, 
      author={Xiaohua Zhai and Basil Mustafa and Alexander Kolesnikov and Lucas Beyer},
      year={2023},
      eprint={2303.15343},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

Files

9 files · 3.52 GBWeights 3.51 GB (safetensors). Sizes and sha256 from the signed manifest.
Hide all 9 files with their sha256
FileSizesha256
.gitattributes1.52 KB11ad7efa24975ee4b0c3c3a38ed18737f0658a5f75a0a96787b576a78a023361
README.md4.32 KB96a172e58539296eadb939acf544287c14e20a0a426fbbff116518c2c8024a8b
config.json576 Badc04928d8fd19a61822584fe0cf2e813e5ebac17f3e49fb1ea096860ae6457b
model.safetensors3.51 GBea2abad2b7f8a9c1aa5e49a244d5d57ffa71c56f720c94bc5d240ef4d6e1d94a
preprocessor_config.json368 Bf59da2f87c3cd079bd4f8f3037e81b277c60c498e279a8020331f67a5a3157e8
special_tokens_map.json409 B2b6a1ff67a27e0df9ac0c7d93250fc0d87431c7b366b3d5669217104f9088a26
spiece.model798 KB1e5036bed065526c3c212dfbe288752391797c4bb1a284aa18c9a0b23fcaf8ec
tokenizer.json2.40 MBc6e405cb7c670d56636a9402c81023a55bc6c3c53d89cf02b92f5c5005bfe920
tokenizer_config.json711 Bd6423dae508cc3a129d22ea443841c111832a1a73125b8f25ea8736951698bcb
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
9fdffc58af pinned now manifest updated, same commit2026-11-14 21:37 UTC9 files · 3.52 GB
9fdffc58af2026-11-14 21:37 UTC9 files · 3.52 GB

Use it

$ fw get google/siglip-so400m-patch14-384
# manifest sha256 da090bbb987d… · 3.52 GB · 9 files
$ fw verify ./siglip-so400m-patch14-384 google/siglip-so400m-patch14-384
fw.pyChecks the signature and every sha256, tries each source in order, resumes.
$ python3 fw.py get https://freeweights.allternit.com/manifests/google/siglip-so400m-patch14-384.json --dir ./siglip-so400m-patch14-384 $ python3 fw.py verify ./siglip-so400m-patch14-384 ./google__siglip-so400m-patch14-384.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download google/siglip-so400m-patch14-384 --revision 9fdffc58afc957d1a03a25b10dba0329ab15c2a3 --local-dir ./siglip-so400m-patch14-384

License

Name
Apache License 2.0
Id
Apache-2.0
Class
Permissive
Redistribution
yes
Listing
Hosted (signed)
Decided
License as declared by the publisher. No person read it. 2026-11-14
Text in
README.md
Text sha256
96a172e58539296eadb939acf544287c14e20a0a426fbbff116518c2c8024a8b
Terms gate
No extra terms beyond the license.

Read the license text

Licenses are checked against the license table. A custom license passes only after a person reads it.

Provenance

From: google <huggingface.co/google>Newsgroups: alt.freeweights.visionSubject: siglip-so400m-patch14-384Date: 2026-11-14Commit: 9fdffc5Signed: 2DC28CC7B26A283B ✓
Upstream
google/siglip-so400m-patch14-384
Pinned commit
9fdffc58afc957d1a03a25b10dba0329ab15c2a3
Manifest
siglip-so400m-patch14-384.json · .minisig
Manifest sha256
da090bbb987d2492d1184004e6bfbcfe2ab25a93296a9de4524386018b428c71
Signature
minisign, Ed25519, key 2DC28CC7B26A283B
Created
2026-11-14 21:37 UTC
Generator
freeweights-manifest/0.1.0
Takedowns
None.

How to verify

$ curl -O https://freeweights.allternit.com/manifests/google/siglip-so400m-patch14-384.json $ curl -O https://freeweights.allternit.com/manifests/google/siglip-so400m-patch14-384.json.minisig $ minisign -Vm siglip-so400m-patch14-384.json -P RWQ7KGqyx4zCLXtUFOqvfv8L3g+8fpKJ1FsuxPyOYMF+4KufbUxKq1Oq $ shasum -a 256 <file> # compare with the Files tab

A manifest whose signature fails must be rejected. A file whose size or sha256 does not match must be discarded. Verify a download

Model tree

3 models in the catalog name this one as their parent.

Fine-tunes
2
Quantizations
1
Get it
Download
$ HF_ENDPOINT=https://freeweights.allternit.com hf download google/siglip-so400m-patch14-384
Open in Freeweights Studio

Pull, verify and run it in the Allternit app on Desktop, web or phone.

Signed manifest
minisign, key 2DC28CC7B26A283B. siglip-so400m-patch14-384.json. Provenance. Takedown history: none.

Variants

1 quantized or adapter build of siglip-so400m-patch14-384. Each has its own license check and page.

From: dima806 <huggingface.co/dima806>Subject: ai_vs_real_image_detection
From: legekka <huggingface.co/legekka>Subject: AI-Anime-Image-Detector-ViT
From: onnx-community <huggingface.co/onnx-community>Subject: AI-Anime-Image-Detector-ViT-ONNX
From: AICodexLab <huggingface.co/AICodexLab>Subject: answerdotai-ModernBERT-base-ai-detector
From: onnx-community <huggingface.co/onnx-community>Subject: answerdotai-ModernBERT-base-ai-detector-ONNX
From: onnx-community <huggingface.co/onnx-community>Subject: bart-large-cnn-ONNX