For the main branch: https://supernnova.readthedocs.io
The paper branch differs slightly from the master. Take a look to "changelog_paper_to_new_branch" or Build the docs for this branch.
Clone this repository (preferred)
git clone https://github.com/supernnova/supernnova.git
or install pip module (check versioning)
pip install supernnova
Links to the publication: MNRAS,ArXiv. All results quoted in these publications were produced using the branch "paper" which is frozen for reproducibility.
Please include the full citation if you use this material in your research: A Möller and T de Boissière, MNRAS, Volume 491, Issue 3, January 2020, Pages 4277–4293.
- Repository overview
- Getting Started
- Usage
- Reproduce paper
- Pipeline Description
- Running tests
- Build the docs
├── supernnova --> main module
├──data --> scripts to create the processed database
├──visualization --> data plotting scripts
├──training --> training scripts
├──validation --> validation scripts
├──utils --> utilities used throughout the module
├── tests --> unit tests to check data processing
├── sandbox --> WIP scripts
cd env
# Create conda environment
conda create --name <env> --file <conda_file_of_your_choice>
# Activate conda environment
source activate <env>
cd env
# Build docker images
make cpu # cpu image
make gpu # gpu image (requires NVIDIA Drivers + nvidia-docker)
# Launch docker container
python launch_docker.py (--use_gpu to run GPU based container)
For more detailed instructions, check the full setup instructions
When cloning this repository:
# Create data
python run.py --data --dump_dir tests/dump --raw_dir tests/raw --fits_dir tests/fits
# Train a baseline RNN
python run.py --train_rnn --dump_dir tests/dump
# Train a variational dropout RNN
python run.py --train_rnn --model variational --dump_dir tests/dump
# Train a Bayes By Backprop RNN
python run.py --train_rnn --model bayesian --dump_dir tests/dump
# Train a RandomForest
python run.py --train_rf --dump_dir tests/dump
When using pip, a full example is https://supernnova.readthedocs.io
# Python
import supernnova.conf as conf
from supernnova.data import make_dataset
# get config args
args = conf.get_args()
# create database
args.data = True # conf: making new dataset
args.dump_dir = "tests/dump" # conf: where the dataset will be saved
args.raw_dir = "tests/raw" # conf: where raw photometry files are saved
args.fits_dir = "tests/fits" # conf: where salt2fits are saved
settings = conf.get_settings(args) # conf: set settings
make_dataset.make_dataset(settings) # make dataset
Please change to branch paper
:
python run_paper.py
- Parse raw data in FITS format
- Create processed database in HDF5 format
- Train Recurrent Neural Networks (RNN) or Random Forests (RF) to classify photometric lightcurves
- Validate on test set
PYTHONPATH=$PWD:$PYTHONPATH pytest -W ignore --cov supernnova tests
cd docs && make clean && make html && cd ..
firefox docs/_build/html/index.html