From: google <huggingface.co/google>Newsgroups: alt.freeweights.visionSubject:

tipsv2-b14

Date: 2026-11-14Commit: ed1e4dcSigned: 2DC28CC7B26A283B ✓

Zero shot image classification model with 196M parameters. Safetensors weights, 785 MB in all. Published by google under Apache-2.0.

196M params785MBtipsv2-b14safetensorspermissive
FactsParams196MSize785 MBFormatssafetensorsTaskzero shot image classificationLicenseApache-2.0From sourcepermissive
$ fw get google/tipsv2-b14
# manifest sha256 3ad1307e298f… · 785 MB · 11 files
$ fw verify ./tipsv2-b14 google/tipsv2-b14
From sourceHosted (signed)google/tipsv2-b14Last check: 2026-11-14 21:37 UTC

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

Works with

Runs with

Ranked by fit to this model (safetensors), then by GitHub stars.

Overview

Size
785 MB
Weights
784 MB (safetensors)
Parameters
196M
Formats
safetensors
Task
zero shot image classification
License
Apache-2.0 (permissive)
Files
11, 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 ed1e4dc. Shown as plain text with links; images open at the publisher.

TIPSv2 — B/14#

TIPSv2 (Text-Image Pre-training with Spatial awareness) is a family of contrastive vision-language models that produce spatially rich image features aligned with text embeddings. This is the Base variant with 86M vision params and 110M text params. Try the code snippets below or check out the GitHub repo for more use cases and visualizations, including zero-shot segmentation.

VariantVision paramsText paramsEmbed dimDPT Heads
B/1486M110M768B/14-dpt
L/14303M184M1024L/14-dpt
SO400m/14412M448M1152SO400m/14-dpt
g/141.1B389M1536g/14-dpt

Usage#

pip install transformers torch torchvision sentencepiece scikit-learn
Load the model#
from transformers import AutoModel

model = AutoModel.from_pretrained("google/tipsv2-b14", trust_remote_code=True)
model.eval()
Encode images#

Images should be tensors in [0, 1] range (just ToTensor(), no ImageNet normalization).

from torchvision import transforms
from PIL import Image
import requests

transform = transforms.Compose([
    transforms.Resize((448, 448)),
    transforms.ToTensor(),
])

url = "https://huggingface.co/spaces/google/TIPSv2/resolve/main/examples/zeroseg/pascal_context_00049_image.png"
image = Image.open(requests.get(url, stream=True).raw)
pixel_values = transform(image).unsqueeze(0)
out = model.encode_image(pixel_values)

print(out.cls_token.shape)     # (1, 1, 768) — global image embedding
print(out.patch_tokens.shape)  # (1, 1024, 768) — per-patch spatial features
Encode text#
text_emb = model.encode_text(["a photo of a bus", "a photo of a dog"])
print(text_emb.shape)  # (2, 768) — one embedding per query
Zero-shot classification#
import torch.nn.functional as F

classes = ["bus", "car", "dog", "cat"]
cls = F.normalize(out.cls_token[:, 0, :], dim=-1)
text_emb = F.normalize(model.encode_text(classes), dim=-1)
similarity = cls @ text_emb.T
print(classes[similarity.argmax()])  # bus — predicted class
Visualize spatial features#
import numpy as np
from sklearn.decomposition import PCA

spatial = out.patch_tokens.reshape(1, 32, 32, 768)
feat = spatial[0].detach().cpu().numpy().reshape(-1, 768)
rgb = PCA(n_components=3, whiten=True).fit_transform(feat).reshape(32, 32, 3)
rgb = 1 / (1 + np.exp(-2.0 * rgb))  # sigmoid for [0, 1] range with good contrast
print(rgb.shape)  # (32, 32, 3) — PCA of patch features as RGB
GPU inference#
model = model.cuda()
out = model.encode_image(pixel_values.cuda())
text_emb = model.encode_text(["a city"])

Model details#

  • Architecture: ViT vision encoder (12 layers) + Transformer text encoder (12 layers)
  • Image preprocessing: resize to any resolution, convert to [0, 1] (no ImageNet normalization)
  • Text preprocessing: SentencePiece tokenizer, lowercased, max 64 tokens
  • Patch size: 14x14 pixels

License#

Apache 2.0

Citation#

@inproceedings{cao2026tipsv2,
  title     = {{TIPSv2: Advancing Vision-Language Pretraining with Enhanced Patch-Text Alignment}},
  author    = {Cao, Bingyi and Chen, Koert and Maninis, Kevis-Kokitsi and Chen, Kaifeng and Karpur, Arjun and Xia, Ye and Dua, Sahil and Dabral, Tanmaya and Han, Guangxing and Han, Bohyung and Ainslie, Joshua and Bewley, Alex and Jacob, Mithun and Wagner, Rene and Ramos, Washington and Choromanski, Krzysztof and Seyedhosseini, Mojtaba and Zhou, Howard and Araujo, Andre},
  booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
  year      = {2026},
  url       = {https://arxiv.org/abs/2604.12012}
}

Files

11 files · 785 MBWeights 784 MB (safetensors). Sizes and sha256 from the signed manifest.
Hide all 11 files with their sha256
FileSizesha256
.gitattributes1.52 KB11ad7efa24975ee4b0c3c3a38ed18737f0658a5f75a0a96787b576a78a023361
README.md4.40 KB1e57a1ed3198d26a0a5ef5ae5f7c32b7fcf844d56ac108ccb1e5116f4bd10895
config.json1.75 KBe820817410827ac07020c6885e66c92627302e2608b55e3ce209c51f1878c183
configuration_tips.py1.70 KBef8306a43dc0826dbe4e563089b6a3269c60680a02281e2533cdc5d1a6516e42
image_encoder.py30.8 KB862fab50ddd623222112bd589b348bba57ead44523ac4dcc399422955ad76de3
model.safetensors784 MBc19aec1a777c381cc3d351b4882c56fc3041505c8f5b97535816a92dce3d20c5
modeling_tips.py4.68 KB11dae40ee6aa32cd0bb0ddcbfdcd871abbc358a489e7d916651342acecff8a8f
processor_config.json347 Ba3da1bf8a182db305c5dacfcf2f28fb09567028bade087e7344497819124523f
text_encoder.py10.5 KB04addbc2f19664e48ef963452e855d1bce185be9aaf276fbd9e0a70d7f0918df
tokenizer.model732 KB4c40e7723348d5d9a3d3c2bdcec5120d97fb29edfe1bf118b4494bce02fc7624
tokenizer_config.json292 B0da353fd61bc490106aa9f0ae2e097802182106d1af182cfe4aa654df0ce729b
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
ed1e4dc6b7 pinned now manifest updated, same commit2026-11-14 21:37 UTC11 files · 785 MB
ed1e4dc6b72026-11-14 21:37 UTC11 files · 785 MB

Use it

$ fw get google/tipsv2-b14
# manifest sha256 3ad1307e298f… · 785 MB · 11 files
$ fw verify ./tipsv2-b14 google/tipsv2-b14
fw.pyChecks the signature and every sha256, tries each source in order, resumes.
$ python3 fw.py get https://freeweights.allternit.com/manifests/google/tipsv2-b14.json --dir ./tipsv2-b14 $ python3 fw.py verify ./tipsv2-b14 ./google__tipsv2-b14.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download google/tipsv2-b14 --revision ed1e4dc6b74bf3935ae099e9d5eb30fa96528454 --local-dir ./tipsv2-b14

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
1e57a1ed3198d26a0a5ef5ae5f7c32b7fcf844d56ac108ccb1e5116f4bd10895
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: tipsv2-b14Date: 2026-11-14Commit: ed1e4dcSigned: 2DC28CC7B26A283B ✓
Upstream
google/tipsv2-b14
Pinned commit
ed1e4dc6b74bf3935ae099e9d5eb30fa96528454
Manifest
tipsv2-b14.json · .minisig
Manifest sha256
3ad1307e298f509310e6e04ea60acbb847ea750efcc2800a82adea7d1906af2c
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/tipsv2-b14.json $ curl -O https://freeweights.allternit.com/manifests/google/tipsv2-b14.json.minisig $ minisign -Vm tipsv2-b14.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

No related models in this catalog.Nothing here lists this model as its parent, and it names no parent.
Get it
Download
$ HF_ENDPOINT=https://freeweights.allternit.com hf download google/tipsv2-b14
Open in Freeweights Studio

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

Signed manifest
minisign, key 2DC28CC7B26A283B. tipsv2-b14.json. Provenance. Takedown history: none.
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