Conversation
33612ee to
de5ac11
Compare
sylvesterkaczmarek
left a comment
There was a problem hiding this comment.
MLP.__init__ now passes mode="batch" to eqx.nn.BatchNorm, but pyproject.toml still supports equinox>=0.11.11. In Equinox 0.11.11 BatchNorm.__init__ has no mode argument, so a lowest-resolution install fails as soon as this benchmark constructs the model. Could we either raise the lower bound to the version that introduced this API or avoid the newer argument, and add a lowest-dependency benchmark smoke test?
Good spot! Thanks |
…, and fix doc error
f23b47f to
15a48da
Compare
There was a problem hiding this comment.
Performance review
Commit d6460a3 - Merge 45e5a4b into 9a804d3
Statistically significant changes
basic_rpc:- OLD: compilation 0.7062 units ± 0.01754 units; execution 0.02056 units ± 0.0001399 units
- NEW: compilation 0.6986 units ± 0.03884 units; execution 0.02276 units ± 0.0002806 units
- Significant increase in execution time (10.70%, p=7.695e-12)
Normalisation values for new data:
Compilation: 1 unit = 646.35 ms
Execution: 1 unit = 697.58 ms
Last updated: Wed, 16 Sep 2026 11:46:16 GMT
sylvesterkaczmarek
left a comment
There was a problem hiding this comment.
Re-reviewed current 15a48daf. The compatibility issue I raised is resolved: the Equinox lower bound is now >=0.13.0, matching the BatchNorm(..., mode="batch") API used by the benchmark, and the lowest/highest dependency test matrix is green across supported Python versions. No remaining blocker from me.
tm91236
left a comment
There was a problem hiding this comment.
This looks good, but it does introduce some breaking changes without any deprecation warnings. I think we should keep the old network.py module, but mark the ScoreNetwork as deprecated for removal in v1.2.0.
sylvesterkaczmarek
left a comment
There was a problem hiding this comment.
Re-reviewed current 45e5a4b5. Restoring coreax/networks.py for the requested deprecation path introduces a new compatibility problem: that module imports flax, but this PR still removes flax from the package dependencies. A normal installation can therefore no longer import the deprecated module that is being kept specifically to preserve compatibility. The current pre-commit run confirms this with unresolved imports for flax, flax.linen, and flax.training in coreax/networks.py. Please retain the flax dependency for the deprecation window (or otherwise make the compatibility module self-contained) and add a simple normal-install import regression for coreax.networks/ScoreNetwork.
PR Type
Description
Replace all usage of Flax with Equinox. Fixes #582.
How Has This Been Tested?
Related tests have been changed to reflect updated code, however what they test has remained the same. All tests pass.
Does this PR introduce a breaking change?
No.
Checklist before requesting a review