Code Monkey home page Code Monkey logo

gprv's Introduction

Scalable Gaussian Processes @ GPRV

This repository contains the materials for my March 28, 2022 "Scalable Gaussian Processes" tutorial at the GPRV workshop in Oxford, UK.

The file ajac5176t3_mrt.txt is the machine-readable version of Table 3 from Zhao et al. (2022), and it should not be used without the appropriate citation.

The notebooks can be executed locally following the instructions below, or they can be run on Google Colab, if you can't or don't want to set up the local environment.

Local environment

If you want to run these notebooks locally, you'll need to set up a Python environment with the usual scientific stack (numpy, scipy, and matplotlib) installed, as well as a Jupyter client. Besides these standard dependencies, you'll also need jax, jaxopt, and tinygp installed. I released a new version of tinygp the day before this workshop, and I think you'll need at least that version installed.

For a CPU-only build, the best way to get these non-standard dependencies installed is with pip:

python -m pip instal -U "jax[cpu]" jaxopt tinygp

If you want to install a GPU-accelerated version of jax, follow the instructions in the jax README.

For the real-data.ipynb notebook, you'll also need to have astropy installed, and that can also be installed using conda or pip.

Once you have your environment set up, you can clone this repository

git clone https://github.com/dfm/gprv.git

and open it in your favorite Jupyter environment.

The notebooks

At the workshop I will live code the first two notebooks, but this repository includes cleaned up versions of where we will (hopefully!) end up, as well as some extra explanations and suggested extensions.

  1. A good place to start is the intro-to-jax.ipynb notebook which includes a very brief introduction to the jax library which is the main dependency of tinygp. You'll mostly use jax a lot like numpy, but there are some fundamental programming concepts that will be useful to know. You can open this notebook in Google Colab.

  2. The next notebook is intro-to-tinygp.ipynb, where I go through a simple example use case for tinygp applied to simulated data. This includes some suggested exercises and extensions near the end. You can open this notebook in Google Colab.

  3. The last notebook shows an example of a tinygp model fit to real data. Disclaimer: this particular notebook is by no means meant as a suggestion for how to actually use tinygp for RV data analysis, that's a discussion for the rest of the workshop! You can open this notebook in Google Colab.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.