Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
1 change: 1 addition & 0 deletions README/ReleaseNotes/v640/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ The following people have contributed to this new version:
* Comparing C++ `nullptr` objects with `None` in Python now raises a `TypeError`, as announced in the ROOT 6.38 release notes. Use truth-value checks like `if not x` or `x is None` instead.
* The `TGLIncludes.h` and `TGLWSIncludes.h` that were deprecated in ROOT 6.38 and scheduled for removal are gone now. Please include your required headers like `<GL/gl.h>` or `<GL/glu.h>` directly.
* The GLEW headers (`GL/eglew.h`, `GL/glew.h`, `GL/glxew.h`, and `GL/wglew.h`) that were installed when building ROOT with `builtin_glew=ON` are no longer installed. This is done because ROOT is moving away from GLEW for loading OpenGL extensions.
* The TMVA `PyKeras` method is deprecated. It was broken by the API changes in Keras 3, released in November 2023 and part of TensorFlow 2.16 or newer. The `PyKeras` method will be removed in ROOT 6.42 (unless an updated implementation for Keras 3 that matches usage, performance and stability requirements will be found unexpectedly).

## Build System

Expand Down
3 changes: 3 additions & 0 deletions tmva/pymva/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -36,4 +36,7 @@ ROOT_STANDARD_LIBRARY_PACKAGE(PyMVA
TMVA
)

# To avoid deprecation warnings during build of ROOT.
target_compile_definitions(PyMVA PUBLIC PYMVA_BUILDS_ITSELF)

ROOT_ADD_TEST_SUBDIRECTORY(test)
4 changes: 4 additions & 0 deletions tmva/pymva/src/MethodPyKeras.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,10 @@ void MethodPyKeras::InitKeras() {
// initialize first Keras. This is done only here when class has
// all state variable set from options or read from XML file
// Import Keras
Log() << kWARNING
<< "The PyKeras TMVA method was deprecated in ROOT 6.40 and will be removed in ROOT 6.42, since it was broken "
"by the API changes in Keras 3, released in November 2023 and part of TensorFlow 2.16 or newer."
<< Endl;

if (fUseTFKeras)
Log() << kINFO << "Setting up tf.keras" << Endl;
Expand Down
7 changes: 7 additions & 0 deletions tmva/tmva/inc/TMVA/Types.h
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,8 @@

#include "RtypesCore.h"

#include <ROOT/RConfig.hxx> // for R__DEPRECATED

#include "TString.h"

namespace TMVA {
Expand Down Expand Up @@ -100,7 +102,12 @@ namespace TMVA {
kPyRandomForest ,
kPyAdaBoost ,
kPyGTB ,
#ifdef PYMVA_BUILDS_ITSELF
kPyKeras ,
#else
kPyKeras
R__DEPRECATED(6, 42, "the PyKeras method is dropped since it didn't support Keras 3 (TensorFlow 2.16+)"),
#endif
kPyTorch ,
kC50 ,
kRSNNS ,
Expand Down
12 changes: 1 addition & 11 deletions tutorials/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -326,7 +326,7 @@ if(NOT TARGET Gui)
endif()

if (NOT ROOT_tmva_FOUND)
list(APPEND tmva_veto machine_learning/*.C machine_learning/*.py machine_learning/envelope/*.C machine_learning/keras/*.C machine_learning/keras/*.py machine_learning/pytorch/*.py )
list(APPEND tmva_veto machine_learning/*.C machine_learning/*.py machine_learning/envelope/*.C machine_learning/pytorch/*.py )
else()
#copy input data files
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/machine_learning/data/tmva_class_example.root ${CMAKE_CURRENT_BINARY_DIR}/machine_learning/data COPYONLY)
Expand Down Expand Up @@ -650,10 +650,6 @@ set (machine_learning-TMVA_SOFIE_RDataFrame_JIT-depends tutorial-machine_learnin
set (machine_learning-TMVA_SOFIE_Keras_HiggsModel-depends tutorial-machine_learning-TMVA_SOFIE_RDataFrame_JIT)
set (machine_learning-TMVA_SOFIE_RDataFrame-depends tutorial-machine_learning-TMVA_SOFIE_Keras_HiggsModel)
set (machine_learning-TMVA_SOFIE_Inference-depends tutorial-machine_learning-TMVA_SOFIE_RDataFrame)
set (machine_learning-keras-RegressionKeras-depends tutorial-machine_learning-pytorch-RegressionPyTorch-py)
set (machine_learning-keras-ClassificationKeras-depends tutorial-machine_learning-pytorch-ClassificationPyTorch-py)
set (machine_learning-keras-ApplicationRegressionKeras-depends tutorial-machine_learning-keras-RegressionKeras-py)
set (machine_learning-keras-ApplicationClassificationKeras-depends tutorial-machine_learning-keras-ClassificationKeras-py)

#--List long-running tutorials to label them as "longtest"
set (long_running
Expand Down Expand Up @@ -846,11 +842,6 @@ if(ROOT_pyroot_FOUND)
# Disable tutorial showing connection to the HTCondor service at CERN
list(APPEND pyveto analysis/dataframe/distrdf004_dask_lxbatch.py)

if(NOT tmva-pymva)
file(GLOB tmva_veto_py RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} machine_learning/keras/*.py)
list(APPEND pyveto ${tmva_veto_py})
endif()

if (ROOT_KERAS_FOUND)
set (machine_learning-TMVA_SOFIE_RDataFrame-py-depends tutorial-machine_learning-TMVA_SOFIE_Keras_HiggsModel)
endif()
Expand Down Expand Up @@ -953,7 +944,6 @@ if(ROOT_pyroot_FOUND)
machine_learning/TMVA_SOFIE_Inference.py
machine_learning/TMVA_SOFIE_Models.py
machine_learning/TMVA_SOFIE_RDataFrame.py
machine_learning/keras/*.py
)
file(GLOB requires_torch RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
machine_learning/pytorch/*.py
Expand Down

This file was deleted.

40 changes: 0 additions & 40 deletions tutorials/machine_learning/keras/ApplicationRegressionKeras.py

This file was deleted.

76 changes: 0 additions & 76 deletions tutorials/machine_learning/keras/ClassificationKeras.py

This file was deleted.

62 changes: 0 additions & 62 deletions tutorials/machine_learning/keras/GenerateModel.py

This file was deleted.

Loading
Loading