Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[v632] Backport yesterday's fixes #15190

Merged
merged 13 commits into from
Apr 10, 2024

Conversation

guitargeek and others added 13 commits April 10, 2024 02:46
ROOT requires C++17 anyway, so this is redundant and can be confusing.
 * remove wrong multiplication of type size in `CastPersistentToShared`

 * restructure `InitializeTensor` to only provide read-only accessors

 * avoid memory leak of persistified data when reading back from file

 * reset `fSize` member in `CastSharedToPersistent` to avoid wrong size
   info when persistifying the same model twice (otherwise, the
   multiplication with the element size in bytes would happen twice,
   resulting in overruns when copying the transient data)

Extends on root-project#15162.
* Apply rule of five
* Use correct `ClassDef` macro only when necessary
* Remove relationship to `TObject` from `RModel_Base`
* Properly implement virtual hierarchy for `RModel_GNNBase` and derived
The `bool` columns in RDF are special, because the Take action returns a
`std::vector<bool>`, which has an implementation-depended memory layout
for space optimization.

Therefore, I suggest supporting taking `bool` columns as `unsigned char`
with `Take()`, such that in `RDataFrameAsNumpy` the values can be
directly taken as bytes. This avoids superfluous copying in the code,
and keeps the special logic in the pythonization side minimal.

Closes root-project#8639.
This should be added so we can test RBDT in the CI.
  * avoid warnings with opened file that is not closed

  * don't assume the number of features is in the `_features_count`
    attribute (that one doesn't exist with xgboost 2.0)

  * support the `"reg:squarederror"` target, which is the default
    regression target in xgboost 2.0
Disabled because RBDT doesn't support the imbalanced tree structure of
XGBoost models.
XGBoost has to be imported before ROOT to avoid crashes because of clashing
std::regexp symbols that are exported by cppyy.
See also: wlav/cppyy#227
@guitargeek guitargeek self-assigned this Apr 10, 2024
@guitargeek guitargeek merged commit f0a585c into root-project:v6-32-00-patches Apr 10, 2024
6 of 14 checks passed
@guitargeek guitargeek deleted the v632_backports branch April 10, 2024 01:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants