Docs proposal: review object-detection augmentation changes in pull requests with CML
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 48/100
- Issue-Typ
- Dokumentation
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- github-actions, python, pytorch
- Bereich
- ci-cd, documentation, machine-learning
Rechercherichtung
Beginne mit der Überprüfung des bestehenden tabellarischen Getting-Started-Beispiels in cml.dev und bestätige, ob dies in die Dokumentation oder in ein eigenständiges Beispiel-Repository gehört. Verfolge anschließend review_augmentation.py, build_report.py und den GitHub Actions-Workflow, einschließlich der AlbumentationsX-Richtlinie, der generierten Artefakte und des CML-Veröffentlichungsschritts. Als abgeschlossen gilt die Aufgabe, wenn ein fokussiertes Beispiel überprüfbare Bilder, Checks, Trace-Details, JSON zur Richtlinie und einen Pull-Request-Bericht erzeugt, ohne Modelltraining oder neue CML-Laufzeitabhängigkeiten.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Feature request
Would you be open to a focused guide or small example repository for ML teams that need to review an object-detection augmentation-policy change in a pull request before merging it or spending compute on model training?
User problem
A change to stochastic preprocessing can alter an image while silently mishandling its bounding boxes or class labels. A unit test can check shapes and coordinate ranges, but it does not let a reviewer see whether the transformed training samples still make sense. Discovering the problem from model metrics is late and makes the cause harder to isolate.
CML already turns generated images, tables, and Markdown into a pull-request comment or check. AlbumentationsX can apply one label-aware policy to an image, its boxes, and their class IDs, use a stable sample-level invocation_seed, and expose both the serialized policy and the transforms realized for a sample.
Together, they could give a reviewer a compact augmentation report directly in the pull request:
- the fixed input scene and its annotations;
- transformed samples for a small set of stable seeds;
- pass/fail annotation invariants;
- the transforms and sampled parameters realized for each preview; and
- the resolved augmentation policy used by CI.
The reviewer could inspect the data effect of the code change before approving it. The example would demonstrate a CML review workflow rather than a generic augmentation snippet.
Proposed workflow
The example would use a generated detection scene, avoiding dataset downloads and data-license dependencies. A small Python script would:
- construct an AlbumentationsX policy for an image, Pascal VOC bounding boxes, and
class_labels; - apply it to the same fixture with stable
invocation_seedvalues such as17and29; - assert that returned boxes and labels remain paired and that coordinates are valid for the output image;
- render the original and transformed annotations as contact-sheet images;
- write a compact applied-transform table from AX
run_with_trace()output; and - save
A.to_dict(policy)as JSON for policy provenance.
The GitHub Actions job would then assemble a Markdown report and publish it with the existing CML interface:
- uses: actions/checkout@v4
- uses: iterative/setup-cml@v1
- uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Build augmentation review
run: |
pip install -r requirements.txt
python review_augmentation.py --output artifacts
- name: Publish CML report
env:
REPO_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
python build_report.py --artifacts artifacts --output report.md
cml comment create report.md
The report could contain a small table such as:
| Input | AX policy, seed 17 | AX policy, seed 29 |
|---|---|---|
| Original boxes and labels | Transformed boxes and labels | Transformed boxes and labels |
Below the images, it would show the annotation checks and collapsible policy/trace details. No model training, external service, or DVC dependency would be required.
Why this fits CML
- CML owns the CI and pull-request review surface: it publishes the generated evidence where the code change is being discussed.
- AlbumentationsX owns synchronized image/box/label transformation, repeatable sample realizations, execution details, and policy serialization.
- The user gets an early, reviewable answer to “does this augmentation change still produce valid labeled training samples?”
The existing tabular getting-started example would remain unchanged. This could be a standalone advanced guide in cml.dev or a separate focused example repository, whichever is easier for the maintainers to own.
Dependency boundary
- The public
albumentationsxpackage is AGPL-3.0-only and imports asalbumentations. - Importing it requires PyTorch. PyTorch is intentionally not selected by the package metadata because users need to choose the appropriate CPU, CUDA, or MPS build.
- These dependencies would remain scoped to the example and would not become CML runtime dependencies.
I searched the current iterative/cml and iterative/cml.dev code, Issues, and pull requests and found no existing Albumentations or AlbumentationsX integration or overlapping augmentation-review proposal.
If this use case fits the CML documentation, I would be happy to implement and run the example after the maintainers confirm the preferred placement.
- Vorherrschende Sprache
- TypeScript
- Sterne
- 13
- Forks
- 22
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
Startet den Dev-Container des Projekts im Browser, mit Ihrem eigenen GitHub-Konto.
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus iterative/cml.dev
-
Link Checker ReportOffenlink-check-all
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 40/100
-
Link Checker ReportOffenlink-check-all
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 45/100
-
crossref DVCLiveEvtl. wieder frei @casperdcl hat das vor 1341 Tagen übernommen, und es ist kein Pull Request offen. OffenC: guide C: ref documentation p1-important
-
docs: driver token timeoutEvtl. wieder frei @dacbd hat das vor 1355 Tagen übernommen, und es ist kein Pull Request offen. OffenC: guide C: ref documentation
-
guide: separate env varsEvtl. wieder frei @casperdcl hat das vor 1383 Tagen übernommen, und es ist kein Pull Request offen. OffenC: guide documentation enhancement external-request p1-important
Alle Issues in iterative/cml.dev
Ähnliche Issues
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 83/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
ranxianglei/billion-context#3583 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug:new
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
callstackincubator/simlock#673 ·
Maintainer antworten meist innerhalb von 1 Tag
-
documentation v3
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 73/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 73/100
anomalyco/opencode#56380 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag