Skip to content

[tmva][sofie] Remove IO support for RModel#22733

Open
guitargeek wants to merge 1 commit into
root-project:masterfrom
guitargeek:rmodel_io
Open

[tmva][sofie] Remove IO support for RModel#22733
guitargeek wants to merge 1 commit into
root-project:masterfrom
guitargeek:rmodel_io

Conversation

@guitargeek

@guitargeek guitargeek commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

RModel is an intermediate model representation for SOFIE on the way to the C++ code emit, so a priori there is no need to support IO for it on the ROOT side. The RModel is read in from serialized ONNX models anyway, so the RModel IO is redundant.

The edge case where RModel IO could be useful is to serialize neural networks that are not serializable by ONNX, but I'd argue that we should not enter the game of general model serialization unless there is a request from the user community, in which case we can re-introduce IO capability with minimal changes or consider other solutions.

This commit also removes the unit tests of code emit from ROOT files with RModel, which were 1) out-of-sync with the operator coverage of SOFIE and 2) redundant with the ONNX tests, because the ONNX parser takes the route via the RModel anyway (modulo the small custom streamer implementation).

Furthermore, IO of experimental classes should not be encouraged and supported if not absolutely needed, because ROOT is not commiting to backwards compatibility for experimental classes.

RModel is an intermediate model representation for SOFIE on the way to
the C++ code emit, so a priori there is no need to support IO for it on
the ROOT side. The RModel is read in from serialized ONNX models anyway,
so the RModel IO is redundant.

The edge case where RModel IO *could* be useful is to serialize neural
networks that are not serializable by ONNX, but I'd argue that we should
not enter the game of general model serialization unless there is a
request from the user community, in which case we can re-introduce IO
capability with minimal changes or consider other solutions.

This commit also removes the unit tests of code emit from ROOT files
with RModel, which were 1) out-of-sync with the operator coverage of
SOFIE and 2) redundant with the ONNX tests, because the ONNX parser
takes the route via the RModel anyway (modulo the small custom streamer
implementation).

Furthermore, IO of experimental classes should not be encouraged and
supported if not absolutely needed, because ROOT is not commiting to
backwards compatibility for experimental classes.
@github-actions

Copy link
Copy Markdown

Test Results

    23 files      23 suites   3d 16h 45m 2s ⏱️
 3 873 tests  3 865 ✅   0 💤 8 ❌
79 686 runs  79 569 ✅ 109 💤 8 ❌

For more details on these failures, see this check.

Results for commit a675f31.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant