Support tiling#6955
Open
A-Artemis wants to merge 17 commits into
Open
Conversation
…ms (skipping yolo/ultralytics)
⏱️ Backend import time —
|
| Accelerator | Cumulative (s) | Self (s) |
|---|---|---|
cpu |
4.628 | 0.003 |
xpu |
4.476 | 0.003 |
cuda |
4.726 | 0.003 |
📊 Test coverage report
|
🐳 Docker image sizes
|
kprokofi
reviewed
Jul 1, 2026
|
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
kprokofi
reviewed
Jul 1, 2026
…ing_extensions into aurelien/support-tiling
…h detection and instance segmentation.
Contributor
There was a problem hiding this comment.
Pull request overview
Enables end-to-end tiling support across the GetiTune library and the application backend, covering dataset wrapping, GPU augmentation handling for tile batches, and tile-aware OpenVINO inference/merging, plus adding missing tiling recipes.
Changes:
- Add tile-batch compatible GPU augmentation path (image-only transforms) and corresponding unit tests.
- Add tile-aware OpenVINO detection/instance-segmentation inference (forward over tiles + merge) and dtype regression coverage.
- Add/extend tiling recipes and update backend config conversion/training pipeline to enable tiling while skipping incompatible augmentations.
Reviewed changes
Copilot reviewed 49 out of 49 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| library/tests/unit/data/augmentation/test_pipeline.py | Adds regression tests for GPU augmentation on tile batches. |
| library/tests/unit/backend/openvino/models/test_detection.py | Adds tiling-focused tests and a float64→float32 score dtype regression test. |
| library/src/getitune/recipe/instance_segmentation/rfdetr_seg_xlarge_tile.yaml | New tiling recipe for RFDETR instance segmentation (xlarge). |
| library/src/getitune/recipe/instance_segmentation/rfdetr_seg_small_tile.yaml | New tiling recipe for RFDETR instance segmentation (small). |
| library/src/getitune/recipe/instance_segmentation/rfdetr_seg_nano_tile.yaml | New tiling recipe for RFDETR instance segmentation (nano). |
| library/src/getitune/recipe/instance_segmentation/rfdetr_seg_medium_tile.yaml | New tiling recipe for RFDETR instance segmentation (medium). |
| library/src/getitune/recipe/instance_segmentation/rfdetr_seg_large_tile.yaml | New tiling recipe for RFDETR instance segmentation (large). |
| library/src/getitune/recipe/instance_segmentation/rfdetr_seg_2xlarge_tile.yaml | New tiling recipe for RFDETR instance segmentation (2xlarge). |
| library/src/getitune/recipe/detection/rfdetr_small_tile.yaml | New tiling recipe for RFDETR detection (small). |
| library/src/getitune/recipe/detection/rfdetr_nano_tile.yaml | New tiling recipe for RFDETR detection (nano). |
| library/src/getitune/recipe/detection/rfdetr_medium_tile.yaml | New tiling recipe for RFDETR detection (medium). |
| library/src/getitune/recipe/detection/rfdetr_large_tile.yaml | New tiling recipe for RFDETR detection (large). |
| library/src/getitune/recipe/detection/deimv2_s_tile.yaml | New tiling recipe for DEIMv2 (small). |
| library/src/getitune/recipe/detection/deimv2_m_tile.yaml | New tiling recipe for DEIMv2 (medium). |
| library/src/getitune/recipe/detection/deimv2_l_tile.yaml | New tiling recipe for DEIMv2 (large). |
| library/src/getitune/recipe/detection/deim_dfine_x_tile.yaml | New tiling recipe for DEIM D-FINE (x). |
| library/src/getitune/recipe/detection/deim_dfine_m_tile.yaml | New tiling recipe for DEIM D-FINE (m). |
| library/src/getitune/recipe/detection/deim_dfine_l_tile.yaml | New tiling recipe for DEIM D-FINE (l). |
| library/src/getitune/data/augmentation/pipeline.py | Adds apply_image_only() to support tile-batch normalization/intensity transforms without annotations. |
| library/src/getitune/config/data.py | Adds a custom TileConfig.__repr__ for clearer logging/debugging. |
| library/src/getitune/backend/openvino/models/instance_segmentation.py | Adds tile-aware forward/merge path and fixes score dtype for NMS compatibility. |
| library/src/getitune/backend/openvino/models/detection.py | Adds tile-aware forward/merge path and fixes score dtype for NMS compatibility. |
| library/src/getitune/backend/openvino/models/base.py | Routes TileBatch inputs to forward_tiles() in test_step / predict_step; adds default tile_config. |
| library/src/getitune/backend/openvino/engine.py | Propagates datamodule.tile_config into OV model during test(). |
| library/src/getitune/backend/lightning/callbacks/gpu_augmentation.py | Applies GPU augmentations safely to tile batches (per-tile, image-only). |
| library/benchmark_manifest.yaml | Adds tiling variants to detection/instance-seg benchmarks and reorganizes model lists. |
| application/backend/tests/unit/execution/training/test_getitune_trainer.py | Updates mocks to provide working __len__ for dataset size logging. |
| application/backend/tests/unit/execution/common/test_geti_config_converter.py | Adds tests for DEIM↔tiling incompatibility and ensures mosaic/mixup are skipped under tiling. |
| application/backend/tests/unit/api/schemas/test_training_configuration_view.py | Updates augmentation descriptions to note tiling incompatibilities. |
| application/backend/tests/integration/services/test_training_configuration_service.py | Adjusts tiling capability test coverage to use a known tiling-unsupported architecture. |
| application/backend/app/supported_models/manifests/instance_segmentation/rfdetr_xl.yaml | Removes explicit capabilities.tiling: false to allow tiling per defaults. |
| application/backend/app/supported_models/manifests/instance_segmentation/rfdetr_s.yaml | Same as above for RFDETR-S instance segmentation. |
| application/backend/app/supported_models/manifests/instance_segmentation/rfdetr_n.yaml | Same as above for RFDETR-N instance segmentation. |
| application/backend/app/supported_models/manifests/instance_segmentation/rfdetr_m.yaml | Same as above for RFDETR-M instance segmentation. |
| application/backend/app/supported_models/manifests/instance_segmentation/rfdetr_l.yaml | Same as above for RFDETR-L instance segmentation. |
| application/backend/app/supported_models/manifests/instance_segmentation/rfdetr_2xl.yaml | Same as above for RFDETR-2XL instance segmentation. |
| application/backend/app/supported_models/manifests/detection/rfdetr_s.yaml | Removes explicit capabilities.tiling: false to allow tiling per defaults. |
| application/backend/app/supported_models/manifests/detection/rfdetr_n.yaml | Same as above for RFDETR-N detection. |
| application/backend/app/supported_models/manifests/detection/rfdetr_m.yaml | Same as above for RFDETR-M detection. |
| application/backend/app/supported_models/manifests/detection/rfdetr_l.yaml | Same as above for RFDETR-L detection. |
| application/backend/app/supported_models/manifests/detection/dinov3_detr_s.yaml | Removes explicit capabilities.tiling: false to allow tiling per defaults. |
| application/backend/app/supported_models/manifests/detection/dinov3_detr_m.yaml | Same as above for DINOv3-DETR-M. |
| application/backend/app/supported_models/manifests/detection/dinov3_detr_l.yaml | Same as above for DINOv3-DETR-L. |
| application/backend/app/supported_models/manifests/detection/dfine_x.yaml | Removes explicit capabilities.tiling: false to allow tiling per defaults. |
| application/backend/app/supported_models/manifests/detection/dfine_m.yaml | Same as above for D-FINE-M. |
| application/backend/app/supported_models/manifests/detection/dfine_l.yaml | Same as above for D-FINE-L. |
| application/backend/app/models/training_configuration/augmentation.py | Updates DEIM/mosaic/mixup descriptions to document tiling incompatibilities. |
| application/backend/app/execution/training/getitune_trainer.py | Wraps datasets with tiling factory when enabled and propagates resolved tile_config into datamodule/model. |
| application/backend/app/execution/common/geti_config_converter.py | Skips tiling-incompatible augmentations and forces DEIM off when tiling is enabled. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Added
TilingDatasetFactoryfor wrapping the dataset subsets if tiling is enabled.Created tiling config yamls for algorithms which were missing it.
Checklist