Skip to content
View patrick-kidger's full-sized avatar

Sponsors

@Artur-Galstyan
@dlwh

Block or report patrick-kidger

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
patrick-kidger/README.md

I've written a lot of numerical JAX and PyTorch, now used in diverse applications across science (simulation of black holes, soil moisture, ...) and ML (large language models, large protein models, ...). I would particularly highlight:

  1. Equinox: elegant neural networks. GitHub Repo stars

  2. Diffrax: numerical ODE/SDE solvers. GitHub Repo stars

  3. jaxtyping: shape/dtype annotations for arrays. (Also supports PyTorch etc, despite the name!) GitHub Repo stars

A full list of other libraries

JAX

  1. Lineax: linear/least-squares solvers. GitHub Repo stars

  2. Optimistix: root finding, least squares, etc. GitHub Repo stars

  3. sympy2jax: optimise your symbolic expressions via gradient descent! GitHub Repo stars

  4. Quax: multiple dispatch in JAX! GitHub Repo stars

  5. ESM2quinox: ESM2 implemented in JAX. GitHub Repo stars new!

Python

  1. Wadler-Lindig: A better Python pretty-printer, based upon the theory of Wadler and Lindig. GitHub Repo stars

Publishing

  1. MkPosters: Write academic posters in Markdown, style them with CSS, save them to PDF. No wrestling with LaTeX. GitHub Repo stars

  2. typst_pyimage: A Typst extension adding support for generating figures using inline Python code. GitHub Repo stars

Me:

I am currently a tech lead on ML for protein engineering (lead optimization) at Cradle Bio, and founded much of the open-source scientific JAX ecosystem. I also hold an honorary lectureship at Imperial College London. I previously worked at Google X, and received my PhD from Oxford on neural differential equations.

My current interests include pretty much anything related to scientific machine learning and scientific computing! I've now worked across diverse parts of the field, from modern deep learning (protein language models) to classical methods (numerics), to everything in between (neural differential equations).

I am also known for having strong opinions on the importance of good software development! :)

Other links:

Pinned Loading

  1. equinox equinox Public

    Elegant easy-to-use neural networks + scientific computing in JAX. https://docs.kidger.site/equinox/

    Python 2.2k 153

  2. google-research/torchsde google-research/torchsde Public

    Differentiable SDE solvers with GPU support and efficient sensitivity analysis.

    Python 1.6k 205

  3. diffrax diffrax Public

    Numerical differential equation solvers in JAX. Autodifferentiable and GPU-capable. https://docs.kidger.site/diffrax/

    Python 1.5k 143

  4. NeuralCDE NeuralCDE Public

    Code for "Neural Controlled Differential Equations for Irregular Time Series" (Neurips 2020 Spotlight)

    Python 635 70

  5. jaxtyping jaxtyping Public

    Type annotations and runtime checking for shape and dtype of JAX/NumPy/PyTorch/etc. arrays. https://docs.kidger.site/jaxtyping/

    Python 1.3k 67

  6. optimistix optimistix Public

    Nonlinear optimisation (root-finding, least squares, ...) in JAX+Equinox. https://docs.kidger.site/optimistix/

    Python 375 16