Giter VIP home page Giter VIP logo

rough-adkf-jax's Introduction

Python Template

First attempt that writing a simple version of ADKF in jax.

Next steps:

  • Better GP implementation (e.g. multiple choices for base kernel). Could look at GP Jax.
  • Flexible L_T and L_V functions
  • Incorporate automatic implicit differentiation from jaxopt
  • vectorize ADKF using vmap to do multiple tasks in a single batch (not 100% sure it is possible, but maybe it is?)

Development

!!PLEASE READ THIS SECTION BEFORE COMMITING ANY CODE TO THIS REPO!!

Installation

To create the environment:

conda env create -f environment.yml

To update:

conda env update --file environment.yml --prune

Formatting

Use pre-commit to enforce formatting, large file checks, etc.

If not already installed in your environment, run:

conda install pre-commit

To install the precommit hooks:

pre-commit install

Now a series of useful checks will be run before any commit.

Testing

pytest is used to check for code correctness. Tests can be run with the following line of code:

python -m pytest tests/

!!Before commiting code or merging to the main branch, please run the line of code above!!

rough-adkf-jax's People

Contributors

austint avatar

Watchers

 avatar

Forkers

jgbarcos

rough-adkf-jax's Issues

Improve IFT calculation

The calculation can be made more efficient in 2 ways:

  1. Using JVP/HVP to avoid explicitly calculating all Hessians/etc
  2. Incorporating the implicit diff from jaxopt

Consider migration to GPJax

This code uses a custom, minimal GP implementation. To expand the code, one possibility would be to use GPJax. This would allow us to get more GP functionality without needing to code it ourselves. However, I've never used this library so I can't judge how suitable it is. It would be worth looking into the pros/cons of using GPJax as our GP base.

Graph neural networks / FS-mol

Long term it would be nice to use this Jax code for something molecule-related, which would probably necessitate putting a GNN into this code, and possibly adding support for the FS-mol evaluation pipeline. Next step for this is probably trying a GNN encoder with this code and seeing whether anything breaks.

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.