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

```julia julia> Tracker.gradient((x)->(1.0), [0.5]) ERROR: MethodError: no method matching back!(::Float64) Closest candidates are: back!(::Any, ::Any; once) at C:\Users\user\.julia\packages\Tracker\SAr25\src\back.jl:75 back!(::Tracker.TrackedReal; once) at C:\Users\user\.julia\packages\Tracker\SAr25\src\lib\real.jl:14 back!(::TrackedArray) at C:\Users\user\.julia\packages\Tracker\SAr25\src\lib\array.jl:68 Stacktrace: [1] gradient_(::Function, ::Array{Float64,1}) at...

The signature for `repeat` [here](https://github.com/FluxML/Tracker.jl/blob/97420eace7288fc82847ff852693bb96e3d2f84a/src/lib/array.jl#L148) only overloads the version with keyword arguments, i.e. `repeat(x; inner=(n1, n2), outer=(n3, n4))` but not `repeat(x, n1, n2)`.

``` using Flux p = param(2.) f(x) = x.^2 + p.^2 [1.,1.,1.]' * f([1.,1.,1.]) # MethodError: *(::LinearAlgebra.Adjoint{Float64,Array{Float64,1}}, ::TrackedArray{…,Array{Float64,1}}) is ambiguous ```

```julia using Flux using Flux: param, Params, params, gradient A = param(randn(5,2)) y = param(randn(5)) ls(A,y) = A\y julia> ls(A,y) Tracked 2-element Array{Float64,1}: -0.3218743888384424 -3.2253094136376728 julia> gradient(()->sum(ls(A,y)), params(A,y)) ERROR: DimensionMismatch("matrix...

The following example fails: ```julia using Tracker f(x, ::Bool) = x; x = rand(3); F = x -> sum(f.(x, false)); Tracker.gradient(F, x) ``` The error is: ```julia ERROR: MethodError: no...

The following code, which works well with Zygote, produces the detailed unexpected behavior: ``` using Flux.Tracker f(x) = [x^2+1, -x^3] y, back = Tracker.forward(f, 1) back([0,1]) # (-3.0 (tracked),) back(1)...

Most wrapper arrays define `Base.parent` to get the inner array. For consistency it would be nice if `TrackedArray` did also. For most used `Tracker.data` is what you want, because you...

This works as expected ``` function test(x) y = [1.0, NaN, 1.0] sum(filter(!isnan, x.-y)) end julia> Tracker.gradient(test, [1, 2, 3]) ([1.0, 0.0, 1.0] (tracked),) ``` This does not ``` function...

Hi! The following example seems to expose a weird bug possibly related to allocation: ```julia using Tracker x = [1.0] # Works function f1(x) @assert length(x) == 1 return (x...