Skip to content

feat: infer num_classes from COCO annotations - #1111

Merged
GeorgePearse merged 2 commits into
mainfrom
infer-num-classes-from-annotations
Dec 26, 2025
Merged

feat: infer num_classes from COCO annotations#1111
GeorgePearse merged 2 commits into
mainfrom
infer-num-classes-from-annotations

Conversation

@GeorgePearse

Copy link
Copy Markdown
Collaborator

Summary

  • Infer num_classes from COCO categories in ann_file/val_ann_file (or explicit overrides) instead of requiring it in model YAML presets.
  • Remove hardcoded num_classes from shipped model presets and add regression tests for override precedence, metainfo fallback, and single-stage heads.

@github-actions

Copy link
Copy Markdown
Contributor

🤖 Multi-Model Consensus Review

Model Status
Claude Sonnet 4
GPT-4o
Gemini 2.0 Flash

tests/test_simple_runner_annotation_files.py

Pass Rate: 3/3 models

visdet/runner.py

Pass Rate: 3/3 models

@github-actions

Copy link
Copy Markdown
Contributor

Skylos Scan: No dead code or security issues detected.

COCO uses 80 classes with IDs 1-90 (with gaps like 12, 26, 29-30, etc.).
The previous validation incorrectly rejected these non-contiguous IDs.

Changes:
- Remove contiguous category ID validation that broke COCO support
- Simplify class_names building to enumerate sorted IDs sequentially
- Models use internal indices 0 to N-1 mapped from sorted category IDs
- Update test to verify non-contiguous IDs are handled correctly

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

🤖 Multi-Model Consensus Review

Model Status
Claude Sonnet 4
GPT-4o
Gemini 2.0 Flash

tests/test_simple_runner_annotation_files.py

Pass Rate: 3/3 models

visdet/runner.py

Pass Rate: 3/3 models

@github-actions

Copy link
Copy Markdown
Contributor

Skylos Scan: No dead code or security issues detected.

@GeorgePearse
GeorgePearse merged commit 4f0bb5e into main Dec 26, 2025
10 checks passed
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