Jet Energy Corrections using DNN regression
The jet data is made up of variable-length unordered sets. To deal with this I use Deep Sets since the method has been used successfully before in Energy Flow Networks to discriminate quark jets from gluon jets.
In addition to that I experiment with ParticleNet which is based on Dynamic Graph Convolutional Neural Network. This architecture is also suitable for variable length sets.
Example model structures from a few runs:
Build the Docker image (essentially the dependencies in requirements.txt
on top of tensorflow/tensorflow:latest-gpu
).
docker build . -t jec-dnn
Enter a container with the current directory mounted using your user privileges.
./run_docker.sh
Re-enter stopped container
docker start -i <container id>
To train once you can edit config.yaml
to your liking and then run something like:
python train.py -i data/test -o results/test-run -c config.yaml --gpus 1 3
Train using multiple configuration files:
nohup ./run_configs.sh -o results/resnet -c configs/resnet -d data/test -g 0 > resnet.txt
E.g.
python plot.py -i results/resnet -o figs/resnet