Update model card: OdaxAI S.R.L. branding, full address and email
Browse files
README.md
CHANGED
|
@@ -25,7 +25,9 @@ datasets:
|
|
| 25 |
[](https://github.com/odaxai/Venice-H1)
|
| 26 |
[](https://opensource.org/licenses/MIT)
|
| 27 |
|
| 28 |
-
**Nicolò Savioli, Ph.D.**
|
|
|
|
|
|
|
| 29 |
|
| 30 |
---
|
| 31 |
|
|
@@ -36,7 +38,7 @@ Venice-H1 is a lightweight, backbone-decoupled re-ranking module for Referring I
|
|
| 36 |
- **Multi-Scale Grid Signatures**: 4×4, 8×8, 16×16 spatial pooling → 675-dim descriptors
|
| 37 |
- **Failure Gate**: binary classifier predicting whether Query 0 is suboptimal
|
| 38 |
- **Gain Predictor**: IoU-regression head estimating improvement per alternative query
|
| 39 |
-
- **Backbone-decoupled**: works on cached features, no retraining of DeRIS
|
| 40 |
|
| 41 |
**Architecture**: 3-layer pre-norm Transformer encoder, 8 heads, hidden_dim=512
|
| 42 |
**Parameters**: 11,296,258 (11.3M) — matches paper exactly
|
|
@@ -95,7 +97,6 @@ print("Parameters:", sum(v.numel() for v in ckpt["model"].values() if hasattr(v,
|
|
| 95 |
**Full inference pipeline** (requires DeRIS-L features):
|
| 96 |
|
| 97 |
```python
|
| 98 |
-
# Clone repo
|
| 99 |
# git clone https://github.com/odaxai/Venice-H1
|
| 100 |
# cd Venice-H1 && pip install -r requirements.txt
|
| 101 |
|
|
@@ -103,12 +104,10 @@ from venice_h1.model.reranker import VeniceH1Reranker
|
|
| 103 |
import torch
|
| 104 |
from huggingface_hub import hf_hub_download
|
| 105 |
|
| 106 |
-
# Load checkpoint
|
| 107 |
ckpt_path = hf_hub_download(repo_id="OdaxAI/venice-h1", filename="venice_h1_deris_l.pt")
|
| 108 |
ckpt = torch.load(ckpt_path, map_location="cpu", weights_only=False)
|
| 109 |
cfg = ckpt["config"]
|
| 110 |
|
| 111 |
-
# Build model (note: architecture uses original naming convention)
|
| 112 |
model = VeniceH1Reranker(
|
| 113 |
query_feat_dim=cfg["query_feat_dim"],
|
| 114 |
hidden_dim=cfg["hidden_dim"],
|
|
@@ -118,11 +117,11 @@ model = VeniceH1Reranker(
|
|
| 118 |
)
|
| 119 |
model.eval()
|
| 120 |
|
| 121 |
-
# features: (B, N_queries, 936)
|
| 122 |
-
#
|
| 123 |
with torch.no_grad():
|
| 124 |
out = model(features, det_scores, mask_means)
|
| 125 |
-
p_fail = out["p_fail"]
|
| 126 |
selected = model.rerank(features, det_scores, mask_means) # (B,) — best query index
|
| 127 |
```
|
| 128 |
|
|
@@ -135,7 +134,10 @@ with torch.no_grad():
|
|
| 135 |
| `venice_h1_deris_l.pt` | **Trained checkpoint** — 11.3M params, DeRIS-L backbone |
|
| 136 |
| `venice_h1_deris_l_metrics.json` | Full evaluation metrics |
|
| 137 |
| `config.yaml` | Training hyperparameters |
|
| 138 |
-
| `
|
|
|
|
|
|
|
|
|
|
| 139 |
|
| 140 |
---
|
| 141 |
|
|
@@ -165,7 +167,7 @@ with torch.no_grad():
|
|
| 165 |
author = {Savioli, Nicol\`{o}},
|
| 166 |
journal = {arXiv preprint arXiv:XXXX.XXXXX},
|
| 167 |
year = {2025},
|
| 168 |
-
|
| 169 |
}
|
| 170 |
```
|
| 171 |
|
|
@@ -173,4 +175,5 @@ with torch.no_grad():
|
|
| 173 |
|
| 174 |
## License
|
| 175 |
|
| 176 |
-
MIT License. © 2025
|
|
|
|
|
|
| 25 |
[](https://github.com/odaxai/Venice-H1)
|
| 26 |
[](https://opensource.org/licenses/MIT)
|
| 27 |
|
| 28 |
+
**Nicolò Savioli, Ph.D.**
|
| 29 |
+
OdaxAI S.R.L., Abano Terme (PD), Italy
|
| 30 |
+
nicolo.savioli@odaxai.com
|
| 31 |
|
| 32 |
---
|
| 33 |
|
|
|
|
| 38 |
- **Multi-Scale Grid Signatures**: 4×4, 8×8, 16×16 spatial pooling → 675-dim descriptors
|
| 39 |
- **Failure Gate**: binary classifier predicting whether Query 0 is suboptimal
|
| 40 |
- **Gain Predictor**: IoU-regression head estimating improvement per alternative query
|
| 41 |
+
- **Backbone-decoupled**: works on cached features, no retraining of DeRIS required
|
| 42 |
|
| 43 |
**Architecture**: 3-layer pre-norm Transformer encoder, 8 heads, hidden_dim=512
|
| 44 |
**Parameters**: 11,296,258 (11.3M) — matches paper exactly
|
|
|
|
| 97 |
**Full inference pipeline** (requires DeRIS-L features):
|
| 98 |
|
| 99 |
```python
|
|
|
|
| 100 |
# git clone https://github.com/odaxai/Venice-H1
|
| 101 |
# cd Venice-H1 && pip install -r requirements.txt
|
| 102 |
|
|
|
|
| 104 |
import torch
|
| 105 |
from huggingface_hub import hf_hub_download
|
| 106 |
|
|
|
|
| 107 |
ckpt_path = hf_hub_download(repo_id="OdaxAI/venice-h1", filename="venice_h1_deris_l.pt")
|
| 108 |
ckpt = torch.load(ckpt_path, map_location="cpu", weights_only=False)
|
| 109 |
cfg = ckpt["config"]
|
| 110 |
|
|
|
|
| 111 |
model = VeniceH1Reranker(
|
| 112 |
query_feat_dim=cfg["query_feat_dim"],
|
| 113 |
hidden_dim=cfg["hidden_dim"],
|
|
|
|
| 117 |
)
|
| 118 |
model.eval()
|
| 119 |
|
| 120 |
+
# features: (B, N_queries, 936)
|
| 121 |
+
# query_embed(256) + grid_sig(675) + mask_stats(4) + det_score(1)
|
| 122 |
with torch.no_grad():
|
| 123 |
out = model(features, det_scores, mask_means)
|
| 124 |
+
p_fail = out["p_fail"] # (B,) — failure probability
|
| 125 |
selected = model.rerank(features, det_scores, mask_means) # (B,) — best query index
|
| 126 |
```
|
| 127 |
|
|
|
|
| 134 |
| `venice_h1_deris_l.pt` | **Trained checkpoint** — 11.3M params, DeRIS-L backbone |
|
| 135 |
| `venice_h1_deris_l_metrics.json` | Full evaluation metrics |
|
| 136 |
| `config.yaml` | Training hyperparameters |
|
| 137 |
+
| `venice_h1/` | Python package (model code) |
|
| 138 |
+
| `train.py` | Training script |
|
| 139 |
+
| `evaluate.py` | Evaluation script |
|
| 140 |
+
| `scripts/extract_features.py` | Feature extraction from DeRIS |
|
| 141 |
|
| 142 |
---
|
| 143 |
|
|
|
|
| 167 |
author = {Savioli, Nicol\`{o}},
|
| 168 |
journal = {arXiv preprint arXiv:XXXX.XXXXX},
|
| 169 |
year = {2025},
|
| 170 |
+
institution = {OdaxAI S.R.L., Abano Terme (PD), Italy},
|
| 171 |
}
|
| 172 |
```
|
| 173 |
|
|
|
|
| 175 |
|
| 176 |
## License
|
| 177 |
|
| 178 |
+
MIT License. © 2025 OdaxAI S.R.L., Abano Terme (PD), Italy.
|
| 179 |
+
All research conducted by Nicolò Savioli, Ph.D.
|