Tracker.jl icon indicating copy to clipboard operation
Tracker.jl copied to clipboard

Flux's ex AD

Results 36 Tracker.jl issues
Sort by recently updated
recently updated
newest added

Used the wrong branch earlier, same commits though. cc @ChrisRackauckas @AStupidBear

Here I present the correct (but poor) implementation of BP for SVD, this implementation changes the original `svd` interfaces a bit, hoping someone can help improve it. ```julia using LinearAlgebra...

```julia julia> using Distances, Flux julia> pairwise(SqEuclidean(), param([1 2; 3 4]), dims = 2) ERROR: MethodError: no method matching Float64(::Tracker.TrackedReal{Float64}) Closest candidates are: Float64(::Real, ::RoundingMode) where T

Product of two Triangular matrix: ```julia using Tracker using LinearAlgebra X = randn(3, 3) function g1(x) y = UpperTriangular(x) sum(y * y) end Tracker.gradient(g1, X) ``` throw: ``` MethodError: Cannot...

It seems that the implementation of `∇broadcast` assumes that the arguments are not non-numeric tracked types. For example this fails: ```julia julia> using Tracker julia> f(x, y) = x.s *...

want a `TrackedComplex` type so that I can efficiently differentiate through `FFTW.fft` and also opens up the possibility of teaching `Tracker` complex analysis, contour integrals etc.

According to https://fluxml.ai/Flux.jl/stable/performance/#Don't-use-more-precision-than-you-need.-1 we should use as small types as possible. Implementing ``` param(xs::AbstractArray) = TrackedArray(float.(xs)) ``` seems somewhat counterintuitive as it tries to convert to Float64. Thus, if I...

Moving from https://github.com/FluxML/Flux.jl/pull/480

See https://github.com/FluxML/Tracker.jl/blob/master/src/lib/array.jl#L299 `AbstractArray` should be `AbstractVecOrMat` like other lines? Or it is intended?

Ther following use of `mapslices` tries to call a non-existing Array constructor: ```julia using Flux, CuArrays julia> Z = gpu(Conv((3,3), 1=>1))(gpu(randn(5,5,1,1))) Tracked 3×3×1×1 CuArray{Float32,4}: [:, :, 1, 1] = 1.85926...