Skip to content

SpeciesNet 4.0.1a → 4.0.2a - #538

Merged
Chouffe merged 15 commits into
mainfrom
arthur/ml-speciesnet-update-version
May 15, 2026
Merged

Chouffe merged 15 commits into
mainfrom
arthur/ml-speciesnet-update-version

Conversation

@Chouffe

@Chouffe Chouffe commented May 15, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Replace SpeciesNet 4.0.1a → 4.0.2a in the model zoo (src/shared/mlmodels.js)
  • Regenerate commonNames/sources/speciesnet.json from the new labels.20251208.txt via a new scripts/extract-speciesnet-labels.py
  • Rebuild commonNames/dictionary.json
  • Bump example version strings in comments, jsdoc, docs, and the Python server docstring
  • Bump Python test fixtures: download_model.py filename + Makefile SPECIESNET_MODEL_PATH
  • Add CHANGELOG entry
  • New tooling: scripts/build-speciesnet-tarball.py (produces the HF artifact from Kaggle's public download endpoint + bundled MegaDetector)

Same classifier weights as 4.0.1a (SHA256 confirmed identical) — upstream only refreshed geofence rules and taxonomy (e.g. cetartiodactyla → artiodactyla, coati family → procyonidae family, emys marmorata → actinemys marmorata). Existing 4.0.1a observations keep their historical stamps and continue to display correctly.

Tarball already on HF: huggingface.co/earthtoolsmaker/speciesnet/resolve/main/4.0.2a.tar.gz
(SHA256 4d2841760f018fe82a18211894cb99cae77983fa914db656b98b19cb35da5040, 468 MB)

Spec: docs/specs/2026-05-15-speciesnet-4.0.2a-update-design.md
Plan: docs/plans/2026-05-15-speciesnet-4.0.2a-update-plan.md

Test plan

  • npm test — 1339 passing
  • Prettier + ESLint — clean (0 errors; 37 pre-existing warnings)
  • cd python-environments/common && make lint && make format-check — clean
  • Fresh app download via Models tab fetches 4.0.2a, lands in ~/.config/biowatch/biowatch-data/model-zoo/speciesnet/4.0.2a/ with correct file set
  • Run ML inference on a new study (multi_folders, FRA geofence) — DB shows model_runs.modelVersion='4.0.2a', 252 observations tagged classifiedBy='speciesnet 4.0.2a', 244 jobs with topic='speciesnet:4.0.2a', common names resolve (european rabbit, red fox, etc.)
  • Old 4.0.1a study still renders observations + common names + bboxes correctly

Chouffe added 13 commits May 15, 2026 17:00
Captures the upstream diff (weights identical, taxonomy/geofence
refreshed), tarball layout, packaging script outline, code-change
sites, verification plan, and release-note callouts.
Pulls the public Kaggle archive, bundles MegaDetector v5.0 (with SHA
verification), rewrites info.json's detector field to point at the
bundled file, and tar-gzips into dist/<version>.tar.gz. Stdlib-only,
idempotent across reruns, and works for future SpeciesNet bumps.
Drop two empty-f-string F541 violations, apply ruff format, and add a
"Packaging Model Tarballs" section to docs/http-servers.md walking
through how the script produces the HF artifact.
Eleven tasks covering the labels extraction script, snapshot/dict
regeneration, model-zoo bump, Python test-fixture bumps, doc updates,
CHANGELOG entry, and a verification + final-review checklist.
@netlify

netlify Bot commented May 15, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for lucent-yeot-0cb408 canceled.

Name Link
🔨 Latest commit 2d9d670
🔍 Latest deploy log https://app.netlify.com/projects/lucent-yeot-0cb408/deploys/6a0746334f34b10008a88f66

Chouffe added 2 commits May 15, 2026 17:56
- database-schema.md, data-formats.md: bump example model_version
- python-environments/common/README.md: bump --model example
- http-servers.md: fix stale pythonEnvironment 0.1.3 → 0.1.4 in SpeciesNet example
- extract-speciesnet-labels.py: update docstring usage example to 4.0.2a
- bbox.js: refresh example version strings (4.0.2a, 4.0.1a)
- CHANGELOG: add note advising users to finish in-progress imports before upgrade
@Chouffe
Chouffe merged commit 37c460f into main May 15, 2026
15 checks passed
@Chouffe
Chouffe deleted the arthur/ml-speciesnet-update-version branch May 15, 2026 16:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant