# Zygote: treating a model output as a constant

**URL:** <https://discourse.julialang.org/t/zygote-treating-a-model-output-as-a-constant/34172>\
**Category:** Machine Learning\
**Tags:** zygote\
**Created:** [February 4, 2020, 4:12pm UTC](https://discourse.julialang.org/t/zygote-treating-a-model-output-as-a-constant/34172 "2020-02-04T16:12:50Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![HenriDeh](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/henrideh/32/8316_2.png) [@HenriDeh](https://discourse.julialang.org/u/HenriDeh)\
**Post date:** [February 4, 2020, 4:12pm UTC](https://discourse.julialang.org/t/zygote-treating-a-model-output-as-a-constant/34172/1 "2020-02-04T16:12:50Z")

</div>

Say I have a model `m = Dense(1,1)`, a function `f(x) = x`, and a `loss(a,b,c) = m(a) - b - f(c)`.

I don’t want zygote to differentiate on `f(c)` when calling `gradient(() -> loss(a,b,c), m) `. How do I tell it that ? It is a problem because the function f is generating random numbers and I get weird errors like `Abstract type AbstractFloat does not have a definite size.`.

---

<div class="post-metadata">

**Author:** ![HenriDeh](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/henrideh/32/8316_2.png) [@HenriDeh](https://discourse.julialang.org/u/HenriDeh)\
**Post date:** [February 4, 2020, 4:43pm UTC](https://discourse.julialang.org/t/zygote-treating-a-model-output-as-a-constant/34172/2 "2020-02-04T16:43:48Z")

</div>

This may also be related to the fact that I’m working with CuArrays

---

<div class="post-metadata">

**Author:** ![simeonschaub](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/simeonschaub/32/216566_2.png) [@simeonschaub](https://discourse.julialang.org/u/simeonschaub)\
**Post date:** [February 4, 2020, 5:18pm UTC](https://discourse.julialang.org/t/zygote-treating-a-model-output-as-a-constant/34172/3 "2020-02-04T17:18:46Z")

</div>

Are you looking for `Zygote.dropgrad`? There was some discussion about a similar problem in [this thread](https://discourse.julialang.org/t/stop-gradients-from-propagating-through-some-branches-of-computation-tree-in-flux/33392).
