Image-Text-to-Text
Keras
PyTorch
JAX
TensorFlow
zeromodels
locateanything
object-detection
grounding
vision
Instructions to use zeromodels/locateanything_3b with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Keras
How to use zeromodels/locateanything_3b with Keras:
# Available backend options are: "jax", "torch", "tensorflow". import os os.environ["KERAS_BACKEND"] = "jax" import keras model = keras.saving.load_model("hf://zeromodels/locateanything_3b") - Notebooks
- Google Colab
- Kaggle
| pipeline_tag: image-text-to-text | |
| license: other | |
| license_name: nvidia-license | |
| license_link: https://huggingface.co/nvidia/LocateAnything-3B/blob/main/LICENSE | |
| base_model: nvidia/LocateAnything-3B | |
| library_name: zeromodels | |
| tags: | |
| - keras | |
| - zeromodels | |
| - locateanything | |
| - object-detection | |
| - grounding | |
| - vision | |
| - arxiv:2605.27365 | |
| - pytorch | |
| - jax | |
| - tf | |
| ## ***See [our collection](https://huggingface.co/collections/zeromodels/locateanything-6a8eaf39bae20e37dd3f7fc3) for all versions of LocateAnything.*** | |
| # Run LocateAnything with Keras 3: JAX, PyTorch, or TensorFlow | |
| [](https://github.com/IMvision12/ZeroModels) [](https://imvision12.github.io/ZeroModels/locateanything/) [](https://huggingface.co/collections/zeromodels/locateanything-6a8eaf39bae20e37dd3f7fc3) | |
| # zeromodels/locateanything_3b | |
| Paper: [LocateAnything: Fast and High-Quality Vision-Language Grounding with Parallel Box Decoding (arXiv:2605.27365)](https://arxiv.org/abs/2605.27365) · [HF Papers](https://huggingface.co/papers/2605.27365) | |
| LocateAnything is a vision-language grounding model for **detection, referring, pointing, layout, GUI/text grounding, and OCR**. Build the instruction with `locate_prompt(task, text)`, then parse boxes / points / grounding from the generated token ids. | |
| For more details on the model, please go to the upstream [model card](https://huggingface.co/nvidia/LocateAnything-3B). | |
| Pure-**Keras 3** conversion of [`nvidia/LocateAnything-3B`](https://huggingface.co/nvidia/LocateAnything-3B) for [zeromodels](https://github.com/IMvision12/ZeroModels). One implementation runs unmodified on **TensorFlow / Torch / JAX**. | |
| This is a **grounding VLM** checkpoint (`LocateAnythingConditionalGenerate`). Prefer `load_dtype="bfloat16"`. | |
| ## ✨ Quick start (open-vocabulary detection) | |
| ```python | |
| import os | |
| os.environ["KERAS_BACKEND"] = "torch" # or "jax" / "tensorflow" | |
| import keras | |
| import numpy as np | |
| from PIL import Image | |
| from zeromodels.models.locateanything import ( | |
| LocateAnythingConditionalGenerate, | |
| LocateAnythingProcessor, | |
| locate_prompt, | |
| ) | |
| model = LocateAnythingConditionalGenerate.from_weights( | |
| "zeromodels/locateanything_3b", load_dtype="bfloat16" | |
| ) | |
| processor = LocateAnythingProcessor.from_weights("zeromodels/locateanything_3b") | |
| image = Image.open("your_image.jpg").convert("RGB") | |
| # Tasks: detection | referring | phrase_grounding | pointing | | |
| # layout | text_grounding | OCR | |
| prompt = locate_prompt("detection", "zebra") | |
| inputs = processor( | |
| conversation=[ | |
| { | |
| "role": "user", | |
| "content": [ | |
| {"type": "image", "image": image}, | |
| {"type": "text", "text": prompt}, | |
| ], | |
| } | |
| ] | |
| ) | |
| out = model.generate( | |
| **inputs, max_new_tokens=192, tokenizer=processor.tokenizer | |
| ) | |
| ids = np.asarray(keras.ops.convert_to_numpy(out))[0].tolist() | |
| boxes = processor.tokenizer.parse_boxes(ids) # [0, 1000] grid | |
| print(len(boxes), boxes[:2]) | |
| ``` | |
| Load any LocateAnything variant the same way with `from_weights("zeromodels/<variant>")`: | |
| | Variant | Hub | | |
| |---|---| | |
| | `locateanything_3b` | [`zeromodels/locateanything_3b`](https://huggingface.co/zeromodels/locateanything_3b) | | |
| ## Tips | |
| - Set `KERAS_BACKEND` **before** importing Keras / zeromodels. | |
| - Use `parse_boxes` for detection, `parse_points` for pointing, `parse_grounding` for referring / layout / text / OCR. | |
| - Boxes and points are on a `[0, 1000]` grid; scale to pixels yourself. | |
| - See [LocateAnything docs](https://imvision12.github.io/ZeroModels/locateanything/) and [Loading Weights](https://imvision12.github.io/ZeroModels/loading_weights/). | |
| - Community / upstream safetensors still work via the `hf:` prefix, e.g. `LocateAnythingConditionalGenerate.from_weights("hf:nvidia/LocateAnything-3B")`. | |
| ## Special Thanks | |
| A huge thank you to the NVIDIA LocateAnything authors for creating and releasing these models. | |
| License: [NVIDIA License](https://huggingface.co/nvidia/LocateAnything-3B/blob/main/LICENSE) (non-commercial / research). See the upstream card for component licenses (Qwen2.5, MoonViT, etc.). | |