From af91c7a2b2ff7381a79f4bdde266b0bed8f66e40 Mon Sep 17 00:00:00 2001 From: George Pearse Date: Sun, 21 Dec 2025 10:44:28 -0500 Subject: [PATCH 1/3] feat: Add HPO directory with cost warning README MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Initializes the hpo/ module for Modal-based hyperparameter optimization with prominent warnings about cloud compute costs. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- hpo/README.md | 29 +++++++++++++++++++++++++++++ hpo/__init__.py | 1 + 2 files changed, 30 insertions(+) create mode 100644 hpo/README.md create mode 100644 hpo/__init__.py diff --git a/hpo/README.md b/hpo/README.md new file mode 100644 index 00000000..73b4ca92 --- /dev/null +++ b/hpo/README.md @@ -0,0 +1,29 @@ +# HPO with Modal + +## Beware, Here Be Dragons + +Running hyperparameter optimization on Modal with ultrathink compute is **extremely expensive**. A single HPO sweep can burn through significant cloud credits in minutes. + +### Before You Run Anything + +1. **Set budget limits** in your Modal dashboard +2. **Start with small trial counts** (e.g., 3-5 trials, not 100) +3. **Use cheaper GPU tiers first** (T4) before scaling to A100s +4. **Monitor costs in real-time** during runs + +### Cost Estimation + +| GPU Type | Approx. Cost/Hour | HPO Risk Level | +|----------|-------------------|----------------| +| T4 | ~$0.60 | Low | +| A10G | ~$1.10 | Medium | +| A100-40G | ~$3.00 | High | +| A100-80G | ~$4.50 | Very High | + +A 100-trial HPO sweep with 30-minute trials on A100-80G = **~$225** + +### Recommended Workflow + +1. Debug locally with CPU/small data +2. Run 3 trials on T4 to validate setup +3. Scale up incrementally with budget caps diff --git a/hpo/__init__.py b/hpo/__init__.py new file mode 100644 index 00000000..a063f7b2 --- /dev/null +++ b/hpo/__init__.py @@ -0,0 +1 @@ +# HPO with Modal integration From bd8de31b6f72120a9ca7d543faaf71be07f3bec2 Mon Sep 17 00:00:00 2001 From: George Pearse Date: Mon, 22 Dec 2025 03:33:51 +0000 Subject: [PATCH 2/3] fix: align pipeline transforms --- visdet/datasets/builder.py | 1 + 1 file changed, 1 insertion(+) diff --git a/visdet/datasets/builder.py b/visdet/datasets/builder.py index 818ec7a6..57f38690 100644 --- a/visdet/datasets/builder.py +++ b/visdet/datasets/builder.py @@ -13,6 +13,7 @@ from visdet.engine.dist import get_dist_info from visdet.engine.registry import TRANSFORMS, Registry from visdet.engine.utils import TORCH_VERSION, digit_version +from visdet.registry import TRANSFORMS try: from torch.utils.data import collate_fn From eaf2934a0a82b88886884cb179609f532bd54148 Mon Sep 17 00:00:00 2001 From: George Pearse Date: Wed, 24 Dec 2025 01:31:48 +0000 Subject: [PATCH 3/3] fix: remove duplicate TRANSFORMS import --- visdet/datasets/builder.py | 1 - 1 file changed, 1 deletion(-) diff --git a/visdet/datasets/builder.py b/visdet/datasets/builder.py index 57f38690..818ec7a6 100644 --- a/visdet/datasets/builder.py +++ b/visdet/datasets/builder.py @@ -13,7 +13,6 @@ from visdet.engine.dist import get_dist_info from visdet.engine.registry import TRANSFORMS, Registry from visdet.engine.utils import TORCH_VERSION, digit_version -from visdet.registry import TRANSFORMS try: from torch.utils.data import collate_fn