Instructions to use zeromodels/depth_anything_small with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- ZeroModels
How to use zeromodels/depth_anything_small with ZeroModels:
# pip install -U zeromodels # ZeroModels is pure Keras 3, so pick a backend: "jax", "torch" or "tensorflow". import os os.environ["KERAS_BACKEND"] = "jax" from zeromodels import AutoZModel # AutoZModel reads the repo's model_type and loads the matching class. # For a task head use the matching loader, e.g. AutoZMImageClassify / AutoZMDetect / # AutoZMSemanticSegment / AutoZMTextGenerate (see zeromodels.auto). model = AutoZModel.from_weights("zeromodels/depth_anything_small") - Keras
How to use zeromodels/depth_anything_small with Keras:
# !pip install -U keras tensorflow huggingface_hub # Keras needs TensorFlow installed to read "hf://" paths, so the tensorflow backend is selected here; # "jax" and "torch" also work for computation once TensorFlow is installed. import os os.environ["KERAS_BACKEND"] = "tensorflow" import keras model = keras.saving.load_model("hf://zeromodels/depth_anything_small") - Notebooks
- Google Colab
- Kaggle
File size: 3,525 Bytes
b44ee39 108b1d3 e4c325e b44ee39 e4c325e 108b1d3 b44ee39 108b1d3 b44ee39 41b5a78 108b1d3 41b5a78 108b1d3 e4c325e 108b1d3 5b69a67 108b1d3 e4c325e 108b1d3 b44ee39 108b1d3 b44ee39 108b1d3 e4c325e 108b1d3 e4c325e 108b1d3 b44ee39 108b1d3 e4c325e 108b1d3 e4c325e 108b1d3 e4c325e 108b1d3 e4c325e 108b1d3 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | ---
pipeline_tag: depth-estimation
license: apache-2.0
base_model: LiheYoung/depth-anything-small-hf
library_name: zeromodels
tags:
- keras
- zeromodels
- depth-anything
- depth-estimation
- arxiv:2401.10891
- pytorch
- jax
- tf
---
## ***See [our collection](https://huggingface.co/collections/zeromodels/depth-anything-v1-and-v2-6a8eaf5352197613b1655ac5) for all versions of Depth Anything V1.***
# Run Depth Anything V1 with Keras 3: JAX, PyTorch, or TensorFlow
[](https://github.com/IMvision12/ZeroModels) [](https://imvision12.github.io/ZeroModels/depth_anything_v1/) [](https://huggingface.co/collections/zeromodels/depth-anything-v1-and-v2-6a8eaf5352197613b1655ac5)
# zeromodels/depth_anything_small
Paper: [Depth Anything: Unleashing the Power of Large-Scale Unlabeled Data (arXiv:2401.10891)](https://arxiv.org/abs/2401.10891) · [HF Papers](https://huggingface.co/papers/2401.10891)
Depth Anything estimates depth from a single image. A DINOv2 ViT backbone feeds a DPT-style neck and head. V1 outputs relative inverse depth (larger means closer; units are arbitrary within one image).
For more details on the model, please go to the upstream [model card](https://huggingface.co/LiheYoung/depth-anything-small-hf).
Pure-**Keras 3** conversion of [`LiheYoung/depth-anything-small-hf`](https://huggingface.co/LiheYoung/depth-anything-small-hf) for [zeromodels](https://github.com/IMvision12/ZeroModels). One implementation runs unmodified on **TensorFlow / Torch / JAX**.
This is a **monocular depth** checkpoint (`DepthAnythingV1DepthEstimation`) with relative inverse depth.
## ✨ Quick start
```python
import os
os.environ["KERAS_BACKEND"] = "torch" # or "jax" / "tensorflow"
from PIL import Image
from zeromodels.models.depth_anything_v1 import DepthAnythingV1DepthEstimation, DepthAnythingV1ImageProcessor
model = DepthAnythingV1DepthEstimation.from_weights("zeromodels/depth_anything_small")
processor = DepthAnythingV1ImageProcessor.from_weights("zeromodels/depth_anything_small")
image = Image.open("your_image.jpg").convert("RGB")
output = model(processor(image)["pixel_values"], training=False)
depth = processor.post_process_depth_estimation(
output, original_size=(image.height, image.width)
)
print(depth.shape)
```
Load any Depth Anything V1 variant the same way with `from_weights("zeromodels/<variant>")`:
| Variant | Hub | Backbone |
|---|---|---|
| `depth_anything_small` | [`zeromodels/depth_anything_small`](https://huggingface.co/zeromodels/depth_anything_small) | ViT-S/14 |
| `depth_anything_base` | [`zeromodels/depth_anything_base`](https://huggingface.co/zeromodels/depth_anything_base) | ViT-B/14 |
| `depth_anything_large` | [`zeromodels/depth_anything_large`](https://huggingface.co/zeromodels/depth_anything_large) | ViT-L/14 |
## Tips
- Set `KERAS_BACKEND` **before** importing Keras / zeromodels.
- For metric (metre) depth, use Depth Anything V2 metric heads.
- See [Depth Anything V1 docs]({DOCS_URL}) and [Loading Weights](https://imvision12.github.io/ZeroModels/loading_weights/).
- Community / upstream weights: `DepthAnythingV1DepthEstimation.from_weights("hf:LiheYoung/depth-anything-small-hf")`.
## Special Thanks
A huge thank you to the Depth Anything authors for creating and releasing these models.
License: Apache 2.0.
|