Repository navigation
[Draft] Show how each model performs, and let people start the jobs behind it - #1423
mohamedelabbas1996 wants to merge 3 commits into
Conversation
The platform can now score a model against a fixed set of verified occurrences and retrain a classifier head, but none of it was visible: the numbers existed only in the API, and the jobs could only be started by posting to it by hand. The species table gains the verified crops ready to train on, and a species page lists every model that has been scored on it, with the accuracy for that species and the set it was scored on. A taxa list names the model that handles its species best, ranked on the per-species average, and an algorithm's panel shows what it has scored and the size of the training set waiting for it. Every one of these reads "n/a" until something has actually been evaluated, so the columns are honest on a project where nothing has run yet. The jobs form asks which kind of job to create and then asks only for what that kind needs — a pipeline for a processing run, a head to retrain, a head and an evaluation set to score. Training, embedding and evaluation jobs also show their type in the jobs table and can be filtered by it, which they could not before. The API fields these read land separately; until then the new columns read "n/a" rather than breaking. See RolnickLab#1407. Co-Authored-By: Claude <noreply@anthropic.com>
👷 Deploy request for antenna-ssec pending review.Visit the deploys page to approve it
|
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
✅ Deploy Preview for antenna-preview ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
Occurrence sets moved out of the ml namespace to sit beside the other named collections of domain objects, so the picker follows. Co-Authored-By: Claude <noreply@anthropic.com>
Comparing two heads on the same set showed 1.00 over 15 occurrences against 0.89 over 9. Read plainly the second head looks worse, but six of those occurrences are species it cannot predict at all, so it was asked fewer questions rather than getting more wrong. The count was already in the response and not shown. The scored column now carries what was left out beneath it, so a comparison that is not like for like says so. Co-Authored-By: Claude <noreply@anthropic.com>
|
Claude says: Hi! A heads-up rather than a request. Michael asked for one Create Job dialog that every job type can appear in, and a draft of it is up in #1447. It adds It is written to fit alongside #1407 and this PR rather than replace anything in them:
Nothing needs to change in this PR for now. Happy to line things up whenever it suits you. |
|
Claude says: A correction to my earlier note. After review, #1447 no longer uses |
|
Moved to the lab repo and rebased onto the evaluation API it reads: #1506. This branch lived on my fork, targeted Closing this one. |

Summary
Antenna can now score a model against a fixed set of verified occurrences, and retrain a classifier head from labels people confirmed. Neither was visible: the numbers existed only in the API, and the jobs behind them could only be started by posting to it by hand. This is the interface for both.
Split out of #1407 so the screens can be reviewed on their own. The API fields they read land in that PR; until it merges the new columns read
n/arather than breaking.Screenshots
List of Changes
training_crops_ready, requested only when the column is visiblealgorithm_performanceon the taxon, each row linking to the modelbest_model, with the per-species average it was ranked onevaluationstable in the details dialogDetailed Description
n/awhen the API returns null — on a project where nothing has been evaluated, and on any deployment where Retrain a classifier head from verified identifications, and score what it produces #1407 has not landed. The crop count is deliberately null rather than0when it was not requested; a zero would read as a species with nothing to train on.?with_training_crop_counts=trueis sent only when that column is visible, following the pattern Add example occurrence to the taxa list to expedite the verification of species presence #1365 established for the Example column. The count grows with the project rather than the page, and most viewers never show it.How to Test the Changes
Against a project with verified occurrences and at least one scored algorithm:
Verified in a browser against a local stack: a job created from this form ran and scored 1.000 over 15 occurrences.
yarn type-check,yarn lint,yarn format --checkandyarn test(52 tests) all pass.Known gaps
🤖 Generated with Claude Code