tidalove commited on
Commit
742d21f
·
verified ·
1 Parent(s): 9cb5c7e

Model card

Browse files
Files changed (1) hide show
  1. README.md +84 -0
README.md ADDED
@@ -0,0 +1,84 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: apache-2.0
3
+ base_model: allenai/Molmo2-8B
4
+ pipeline_tag: video-text-to-text
5
+ library_name: transformers
6
+ tags:
7
+ - molmo2
8
+ - video
9
+ - object-tracking
10
+ - ecology
11
+ datasets:
12
+ - tidalove/cfc-track-instruction
13
+ - perona-lab/cfc26
14
+ ---
15
+
16
+ # Molmo2Fish
17
+
18
+ Molmo2Fish is [Molmo2-8B](https://github.com/allenai/molmo2) fine-tuned to **track fish in
19
+ sonar video, and to edit those tracks in response to natural-language feedback**.
20
+
21
+ Track correction is treated as a conversation: the model is shown a set of existing tracks —
22
+ its own earlier predictions, another tracker's output, or corrupted ground truth — is told in
23
+ words what is wrong with them, and returns a repaired set of tracks.
24
+
25
+ | | |
26
+ |---|---|
27
+ | Code | [github.com/tidalove/molmo2fish](https://github.com/tidalove/molmo2fish) |
28
+ | Data | [tidalove/cfc-track-instruction](https://huggingface.co/datasets/tidalove/cfc-track-instruction) |
29
+ | Source video | [Caltech Fish Counting](https://huggingface.co/datasets/perona-lab/cfc26) |
30
+
31
+ ## Files
32
+
33
+ | file | what it is |
34
+ |---|---|
35
+ | `*.safetensors`, `config.json`, … | HuggingFace-format weights at the repo root — what vLLM and `launch_scripts/hf_eval.py` consume |
36
+ | `Molmo2Fish-step420-raw.tar` | the raw training checkpoint (sharded model + optimizer state), for resuming fine-tuning |
37
+
38
+ ## Training
39
+
40
+ Rank 64 LoRA fine-tuning of Molmo2-8B on the full CFC mixture, step 420. Adapters on all
41
+ three components — LLM, ViT, and connector — with the base weights frozen:
42
+
43
+ ```bash
44
+ torchrun --nproc-per-node=8 launch_scripts/sft.py /path/to/Molmo2-8B cfc_correction \
45
+ --lora_llm --lora_vit --lora_connector --lora_rank 64 \
46
+ --save_folder=/path/to/save/folder
47
+ ```
48
+
49
+ The `cfc_correction` mixture combines pure tracking, targeted correction, synthetically
50
+ corrupted correction, correction of real model predictions at two quality levels
51
+ (`molmo_high` / `molmo_low`), and text-only correction. See the
52
+ [dataset card](https://huggingface.co/datasets/tidalove/cfc-track-instruction) for what each
53
+ config contains.
54
+
55
+ ## Usage
56
+
57
+ ```bash
58
+ git clone https://github.com/tidalove/molmo2fish.git && cd molmo2fish
59
+ pip install torchcodec && pip install -e .[all]
60
+
61
+ export MOLMO_DATA_DIR=./data
62
+ python -m scripts.download_datasets cfc --n-procs 8
63
+
64
+ hf download tidalove/Molmo2Fish --local-dir Molmo2Fish-HF/step420-hf
65
+ python launch_scripts/hf_eval.py Molmo2Fish-HF/step420-hf \
66
+ cfc_hf_correction_molmo_low_full_eval_2fps
67
+ ```
68
+
69
+ Correction tasks report `HOTA_before` (the tracks the model was handed), `HOTA_after` (what
70
+ it returned), and `norm_delta_HOTA` (the fraction of available headroom it closed), alongside
71
+ a per-river breakdown and the directional net-count error `nMAE`.
72
+
73
+ Evaluation runs on 6 fps clips with tracks annotated at 2 fps, sliced from the original CFC
74
+ videos — metrics are not comparable to those computed on the original CFC release.
75
+
76
+ ## Citation
77
+
78
+ ```bibtex
79
+ @article{molmo2fish,
80
+ title={Teach a Molmo2Fish: Towards interactive fish tracking with natural language guidance},
81
+ author={Kai van Brunt and Justin Kay and Sara Beery},
82
+ year={2026}
83
+ }
84
+ ```