Skip to content

Move ROOT ML data loader to tree#21137

Open
vepadulano wants to merge 1 commit intoroot-project:masterfrom
vepadulano:dataloader-mv
Open

Move ROOT ML data loader to tree#21137
vepadulano wants to merge 1 commit intoroot-project:masterfrom
vepadulano:dataloader-mv

Conversation

@vepadulano
Copy link
Member

@vepadulano vepadulano commented Feb 3, 2026

The native ROOT data loading for ML training functionality is related to IO and
processing of structured data. It only depends on the ROOTDataFrame component.
As such, the following decisions have been made for this part of the codebase:

  • C++ code

    • It is meant for internal use only
    • It is hosted in tree/ml in the repository
    • It is written in the ROOT[::Experimental]::Internal::ML namespace
    • The headers will appear in the include/ROOT/ML directory in the install tree
  • Python code

    • It contains the public API
    • Public functions appear under ROOT[.Experimental].ML module

All public references to the name 'batch generator' are removed to avoid mixing
responsibilities: RBatchGenerator is just the name of an internal class, which
is never exposed to the user directly.

Update tests and tutorials accordingly.

Apply formatting changes to C++ and Python files.

Add code owners to new directory.

@vepadulano vepadulano requested a review from jblomer February 3, 2026 17:03
@vepadulano vepadulano self-assigned this Feb 3, 2026
@vepadulano vepadulano force-pushed the dataloader-mv branch 2 times, most recently from 19bbbef to d445f27 Compare February 3, 2026 22:04
@github-actions
Copy link

github-actions bot commented Feb 3, 2026

Test Results

    22 files  +    22      22 suites  +22   3d 15h 59m 40s ⏱️ + 3d 15h 59m 40s
 3 779 tests + 3 779   3 779 ✅ + 3 779  0 💤 ±0  0 ❌ ±0 
76 054 runs  +76 054  76 054 ✅ +76 054  0 💤 ±0  0 ❌ ±0 

Results for commit 3b88d38. ± Comparison against base commit 7e8e273.

♻️ This comment has been updated with latest results.

@vepadulano vepadulano closed this Feb 4, 2026
@vepadulano vepadulano reopened this Feb 4, 2026
@vepadulano vepadulano force-pushed the dataloader-mv branch 7 times, most recently from 2ffb49b to efe07b4 Compare February 5, 2026 00:13
Copy link
Member

@dpiparo dpiparo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for these changes!

The native ROOT data loading for ML training functionality is related to IO and
processing of structured data. It only depends on the ROOTDataFrame component.
As such, the following decisions have been made for this part of the codebase:

- C++ code
  - It is meant for internal use only
  - It is hosted in tree/ml in the repository
  - It is written in the ROOT[::Experimental]::Internal::ML namespace
  - The headers will appear in the include/ROOT/ML directory in the install tree

- Python code
  - It contains the public API
  - Public functions appear under ROOT[.Experimental].ML module

All public references to the name 'batch generator' are removed to avoid mixing
responsibilities: RBatchGenerator is just the name of an internal class, which
is never exposed to the user directly.

Update tests and tutorials accordingly.

Apply formatting changes to C++ and Python files.

Add code owners to new directory.
@vepadulano vepadulano changed the title Move ROOT ML data loader to io Move ROOT ML data loader to tree Feb 6, 2026
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.

4 participants