Tracker.jl
Tracker.jl copied to clipboard
Flux's ex AD
I first noticed this problem with Flux 0.8.2, but it may have existed in earlier versions. ``` using Flux tracked_array = Flux.param(Flux.glorot_uniform(10,3)); # tracked array of reals Flux.softmax(tracked_array) # all...
``` vcat(param(1),param(2:3)) ``` This currently returns an array of tracked scalars; would be good to catch it in the tracking code.
Currently, a SharedArray becomes non-shared when passed to the function param. ```julia julia> W = SharedArray(rand(4, 3)) b = SharedArray(rand(4)) l = Dense(param(W), param(b), relu) l.W.data 4×3 Array{Float64,2}: 0.97669 0.26793...
Similar to `vcat`, `hcat` and `cat`.
e.g. ``` param.(rand(2,2))*param(rand(2,2)) ``` Currently this returns a tracked array of tracked reals, which will cause further issues down the line. It'd be good to catch this when `*` is...