Table of Contents
The Pacific Ocean Neutrino Experiment (P-ONE) is an initiative towards constructing a multi-cubic-kilometer neutrino telescope in the Pacific Ocean to expand our observable window of the Universe to the highest energies.
Nemesis is a GNN based classification tool for event classification at P-One. The repository has a set of different models to generate and classify cascades, tracks and starting tracks for different detector topologies and energy configuration.
Usage of this package requires previous knowledge in the use of PyTorch Geometric and PyTorch Lightning, as well as some insights into GNNs.
To be able to run the code you need to have a working installation of PyTorch, PyTorch Geometric and PyTorch Lightning. After that you can clone the repository and install the requirements.
Before you start to work with this project, Docker has to be installed and all dependencies be provided as described in the following sections.
Check the official Docker documentation for installation instructions.
Create a working directory and move all necessary file into that folder. Then run:
sudo docker build -f dockerfile -t image-name .
The following command binds ports 8888 and 8008 to the host machine, makes GPUs available and binds the current working directory
to /app
inside the container:
sudo docker run -p 8888:8888 -p 8008:8008 --gpus all --rm -ti --ipc=host -v "$(pwd)":/app container-name
This command opens a shell inside the first docker container that docker ps
lists:
sudo docker exec -it `sudo docker ps | awk 'FNR==2 {print $1}'` /bin/bash
This command runs a Jupyter Notebook server inside the container:
PYTHONPATH=${PYTHONPATH}:/opt/PROPOSAL/build/src/pyPROPOSAL:/usr/lib/nuSQuIDS/resources/python/bindings/ jupyter lab --port=8888 --no-browser --ip=0.0.0.0 --allow-root --notebook-dir=/app
This command runs a Tensorboard server inside the container:
tensorboard --port 8008 --logdir=/tmp/tensorboard --bind_all
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the GNU General Public License v3.0. See LICENSE.txt
for more information.
Arturo Llorente - @ArturoLlorente - [email protected]
Project Link: https://github.com/ArturoLlorente/nemesis