ChainRulesTestUtils.jl
ChainRulesTestUtils.jl copied to clipboard
Utilities for testing custom AD primitives.
The versions of everything in the docs is getting a bit old. Also i want to see if docs are working. I have also regenerated the doctest outputs. I want...
This is a follow up to https://github.com/JuliaDiff/ChainRulesCore.jl/issues/105#issuecomment-1655958008 Right now, using https://github.com/JuliaDiff/ChainRulesCore.jl/pull/626 if you want to test something that MutableTangent that does work e.g.: `test_frule(setfield!, MDemo(3.5)⊢MutableTangent{MDemo}(x=2.0), :x, 5.0)` But if you...
occured to me during https://github.com/JuliaDiff/ChainRules.jl/pull/717 that there are like 3 states we really care about: 1. Doesn't infer at all, so infers to `Any` or some `UnionAll` or abstract type...
This closes https://github.com/JuliaDiff/ChainRulesTestUtils.jl/issues/269 It was always intended that out settings more or less matched isapprox up to some level of scaling so I am happy to call this a bug...
Bumps [actions/cache](https://github.com/actions/cache) from 2 to 3. Release notes Sourced from actions/cache's releases. v3.0.0 This change adds a minimum runner version(node12 -> node16), which can break users using an out-of-date/fork of...
Bumps [actions/checkout](https://github.com/actions/checkout) from 1 to 3. Release notes Sourced from actions/checkout's releases. v3.0.0 Updated to the node16 runtime by default This requires a minimum Actions Runner version of v2.285.0 to...
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 1 to 3. Release notes Sourced from codecov/codecov-action's releases. v3.0.0 Breaking Changes #689 Bump to node16 and small fixes Features #688 Incorporate gcov arguments for the Codecov...
The default test tolerances here seem wrong: https://github.com/JuliaDiff/ChainRulesTestUtils.jl/blob/6925da14c12e3d743c8d3620db8a8bee1433d5c3/src/testers.jl#L17 1. The default `rtol = 1e-9` assumes double precision. Better to follow `isapprox` here and use `sqrt(eps(float(T)))`? 2. By setting a nonzero...
`to_vec` is great for working on complex structures but it has the limit of only reconstructing the primal representation. For example, related to #270 , if I had a `to_vec(x::AbstractVector{T,Missing})...
I have been trying to write a custom reverse rule to a simple regularization function on a Flux Dense layer, and evaluate it with ChainRulesTestUtils. The function _gradient_ from Zygote...