Views
No views yet
google/owlv2-large-patch14 for zeromodels. One implementation runs unmodified on TensorFlow / Torch / JAX.Owlv2Detect): pass free-text prompts at inference time.1import os
2os.environ["KERAS_BACKEND"] = "torch" # or "jax" / "tensorflow"
3
4from PIL import Image
5from zeromodels.models.owlv2 import (
6 Owlv2Detect,
7 Owlv2Processor,
8 Owlv2ImageProcessor,
9)
10
11model = Owlv2Detect.from_weights("zeromodels/owlv2-large-patch14")
12processor = Owlv2Processor.from_weights("zeromodels/owlv2-large-patch14")
13image_processor = Owlv2ImageProcessor.from_weights("zeromodels/owlv2-large-patch14")
14
15image = Image.open("your_image.jpg").convert("RGB")
16prompts = ["a photo of a mug", "a photo of a knife"]
17inputs = processor(text=[prompts], images=image)
18output = model(
19 {
20 "input_ids": inputs["input_ids"],
21 "pixel_values": inputs["pixel_values"],
22 }
23)
24results = image_processor.post_process_object_detection(
25 output,
26 threshold=0.1,
27 target_sizes=[(image.height, image.width)],
28 text_labels=[prompts],
29)[0]
30for score, name, box in zip(
31 results["scores"], results["text_labels"], results["boxes"]
32):
33 print(f"{name}: {float(score):.3f} {box}")from_weights("zeromodels/<variant>") (use Owlv2Detect for this repo):| Variant | Hub | Family |
|---|---|---|
owlvit-base-patch32 | zeromodels/owlvit-base-patch32 | OWL-ViT |
owlvit-base-patch16 | zeromodels/owlvit-base-patch16 | OWL-ViT |
owlvit-large-patch14 | zeromodels/owlvit-large-patch14 | OWL-ViT |
owlv2-base-patch16 | zeromodels/owlv2-base-patch16 | OWLv2 |
owlv2-base-patch16-ensemble | zeromodels/owlv2-base-patch16-ensemble | OWLv2 |
owlv2-base-patch16-finetuned | zeromodels/owlv2-base-patch16-finetuned | OWLv2 |
owlv2-large-patch14 | zeromodels/owlv2-large-patch14 | OWLv2 |
owlv2-large-patch14-ensemble | zeromodels/owlv2-large-patch14-ensemble | OWLv2 |
owlv2-large-patch14-finetuned | zeromodels/owlv2-large-patch14-finetuned | OWLv2 |
KERAS_BACKEND before importing Keras / zeromodels.Processor.from_weights(...) so image size matches the variant.0.1).(height, width) as target_sizes carefully (see the OWLv2 docs for the padding trap).hf: prefix, e.g. Owlv2Detect.from_weights("hf:google/owlv2-large-patch14").