Python implementation of the training engine and framework to build, train and test VAE models for Water Cherenkov Detectors.
2. Installation
3. Usage
4. Credits
5. License
.
+-- config # Configuration files
+-- engine_config # Configuration files for the training engine
+-- test_resnet.ini
+-- test_kazunet.ini
+-- test_kvaenet.ini
+-- preprocessing_config # Configuration files for data pre-processing
+-- merge_config.ini
+-- io_utils # Tools to handle the user inputs, dataset and models
+-- __init__.py
+-- arghandler.py
+-- data_handling.py
+-- ioconfig.py
+-- modelhandler.py
+-- models # PyTorch implementation of various CNN-VAE models
+-- abhinet.py
+-- convonlynet.py
+-- densenet.py
+-- resnet.py
+-- kazunet.py
+-- kvaenet.py
+-- resnet.py
+-- vaenet.py
+-- notebooks # Jupyter Notebooks for offline analysis
+-- plot_utils # Tools for visualizing model performance and dataset features
+-- mpmt_visual.py
+-- notebook_utils.py
+-- plot_utils.py
+-- postprocessing # Tools for post-processing the outputs from the models
+-- preprocessing # Tools for pre-processing the dataset
+-- merge_h5.py
+-- merge_numpy_arrays_hdf5.py
+-- preprocessing_gamma.py
+-- root_utils # Tools for interacting with the ROOT files from the WCSim simulations
+-- display_list.py
+-- event_disp_and_dump.py
+-- event_disp_and_dump_arg_utils.py
+-- event_display.py
+-- event_dump.py
+-- event_dump_cedar_start.py
+-- event_dump_one.py
+-- pos_utils.py
+-- training_utils # Tools for training, validating and testing the models
+-- doublepriorityqueue.py
+-- engine.py
+-- engine_vae.py
+-- README.md # README documentation for the repository
+-- USER_GUIDE.md # User guide on how to use the library
+-- watchmal.py # Main script to run the engine for the classifier
+-- watchmal_vae.py # Main script to run the engine for the VAE
The following Python standard, machine learning and deep learning libraries are required for the functionality of the framework :
To download the repository use :
git clone https://github.com/WatChMaL/VAE.git
Sample configuration files for the training engine and framework are provided in config/engine_config.
Examples :
# Train and validate a classifier using the sample configuration file
python3 watchmal.py -l test_resnet
# Train and validate a variational autoencoder using the sample configuration file
python3 watchmal_vae.py -l test_kvaenet
More in-depth usage options and configurations are described in USER_GUIDE.md.