Exoplanet ML
Machine learning models and utilities for exoplanet science.
Code Author
Chris Shallue: @cshallue
Walkthrough
You can jump straight to the AstroNet walkthrough.
Otherwise, click through to the desired directory as outlined below.
Directories
- A neural network for identifying exoplanets in light curves. Contains code for:
- Downloading and preprocessing Kepler light curves.
- Building different types of neural network classification models.
- Training and evaluating a new model.
- Using a trained model to generate new predictions.
- A generative model for light curves.
- Utilities for operating on light curves. These include:
- Reading Kepler data from
.fits
files. - Applying a median filter to smooth and normalize a light curve.
- Phase folding, splitting, removing periodic events, etc.
- Reading Kepler data from
- light_curve/fast_ops/ contains optimized C++ light curve operations.
- Shared TensorFlow utilities.
- Utilities derived from third party code.
Setup
Required Packages
- TensorFlow (instructions)
- Pandas (instructions)
- NumPy (instructions)
- SciPy (instructions)
- AstroPy (instructions)
- PyDl (instructions)
- Bazel (instructions)
- Abseil Python Common Libraries (instructions)
Run Unit Tests
Verify that all dependencies are satisfied by running the unit tests:
cd exoplanet-ml # Bazel must run from a directory with a WORKSPACE file
bazel test astronet/... astrowavenet/... light_curve/... tf_util/... third_party/...
Citation
If you find this code useful, please cite our paper:
Shallue, C. J., & Vanderburg, A. (2018). Identifying Exoplanets with Deep Learning: A Five-planet Resonant Chain around Kepler-80 and an Eighth Planet around Kepler-90. The Astronomical Journal, 155(2), 94.
Full text available at The Astronomical Journal.
Disclaimer
This is not an official Google product.