Iblis Lin
|
c43bda019b
|
TrackedArray: implement mean
```julia
julia> p
Tracked 2×3 Array{Float64,2}:
1.0 3.0 5.0
2.0 4.0 6.0
```
Before
```julia
julia> @benchmark Flux.Tracker.back!(sum($p, 2) ./ size($p, 2), ones(2, 1))
BenchmarkTools.Trial:
memory estimate: 3.44 KiB
allocs estimate: 75
--------------
minimum time: 20.438 μs (0.00% GC)
median time: 21.239 μs (0.00% GC)
mean time: 22.354 μs (1.68% GC)
maximum time: 3.811 ms (98.51% GC)
--------------
samples: 10000
evals/sample: 1
```
After
```julia
julia> @benchmark Flux.Tracker.back!(mean($p, 2), ones(2, 1))
BenchmarkTools.Trial:
memory estimate: 1008 bytes
allocs estimate: 21
--------------
minimum time: 5.973 μs (0.00% GC)
median time: 6.310 μs (0.00% GC)
mean time: 6.630 μs (1.96% GC)
maximum time: 680.709 μs (97.28% GC)
--------------
samples: 10000
evals/sample: 6
```
|
2017-10-30 16:21:02 +08:00 |
|