tensorflow使用的求導方法稱為自動微分(automatic differentiation程式設計客棧),它既不是符號求導也不是數值求導,而類似於將兩者結合的產物。
最基本的原理就是鏈式法則程式設計客棧,關鍵思想是在基本操作(op)的水平上應用符號求導,並保持中間結果(grad)。
基本操作的符號求導定義在\tensorflow\python\ops\math_grad.py檔案中,這個檔案中的所有函式都用registergradient裝飾器包裝了起來,這些函式都接受兩個引數op和grad,引數op是操作,第二個引數是grad是之前的梯度。
舉個例子:
補充:聊聊tensorflow自動求導機制
在即時執行模式下,tensorflow引入tf這個「求導記錄器」來實現自動求導。
import tensorflow as tf
#定義變數
x = tf.variable(initial_value = 3.)
#在tf.gradienttape()的上下文內,所有計算步驟都會被記錄以用於求導
with tf.gradienttape() as tape:
#y = x^2
y = tf.square(x)
#計算y關於x的導數(斜率,梯度)
y_grad = tape.gradient(y,x)
print([y,y_g程式設計客棧rad])
輸出:[, ]
本文標題: tensorflow的自動求導原理分析
本文位址:
Tensorflow2 0 自動求導API
tensorflow 為自動微分提供了 tf.gradienttape api 根據某個函式的輸入變數來計算它的導數。在深度神經網路訓練過程中最常用的誤差反向傳播演算法 error back propagation training 是更新網路權重的關鍵,求偏導常用到這種機制。只有tf.variab...
Tensorflow2 自動求導機制
tensorflow 引入了 tf.gradienttape 這個 求導記錄器 來實現自動求導 如何使用 tf.gradienttape 計算函式 y x x 2 在 x 3 時的導數 import tensorflow as tf x tf.variable initial value 3.初始化...
TensorFlow2 0教程28 自動求導
這節我們會介紹使用tensorflow2自動求導的方法。一 gradient tapes tensorflow 提供tf.gradienttape api來實現自動求導功能。只要在tf.gradienttape 上下文中執行的操作,都會被記錄與 tape 中,然後tensorflow使用反向自動微分...