patrickkidger.bsky.social
I do SciML + open source!
π§ͺ ML+proteins @ http://Cradle.bio
π Neural ODEs: http://arxiv.org/abs/2202.02435
π€ JAX ecosystem: http://github.com/patrick-kidger
π§βπ» Prev. Google, Oxford
π ZΓΌrich, Switzerland
65 posts
4,482 followers
654 following
Regular Contributor
Active Commenter
comment in response to
post
...like `pdb`, but with a snappier interface, fewer commands overall, with a focus on a clean REPL/TUI experience to navigate the stack.
Now used by me... and adopted by a host of my coworkers at Cradle! 3/3
comment in response to
post
This library brought to you originally by my need to debug re-raised exceptions in some of the libraries I'm using. Then in my usual fashion I kept adding features, and now we have a whole library π
If like me your debugging experience has been a lot of `pdb`, then this library is for you... 2/3
comment in response to
post
Me please! :) I work on bioML. Google scholar mostly reflecting past work in broader sciML:
scholar.google.co.uk/citations?us...
comment in response to
post
Agreed! I have no idea how that works. Is it a thing I submit to or a thing they pick up?
comment in response to
post
Hehe! I originally intended to include the rest of bioML and was then like 'this post is becoming way too long' π
comment in response to
post
A huge thanks to Owl, Johanna Haffner, and Jonathan Ziegler for their feedback on the article! I think we ended up with something great. (If a little intimidating.)
Also as timing would have it, also check out @ncfrey.bsky.social's post from yesterday!
ncfrey.substack.com/p/getting-st...
2/2
comment in response to
post
And merged! π
comment in response to
post
Shall we add this to the Eqx ecosystem page? I really like it.
docs.kidger.site/equinox/awes...
comment in response to
post
I also went back and took at look at one of the very early READMEs. I think we've stayed true to these goals!
(Also included: Equinox started out as a 'tech demo'. I had to procrastinate from real work somehow, after all. π)
comment in response to
post
...the results are now back, and it turns out that *all* of them would have the won the competition!
+ now with bonus analysis on expression, immunogenicity/humanness! π
[2/2]
comment in response to
post
As for this, I'm pretty sure this exists in the main JAX repo! There's a cuDNN implementation here: docs.jax.dev/en/latest/_a...
And there's a bunch of goodies hiding out here:
github.com/jax-ml/jax/t...
(Not super sure what the public API for those is meant to be though lol.)
comment in response to
post
You may be surprised to know that... I have no idea :p We actually use PyTorch at Cradle! This implementation was something I wrote for the sake of an interviewee who was more familiar with JAX. :)
FWIW it's possible to train protein models pretty efficiently: www.biorxiv.org/content/10.1...
comment in response to
post
If they can fix its issues then yes.
But realistically that's a big lift. :)
comment in response to
post
... whilst my professional work has largely focused on things like protein language models! So I'm very happy to doing a better job bridging these two halves of my work. π
I hope this will be a useful starting point for the JAX users of bioML :)
[2/2]
comment in response to
post
Nope, I think it's down :)
I suspect it's just a transitory issue with my hosting provider -- this happened once before and it was resolved in a few hours. (Let's wait and see.)
comment in response to
post
Basically, we want quantitative bio PhDs who care about translational/applied research: bridging the details of real-world protein design projects and the capabilities of ML.
DMs open for any questions and link below! π₯βοΈ
jobs.ashbyhq.com/cradlebio/45...
[2/2]
comment in response to
post
Would recommend github.com/patrick-kidg... as an updated+better version!
(Even for pytorch, despite the name.)
comment in response to
post
This is awesome!
And it uses Equinox as well ππ―
comment in response to
post
Time to write a JAX implementation? :)
comment in response to
post
Yes please! :)
comment in response to
post
Can I be added please? :)
comment in response to
post
Me please! :)
comment in response to
post
Interesting!
I might have to try this out :)
comment in response to
post
I think yes if hatch is used to manage the environments. But I think as a practical matter uv will be taking that crown soon. If they add a way to do something similar then I think that would work :)
comment in response to
post
I have, very occasionally, been known to get mildly disgruntled.
If that's not enough justification for inclusion then I promise to try harder to be grumpy in the future. ππΏ
comment in response to
post
Would love to be added to the AI pack please :)
comment in response to
post
I'm afraid not -- because even the notion of a pytree is something that is baked into JAX itself (`jax.tree_util.register_tree_blahblahetc`)
But if you have your own JAX-independent pytree-like library then maybe you can use Equinox as inspiration to build something similar :)
comment in response to
post
If you're referring to lockfiles, then I deliberately leave this out: when installed then folks often use the latest versions of deps / transitive deps, and this helps to stay on top of when breaking changes occur.
2/2
comment in response to
post
So just running `uv sync` will actually work already. (Modulo the fact that Python 3.13 just came out and not all of the dependencies support it yet.)
1/2
comment in response to
post
All of that said -- this is a pretty nitty detail. I can definitely see 'just use a src directory' as being a simpler best practice when recommending templates to others. Maybe I should do that just for this sake, actually. It's useful to have existing projects as exemplars like this.
2/2
comment in response to
post
Right! :) So to guard against exactly this (and any other similar problems, like non-py files not getting packaged), my CD setup actually builds an {s,b}dist, installs from that, switches to an empty temporary directory, and then runs the tests.
So we're actually covered from that problem!
1/2
comment in response to
post
file. Do you know of any other reason to prefer the `src` approach?
These days I do use uv :) But that's about handling environments+installation, which is not the same as libraries. (These often get conflated, as Poetry handled both.) What did you have in mind?
2/2