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

tipsv2-l14

Date: 2026-11-14Commit: 52847a7Signed: 2DC28CC7B26A283B ✓

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

488M params1.95GBtipsv2-l14safetensorspermissive
FactsParams488MSize1.95 GBFormatssafetensorsTaskzero shot image classificationLicenseApache-2.0From sourcepermissive
$ fw get google/tipsv2-l14
# manifest sha256 692ac62f63ff… · 1.95 GB · 11 files
$ fw verify ./tipsv2-l14 google/tipsv2-l14
From sourceHosted (signed)google/tipsv2-l14Last 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
1.95 GB
Weights
1.95 GB (safetensors)
Parameters
488M
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 52847a7. Shown as plain text with links; images open at the publisher.

TIPSv2 — L/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 Large variant with 303M vision params and 184M 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-l14", 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, 1024) — global image embedding
print(out.patch_tokens.shape)  # (1, 1024, 1024) — 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, 1024) — 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, 1024)
feat = spatial[0].detach().cpu().numpy().reshape(-1, 1024)
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 (24 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 · 1.95 GBWeights 1.95 GB (safetensors). Sizes and sha256 from the signed manifest.
Hide all 11 files with their sha256
FileSizesha256
.gitattributes1.52 KB11ad7efa24975ee4b0c3c3a38ed18737f0658a5f75a0a96787b576a78a023361
README.md4.41 KB9a3d666916a03208fcb951cce6014112dda796faea2f2f6add797cd40bd493bd
config.json1.96 KB23314a4fc62ae2b800922c172c723a794e7bcb62278243ccb57b2fce102ac10e
configuration_tips.py1.70 KBef8306a43dc0826dbe4e563089b6a3269c60680a02281e2533cdc5d1a6516e42
image_encoder.py30.8 KB862fab50ddd623222112bd589b348bba57ead44523ac4dcc399422955ad76de3
model.safetensors1.95 GBc75707eabca655e641a6c47a59dd26b347290ceadb993b34af184e7f654c5809
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
52847a71eb pinned now manifest updated, same commit2026-11-14 21:37 UTC11 files · 1.95 GB
52847a71eb2026-11-14 21:37 UTC11 files · 1.95 GB

Use it

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

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
9a3d666916a03208fcb951cce6014112dda796faea2f2f6add797cd40bd493bd
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-l14Date: 2026-11-14Commit: 52847a7Signed: 2DC28CC7B26A283B ✓
Upstream
google/tipsv2-l14
Pinned commit
52847a71eb02a3082c370fbcd98cd799687bd4d0
Manifest
tipsv2-l14.json · .minisig
Manifest sha256
692ac62f63ff78877e986192d56e69eeb37c4d3ecfa19ae98b90bcca20704d13
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-l14.json $ curl -O https://freeweights.allternit.com/manifests/google/tipsv2-l14.json.minisig $ minisign -Vm tipsv2-l14.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-l14
Open in Freeweights Studio

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

Signed manifest
minisign, key 2DC28CC7B26A283B. tipsv2-l14.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