Views
No views yet
laion/CLIP-ViT-g-14-laion2B-s12B-b42K for zeromodels. One implementation runs unmodified on TensorFlow / Torch / JAX.CLIPZeroShotClassify): pass image(s) and text prompts at inference time.1import os
2os.environ["KERAS_BACKEND"] = "torch" # or "jax" / "tensorflow"
3
4from zeromodels.models.clip import (
5 CLIPProcessor,
6 CLIPZeroShotClassify,
7)
8
9processor = CLIPProcessor.from_weights("zeromodels/clip_vit_g_14")
10model = CLIPZeroShotClassify.from_weights("zeromodels/clip_vit_g_14")
11
12labels = [
13 "a photo of a cat",
14 "a photo of a dog",
15 "a photo of a car",
16 "a photo of a living room",
17]
18inputs = processor(text=labels, image_paths="your_image.jpg")
19output = model(
20 {
21 "images": inputs["images"],
22 "token_ids": inputs["input_ids"],
23 "padding_mask": inputs["attention_mask"],
24 }
25)
26print(output["image_logits"].shape)from_weights("zeromodels/<variant>"):| Variant | Hub | Notes |
|---|---|---|
clip_vit_base_16 | zeromodels/clip_vit_base_16 | OpenAI |
clip_vit_base_32 | zeromodels/clip_vit_base_32 | OpenAI |
clip_vit_large_14 | zeromodels/clip_vit_large_14 | OpenAI |
clip_vit_large_14_336 | zeromodels/clip_vit_large_14_336 | OpenAI |
clip_vit_g_14 | zeromodels/clip_vit_g_14 | LAION |
clip_vit_bigg_14 | zeromodels/clip_vit_bigg_14 | LAION |
KERAS_BACKEND before importing Keras / zeromodels.Processor.from_weights(...) so image size and tokenizer match the variant.input_ids / attention_mask to model token_ids / padding_mask.quick_gelu; LAION g/G use gelu.hf: prefix, e.g. CLIPZeroShotClassify.from_weights("hf:laion/CLIP-ViT-g-14-laion2B-s12B-b42K").