# How to get gradients from GradientTape

**URL:** <https://discuss.ai.google.dev/t/how-to-get-gradients-from-gradienttape/32178>\
**Category:** General Discussion\
**Tags:** models\
**Created:** [August 8, 2023, 10:43am UTC](https://discuss.ai.google.dev/t/how-to-get-gradients-from-gradienttape/32178 "2023-08-08T10:43:40Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Shashank\_Priyadarshi](https://d1dlmcr85iqnpo.cloudfront.net/user_avatar/discuss.ai.google.dev/shashank_priyadarshi/32/7125_2.png) [@Shashank\_Priyadarshi](https://discuss.ai.google.dev/u/Shashank_Priyadarshi)\
**Post date:** [August 8, 2023, 10:43am UTC](https://discuss.ai.google.dev/t/how-to-get-gradients-from-gradienttape/32178/1 "2023-08-08T10:43:40Z")

</div>

I wanted to get the gradients from the gradient tape so in tf version 1 I used something like -

```auto
grads = model.optimizer.get_gradients(model.total_loss, model.trainable_weights)
symb_inputs = (model._feed_inputs + model._feed_targets + model._feed_sample_weights)

```

Now for tf v2 I want to get gradients so I used -

```auto
grads = tf.GradientTape(model.total_loss, model.trainable_weights)
symb_inputs = (model.feed_inputs + model.feed_targets + model.feed_sample_weights)

```

It is not working, I got errors like feed\_inputs or feed\_targets are not there.

---

<div class="post-metadata">

**Author:** ![Kiran\_Sai\_Ramineni](https://d1dlmcr85iqnpo.cloudfront.net/user_avatar/discuss.ai.google.dev/kiran_sai_ramineni/32/8859_2.png) [@Kiran\_Sai\_Ramineni](https://discuss.ai.google.dev/u/Kiran_Sai_Ramineni)\
**Post date:** [August 8, 2023, 1:38pm UTC](https://discuss.ai.google.dev/t/how-to-get-gradients-from-gradienttape/32178/3 "2023-08-08T13:38:19Z")

</div>

Hi @Shashank_Priyadarshi, TensorFlow records relevant operations executed inside the context of a tf.GradientTape. TensorFlow then uses that tape to compute the gradients of a recorded computation using reverse mode differentiation. To get gradients from a model,

```auto
layer = tf.keras.layers.Dense(2, activation='relu')
x = tf.constant([[1., 2., 3.]])

with tf.GradientTape() as tape:
  y = layer(x)
  loss = tf.reduce_mean(y**2)

grad = tape.gradient(loss, layer.trainable_variables)

for var, g in zip(layer.trainable_variables, grad):
  print(f'{var.name}, gradients: {g}')

```

Thank You!

---

<div class="post-metadata">

**Author:** ![Shashank\_Priyadarshi](https://d1dlmcr85iqnpo.cloudfront.net/user_avatar/discuss.ai.google.dev/shashank_priyadarshi/32/7125_2.png) [@Shashank\_Priyadarshi](https://discuss.ai.google.dev/u/Shashank_Priyadarshi)\
**Post date:** [August 8, 2023, 1:40pm UTC](https://discuss.ai.google.dev/t/how-to-get-gradients-from-gradienttape/32178/4 "2023-08-08T13:40:25Z")

</div>

Hi @Kiran_Sai_Ramineni Thank you for the reply, I wanted to do something like this - [python - How to obtain the gradients in keras? - Stack Overflow](https://stackoverflow.com/questions/51140950/how-to-obtain-the-gradients-in-keras)

---

<div class="post-metadata">

**Author:** ![Shashank\_Priyadarshi](https://d1dlmcr85iqnpo.cloudfront.net/user_avatar/discuss.ai.google.dev/shashank_priyadarshi/32/7125_2.png) [@Shashank\_Priyadarshi](https://discuss.ai.google.dev/u/Shashank_Priyadarshi)\
**Post date:** [August 8, 2023, 2:20pm UTC](https://discuss.ai.google.dev/t/how-to-get-gradients-from-gradienttape/32178/5 "2023-08-08T14:20:01Z")

</div>

Closing this as I fixed the issue
