This repository contains code to train machine learning models to classify planetary transits from TESS light curves.
The code in this repository was used in the Neurips 2022 workshop paper Discovering Long-period Exoplanets using Deep Learning with Citizen Science Labels, Shreshth A. Malik, Nora L. Eisner, Chris J. Lintott, Yarin Gal. (Arxiv).
.fits files were downloaded from the TESS archive. We use the ETE-6 dataset to generate synthetic data.
We primarily use Planet Hunters TESS aggregated volunteer scores as targets to train the network.
This repo uses preprocessed PDCSAP_FLUX for the input light curves from .fits files. See src/utils/preprocess_lcs.py
for usage. We use a binning factor of 7. These raw fluxes are then median normalized and centred on zero, and a series of augmentations are used for training purposes (see data.py
and transforms.py
).
We use a 1-D CNN we call PlaNet, inspired by the Ramjet architecture. See src/models
for implementations.
Install the requirements, and login to wandb (for logging): pip install -r requirements.txt; wandb login <YOUR_API_KEY>
.
All experimental conditions and hyperparameters are set via command line arguments (for example, you can vary the proportion of synthetic data used to train the network). Use python src/main.py
to run an experiment.
If you found our work useful, please consider citing:
@article{malik2022discovering,
title={Discovering Long-period Exoplanets using Deep Learning with Citizen Science Labels},
author={Malik, Shreshth A and Eisner, Nora L and Lintott, Chris J and Gal, Yarin},
journal={arXiv preprint arXiv:2211.06903},
year={2022}
}
This is research code shared without support or guarantee of quality. Please let us know, however, if there is anything wrong or that could be improved and we will try to solve it.