TensorFlow的自動求導原理分析

2022-09-25 14:45:07 字數 751 閱讀 7414

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使用反向自動微分...