Skip to content
Snippets Groups Projects
Commit a0c31bdc authored by Nikolai.Hartmann's avatar Nikolai.Hartmann
Browse files

adding README

parent 1d453dc1
No related branches found
No related tags found
No related merge requests found
# KerasROOTClassification
This is an attempt to simplify the training of Keras models from ROOT TTree input.
The recommended usage is to put this module in your python path and
create run scripts to define and train your model.
For example:
```python
import numpy as np
import logging
from KerasROOTClassification import ClassificationProject
logging.basicConfig()
logging.getLogger("KerasROOTClassification").setLevel(logging.INFO)
c = ClassificationProject("my_project", # this will also be the name of the project directory
signal_trees = [(filename1, treename1)],
bkg_trees = [(filename2, treename2),
(filename3, treename3),
],
optimizer="Adam",
selection="some-selection-expression",
branches = ["var1", "var2", "var3"],
weight_expr = "some-weight-expression",
identifiers = ["var4", "var5"], # variables that identify which events were used for training
step_bkg = 10, # take every 10th bkg event for training
step_sig = 2, # take every second sig event for training
)
c.train(epochs=20)
```
Previously created projects can be inspected in iypthon like
```
ipython -i -m KerasROOTClassification.browse <project-dir>
```
# Conda setup
An example for a mini conda setup that contains the nescessary packages:
```sh
conda install keras pandas matplotlib scikit-learn pydot graphviz jupyter
pip install root_numpy
```
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment