15import tensorflow
as tf
18file_name = str(ROOT.gROOT.GetTutorialDir()) +
"/machine_learning/data/Higgs_data.root"
21approx_batches_in_memory = 50
27dl = ROOT.Experimental.ML.RDataLoader(
30 approx_batches_in_memory,
36ds_train, ds_valid = dl.train_test_split(test_size=0.3)
41ds_train_repeated = ds_train.as_tensorflow().repeat(num_of_epochs)
42ds_valid_repeated = ds_valid.as_tensorflow().repeat(num_of_epochs)
45train_batches_per_epoch = ds_train.num_batches
46validation_batches_per_epoch = ds_valid.num_batches
49input_columns = ds_train.train_columns
50num_features = len(input_columns)
57model = tf.keras.Sequential(
59 tf.keras.layers.Input(shape=(num_features,)),
60 tf.keras.layers.Dense(300, activation=tf.nn.tanh),
61 tf.keras.layers.Dense(300, activation=tf.nn.tanh),
62 tf.keras.layers.Dense(300, activation=tf.nn.tanh),
63 tf.keras.layers.Dense(1, activation=tf.nn.sigmoid),
67loss_fn = tf.keras.losses.BinaryCrossentropy()
68model.compile(optimizer=
"adam", loss=loss_fn, metrics=[
"accuracy"])
72 steps_per_epoch=train_batches_per_epoch,
73 validation_data=ds_valid_repeated,
74 validation_steps=validation_batches_per_epoch,
ROOT's RDataFrame offers a modern, high-level interface for analysis of data stored in TTree ,...