什麼是自動求導機制
在 TensorFlow 中,有一種特殊的張量類型叫做梯度張量,可以用於計算模型的梯度。
TensorFlow 的梯度張量是一種特殊的張量,其中包含了模型中每個變量的梯度信息。梯度張量是 TensorFlow 的自動微分機制的基礎,可以通過 TensorFlow 的自動微分機制來計算模型的梯度。
使用方法介紹
使用 GradientTape 類的方法是:
在計算圖的上下文中創建一個 GradientTape 對象。
使用 GradientTape 對象的 watch 方法監視計算圖中的變量。
執行計算圖,並在計算圖中使用 TensorFlow 的運算符操作張量。
使用 GradientTape 對象的 gradient 方法計算模型的梯度。
使用範例
在機器學習中,我們經常需要計算函數的導數。TensorFlow 提供了強大的自動求導機制來計算導數。以下程式展示了如何使用 tf. GradientTape()方法計算函數,y(x)=x^2在x=3時的導數:
1 2 3 4 5 6 7 |
import tensorflow as tf x = tf. Variable (initial value=3.) with tf.GradientTape () as tape: #所有計算步驟都會被記錄以用於求導 y=tf.sguare (x) y_grad = tape.gradient (y, x)#計算y關於x的導數 print (ly, y_grad]) |
輸出如下:
1 |
[array ([9.1, dtype=float32), array ([6.], dtype=float32)] |