Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
e55874d
feat(datasets): add weighted multi-source batch sampler
Maryyyyyyyam142 Aug 5, 2026
86108cb
Potential fix for pull request finding
Maryyyyyyyam142 Aug 6, 2026
2f350fb
fix(datasets): warn on the most-recycled contributing source
Maryyyyyyyam142 Aug 6, 2026
d1002c0
Merge branch 'develop' into feat/1286-weighted_multi_source_batch_sam…
Maryyyyyyyam142 Aug 6, 2026
c1e5ab5
Merge branch 'develop' into feat/1286-weighted_multi_source_batch_sam…
Maryyyyyyyam142 Aug 9, 2026
474d4ca
test(datasets): cover the remaining multi-source sampler branches
Maryyyyyyyam142 Aug 9, 2026
57fdcfc
Merge branch 'develop' into feat/1286-weighted_multi_source_batch_sam…
Maryyyyyyyam142 Aug 10, 2026
b1dbfa3
Merge branch 'develop' into feat/1286-weighted_multi_source_batch_sam…
Borda Aug 12, 2026
d058dce
docs(changelog): move sampler entry to Unreleased Added
Maryyyyyyyam142 Aug 12, 2026
d042283
fix(pre-commit): 🎨 auto format pre-commit hooks
pre-commit-ci[bot] Aug 12, 2026
20e25a7
fix(datasets): fix batch-size overflow, add ratio/DDP-layout warnings
Borda Aug 12, 2026
194d1eb
feat(training): add build_train_sampler() hook for custom batch samplers
Borda Aug 12, 2026
d4229e8
test(training): cover build_train_sampler() custom-sampler branch
Borda Aug 12, 2026
f68e160
fix(datasets): harden multi-source batch sampler
Borda Aug 13, 2026
24a149f
docs(datasets): fix set_epoch wiring, batch_size="auto" guard, CHANGE…
Borda Aug 12, 2026
9caecf8
test(datasets): cover min-count invariant, DDP starved source, bool e…
Borda Aug 13, 2026
afbf6a0
test(datasets): cover DDP-layout auto-detect and the sampler-ownershi…
Borda Aug 13, 2026
84dc864
Merge branch 'develop' into feat/1286-weighted_multi_source_batch_sam…
Borda Aug 13, 2026
67b8e2f
Merge branch 'develop' into feat/1286-weighted_multi_source_batch_sam…
Maryyyyyyyam142 Aug 17, 2026
c481699
fix(pre-commit): 🎨 auto format pre-commit hooks
pre-commit-ci[bot] Aug 17, 2026
4bffc85
docs(cookbooks): mix Universe datasets with WeightedMultiSourceBatchS…
Maryyyyyyyam142 Aug 17, 2026
7351c84
fix(pre-commit): 🎨 auto format pre-commit hooks
pre-commit-ci[bot] Aug 17, 2026
1b54b21
docs(training): replace commented doctest with a code example
Maryyyyyyyam142 Aug 17, 2026
efc50a9
Merge branch 'develop' into feat/1286-weighted_multi_source_batch_sam…
Maryyyyyyyam142 Aug 18, 2026
aaf90e4
Merge branch 'develop' into feat/1286-weighted_multi_source_batch_sam…
Maryyyyyyyam142 Aug 19, 2026
ebec8c3
Merge branch 'develop' into feat/1286-weighted_multi_source_batch_sam…
Maryyyyyyyam142 Aug 25, 2026
8878897
Merge branch 'develop' into feat/1286-weighted_multi_source_batch_sam…
Maryyyyyyyam142 Aug 26, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),

- Restored peak GPU memory (`max_mem` in MB) in the training progress bar, dropped during the PyTorch Lightning migration (PR #794) along with `rfdetr.engine`. Only covers `trainer.fit()` (training and its periodic in-training validation) — PTL's own progress-bar classes never call `get_metrics()` outside `trainer.state.fn == "fit"`, so a standalone `RFDETR.evaluate()` progress bar shows no metrics at all, not just `max_mem`, same as before this change. ([#974](https://github.com/roboflow/rf-detr/issues/974))

- `WeightedMultiSourceBatchSampler` (`rfdetr.datasets.multi_source`) fixes the per-source composition of every training batch when training on a `ConcatDataset` of several datasets, so a small hand-labelled set is not drowned out by a large public one. Sources are recycled with reshuffling when they run out mid-epoch, epoch length can be driven by the largest or smallest source, and batches are sharded across DDP ranks. Opt-in: no existing training path changes. ([#1287](https://github.com/roboflow/rf-detr/pull/1287))

### Documentation

- Cookbook for mixing Roboflow Universe datasets with `WeightedMultiSourceBatchSampler` (`docs/cookbooks/multi-source-batch-sampler.ipynb`).

### Changed

- `RFDETR.predict()` now converts PIL and uint8 NumPy inputs from HWC byte storage to contiguous CHW floating-point storage with one dtype/layout allocation and in-place scaling. The default source-image path reuses its already-materialized PIL array, while non-uint8 NumPy inputs retain torchvision's conversion path. The `[0, 1]` range-scan skip for those same two input types is unaffected: the fused conversion divides `uint8` storage by 255 and carries the same guarantee `to_tensor` did.
Expand Down
1 change: 1 addition & 0 deletions docs/cookbooks/NOTES.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ For newly added or updated notebooks, write markdown cells in plain, notebook-po

| File | Card title | Version |
| ----------------------------------- | ----------------------------------------------- | ------- |
| `multi-source-batch-sampler.ipynb` | Mix Universe datasets with a fixed batch ratio | v1.10.0 |
| `custom-augmentations.ipynb` | Custom Augmentations and Live Training Progress | v1.5.0 |
| `custom-optimizer-scheduler.ipynb` | Custom Optimizer and LR Scheduler | v1.9.0 |
| `export-coreml.ipynb` | Export to Native CoreML & Run Inference | v1.9.0 |
Expand Down
6 changes: 6 additions & 0 deletions docs/cookbooks/cards.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,10 @@
cards:
- href: multi-source-batch-sampler/
name: "Mix Universe datasets with a fixed batch ratio"
labels: [TRAINING, PYTORCH LIGHTNING]
version: v1.10.0
author: Maryyyyyyyam142
description: "Train RF-DETR on several Roboflow Universe datasets at once, with WeightedMultiSourceBatchSampler holding a fixed per-source ratio in every batch."
- href: train-coco2017/
name: "Train RF-DETR Nano on COCO2017"
labels: [TRAINING, COCO2017, PYTORCH LIGHTNING]
Expand Down
Loading
Loading