# How to get the number of tracked parameters?

**URL:** https://discourse.julialang.org/t/how-to-get-the-number-of-tracked-parameters/27096
**Category:** Machine Learning
**Created:** [August 2, 2019, 12:23am UTC](https://discourse.julialang.org/t/how-to-get-the-number-of-tracked-parameters/27096 "2019-08-02T00:23:45Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![tue](https://avatars.discourse-cdn.com/v4/letter/t/4491bb/32.png) [@tue](https://discourse.julialang.org/u/tue)
#### Post date: [August 2, 2019, 12:23am UTC](https://discourse.julialang.org/t/how-to-get-the-number-of-tracked-parameters/27096/1 "2019-08-02T00:23:45Z")

</div>

I’m sure there is a way to get the number of tracked parameters by Flux.Tracker, but so far I still haven’t found any way of actually getting this number.

Suppose I make the following:

```julia
forward = Chain(
    Conv((5,5), 3=>16, relu),
    x -> maxpool(x, PoolDims(x,(2,2))),
    Conv((5,5), 16=>8, relu),
    x -> maxpool(x, PoolDims(x,(2,2))),
    x -> reshape(x, :, size(x, 4)),
    Dense(200, 120),
    Dense(120, 84))

```

How would I then go about finding the actual parameters this tracks?

---

<div class="post-metadata">

### Author: ![Sleort](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sleort/32/4875_2.png) [@Sleort](https://discourse.julialang.org/u/Sleort)
#### Post date: [August 2, 2019, 1:11am UTC](https://discourse.julialang.org/t/how-to-get-the-number-of-tracked-parameters/27096/2 "2019-08-02T01:11:27Z")

</div>

```julia
ps = params(forward) #An object referencing all the parameters
sum(length(p) for p ∈ ps) #The total number of parameters

```

---

<div class="post-metadata">

### Author: ![baggepinnen](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/baggepinnen/32/693_2.png) [@baggepinnen](https://discourse.julialang.org/u/baggepinnen)
#### Post date: [August 2, 2019, 3:52am UTC](https://discourse.julialang.org/t/how-to-get-the-number-of-tracked-parameters/27096/3 "2019-08-02T03:52:56Z")

</div>

Or even shorter

```julia
sum(length, ps)

```

---

<div class="post-metadata">

### Author: ![tue](https://avatars.discourse-cdn.com/v4/letter/t/4491bb/32.png) [@tue](https://discourse.julialang.org/u/tue)
#### Post date: [August 2, 2019, 4:01am UTC](https://discourse.julialang.org/t/how-to-get-the-number-of-tracked-parameters/27096/4 "2019-08-02T04:01:52Z")

</div>

Wait, why does that even work?  
And how would I ever figure out that that could work?

---

<div class="post-metadata">

### Author: ![baggepinnen](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/baggepinnen/32/693_2.png) [@baggepinnen](https://discourse.julialang.org/u/baggepinnen)
#### Post date: [August 2, 2019, 5:05am UTC](https://discourse.julialang.org/t/how-to-get-the-number-of-tracked-parameters/27096/5 "2019-08-02T05:05:35Z")

</div>

> [@tue](#):
>
> And how would I ever figure out that that could work?

It’s explained in the docstring for `sum`.
