Quantum VAEs for Calorimeter shower generation
- ...
Directory | Content |
---|---|
configs/ |
Configuration files |
data/ |
Data manager and loader |
engine/ |
Training loops. |
models/ |
Core module, includes definitions of all models. |
notebooks/ |
Standalone experimentation notebooks. |
paper/ |
Notebook to generate figures reported in CaloDVAE |
sandbox/ |
Collection of test scripts and standalone models. |
scripts/ |
Steering scripts includes one to run - run.py |
utils/ |
Helper functionalities for core modules (plotting etc.) |
Dataset | Location |
---|---|
MNIST | retrieved through torchvision |
Calorimeter Data (GEANT4 showers, ⟂ to center) |
git clone git@github.com:QaloSim/CaloQVAE.git
cd CaloQVAE
Initial package setup:
python3 -m venv venv_divae
source source.me
python3 -m pip install -r requirements.txt
After the initial setup, simply navigate to the package directory and run
source source.me
Sources the virtual environment and appends to PYTHONPATH
.
We're currently using Hydra for config management. The top-level file is config.yaml
. For more info on Hydra, click here
python scripts/run.py
It is possible to run on computing clusters with the Slrum submission engine. Hydra has a built-in plugin interfacing the library submitit
. It is important to use these dependencies:
hydra-core==1.1.0
hydra-submitit-launcher==1.1.5
submitit @ https://github.com/facebookincubator/submitit/archive/refs/tags/1.3.0.tar.gz
as the default PyPI version does not work on Cedar. A first script is added in the scripts/
directory and a great starting point. To utitlise the batch submission, simply add the --multirun
flag to your command line and specify which parameter to loop over like so:
python scripts/runSlurm.py --multirun config.myopt=1,2
When running on the TRIUMF ml machine, DISPLAY
variable must be unset (it can be set by forwarding X11 when creating the ssh session), as it creates an unwanted dependency with a QT library.
[1] Jason Rolfe, Discrete Variational Autoencoders, http://arxiv.org/abs/1609.02200
[2] M. Paganini (@mickypaganini), L. de Oliveira (@lukedeo), B. Nachman (@bnachman), CaloGAN: Simulating 3D High Energy Particle Showers in Multi-Layer Electromagnetic Calorimeters with Generative Adversarial Networks [arXiv:1705.02355
].