Michael Abbott
Michael Abbott
It would be nice to be quicker. But the tests aren't just about mathematical correctness, some are also checking that missing branches with `nothing` are handled correctly, etc. If https://github.com/JuliaDiff/Diffractor.jl/issues/66...
It seems to make dense zeros: ```julia julia> using FiniteDifferences julia> grad(central_fdm(5, 1), x -> sum(x.a), (a=[1,2f0], b=([3,4f0], 5.0))) ((a = Float32[0.9999863, 1.0000029], b = (Float32[0.0, 0.0], 0.0)),) ``` I...
The linked commit was merged and reverted, https://github.com/FluxML/Tracker.jl/commits/master . I have no memory of what it did or why, though!
Ok, https://github.com/FluxML/Tracker.jl/pull/128/commits/f885295f0c7dceaf6d96b5e8d9847d458c84d057 adds something... As usual it's a nest of ambiguities, this will make `Matrix(Diagonal(param([1,2,3])))` work again, but various combinations of `Array{T}(...)` have their own methods and I didn't try...
Since this issue is still open, the current failures on nightly involve `kron(a::TrackedArray{…,Vector{Float64}}, b::TrackedArray{…,Vector{Float64}})`. This is the same problem as https://github.com/JuliaDiff/ChainRules.jl/issues/684. On Julia
That’s right, I don’t recally exactly why but I couldn’t make the gradients work in general for Tracker. (For `mapcols` I explicitly handle the pullback functions myself, rather than getting...
However you can do this: ``` julia> reshape(mapcols(norm, reshape(Tracker.param(randn(2,2,2,3)), 4,6)), 2,3) Tracked 2×3 Array{Float64,2}: 1.2732 1.34758 2.0512 1.42643 1.55332 1.70304 ``` I guess anything with `dims=1:M` can be handled like...
Yes, they have quite different paths. `mapcols` handles everything in-house, as this was the only way I could make things work for Tracker. (As does `MapCols`, in a different way.)...
> It also works with Forward and ReverseDiff. Is that normal? With these, this package is not involved in derivatives at all. I suspect that this means ReverseDiff is tracking...
Yes, for scalars I called `surevec(x) = [x]` before reducing, which made an `Array` always. I tried two things on master to improve things. The first made a small CuArray...