Views
No views yet
LiquidAI/LFM2.5-VL-450M for flood detection from Sentinel-2 satellite tile pairs (RGB + SWIR baseline + RGB + SWIR current). Output is a structured JSON flood-risk profile.Status: experimental. Trained on 88 paired samples (110 total, 22 held out for eval). The dataset is too small and noisy for an operational alert system; this is the infrastructure, not a deployable model. See the Limitations section.
1{
2 "flood_present": true,
3 "flood_severity": "moderate",
4 "water_coverage_pct_estimate": "30-60%",
5 "populated_area_affected": true,
6 "infrastructure_at_risk": true,
7 "river_overflow_visible": true,
8 "image_quality_limited": false
9}flood_present and the four booleans are change-relative — i.e. "is there flooding vs the baseline tile", not "is there water in this tile". image_quality_limited is the abstention signal — set true on cloudy or partial-coverage tiles.| file | size | purpose |
|---|---|---|
model.safetensors | ~860 MB | merged HF checkpoint, full fine-tune of LFM2.5-VL-450M |
config.json, tokenizer*.json, chat_template.jinja, etc. | small | standard HF transformers metadata |
lfm2-flood-Q4_0.gguf | ~245 MB | quantized backbone for llama.cpp |
mmproj-lfm2-flood-F16.gguf | ~189 MB | vision tower + projector for llama.cpp |
1# Download both files (or use `hf download`)
2hf download jpmarindiaz/lfm2-flood lfm2-flood-Q4_0.gguf --local-dir .
3hf download jpmarindiaz/lfm2-flood mmproj-lfm2-flood-F16.gguf --local-dir .
4
5# Serve OpenAI-compatible endpoint
6llama-server -m lfm2-flood-Q4_0.gguf --mmproj mmproj-lfm2-flood-F16.gguf -c 8192 --port 8765/v1/chat/completions with a JSON-schema response_format. Full client code in the humaid repo (finetune-flood/src/evaluate.ts, finetune-flood/app/server.ts).LiquidAI/LFM2.5-VL-450Mjpmarindiaz/flood-detection-pair-colombia.| field | opus oracle (n=30) | base LFM2.5-VL (n=110) | this model (n=110) |
|---|---|---|---|
| valid_json | 1.00 | 1.00 | 1.00 |
| fields_present | 1.00 | 1.00 | 1.00 |
| flood_present | 0.67 | 0.66 | 0.66 |
| flood_severity | 0.43 | 0.29 | 0.29 |
| water_coverage_pct_estimate | 0.70 | 0.37 | 0.35 |
| populated_area_affected | 0.73 | 0.51 | 0.51 |
| infrastructure_at_risk | 0.73 | 0.54 | 0.54 |
| river_overflow_visible | 0.67 | 0.60 | 0.60 |
| image_quality_limited | 0.83 | 0.10 | 0.90 |
| overall | 0.68 | 0.44 | 0.55 |
| avg latency (s) | 3.87 | 0.53 | 0.53 |
overall is the macro-average across the 7 fields. valid_json and fields_present are 1.0 because we use grammar-constrained JSON output via response_format: {type: "json_schema"}.image_quality_limited (0.10 → 0.90). Other fields essentially didn't move with 88 train samples × 3 epochs.finetune-flood/PLAYBOOK.md — end-to-end command sequence (fetch → label → build → upload → train → pull → package → serve → eval)finetune-flood/REPORT.md — wrap-up findings (what worked, what didn't, the case for switching to Sentinel-1 SAR before resuming)finetune-flood/docs/ — overview, pipeline, data collection, labeling, evaluation, findingsfinetune-flood/scripts/convert_mmproj_lfm2vl.py — patch around the upstream convert_hf_to_gguf.py issue with lm_head.weight in full-FT merged checkpointsfinetune-flood/app/ — small Hono app for testing the model interactively