Patrick Kidger
Patrick Kidger
Thanks for the heads-up! As this uses new syntactic features I suspect we'll need to wait until 3.12 is EOL before we can use this.
Perhaps implement a `typechecker=...` of your own, that implements just the checks you want?
Aha, that's excellent! And whoops, I landed on a parallel implementation here before spotting yours: https://github.com/jax-ml/jax/issues/31284. Thank you @lockwo for finding this! I think having these two similar reproducers will...
So the issue here is actually `Accumulator.__init__`. When you have the lone `@beartype` then this is adding type-checks to the `__init__` method, and these are what are producing the `n=3`...
I think that looks reasonable to me!
Probably not. Realistically this package is currently in maintenace mode. I recommend trying [Diffrax](https://github.com/patrick-kidger/diffrax) for any new projects.
See the FAQ: https://docs.kidger.site/equinox/faq/#how-to-mark-arrays-as-non-trainable-like-pytorchs-buffers
Ah! That really isn't very good, you're right. Hmm, I'm trying to figure out if there's a way to handle this ergonomically. The best I can come up with is...
Ah, nice! Okay, I think I'm convinced. I'd be happy to take a PR implementing this, then.
Oh, this is excellent. Small and does exactly the right thing. @danielward27 would you be interested in having this be advertised in the various Equinox-ecosystem READMEs, e.g. https://github.com/patrick-kidger/equinox/?tab=readme-ov-file#see-also-other-libraries-in-the-jax-ecosystem ?