tensorflow求導(dǎo)和梯度計(jì)算實(shí)例
1. 函數(shù)求一階導(dǎo)
import tensorflow as tf tf.enable_eager_execution() tfe=tf.contrib.eager from math import pi def f(x): return tf.square(tf.sin(x)) assert f(pi/2).numpy()==1.0 sess=tf.Session() grad_f=tfe.gradients_function(f) print(grad_f(np.zeros(1))[0].numpy())
2. 高階函數(shù)求導(dǎo)
import numpy as np
def f(x):
return tf.square(tf.sin(x))
def grad(f):
return lambda x:tfe.gradients_function(f)(x)[0]
x=tf.lin_space(-2*pi,2*pi,100)
# print(grad(f)(x).numpy())
x=x.numpy()
import matplotlib.pyplot as plt
plt.plot(x,f(x).numpy(),label="f")
plt.plot(x,grad(f)(x).numpy(),label="first derivative")#一階導(dǎo)
plt.plot(x,grad(grad(f))(x).numpy(),label="second derivative")#二階導(dǎo)
plt.plot(x,grad(grad(grad(f)))(x).numpy(),label="third derivative")#三階導(dǎo)
plt.legend()
plt.show()
def f(x,y):
output=1
for i in range(int(y)):
output=tf.multiply(output,x)
return output
def g(x,y):
return tfe.gradients_function(f)(x,y)[0]
print(f(3.0,2).numpy()) #f(x)=x^2
print(g(3.0,2).numpy()) #f'(x)=2*x
print(f(4.0,3).numpy())#f(x)=x^3
print(g(4.0,3).numpy())#f(x)=3x^2
3. 函數(shù)求一階偏導(dǎo)
x=tf.ones((2,2)) with tf.GradientTape(persistent=True) as t: t.watch(x) y=tf.reduce_sum(x) z=tf.multiply(y,y) dz_dy=t.gradient(z,y) print(dz_dy.numpy()) dz_dx=t.gradient(z,x) print(dz_dx.numpy()) for i in [0, 1]: for j in [0, 1]: print(dz_dx[i][j].numpy() )
4. 函數(shù)求二階偏導(dǎo)
x=tf.constant(2.0)
with tf.GradientTape() as t:
with tf.GradientTape() as t2:
t2.watch(x)
y=x*x*x
dy_dx=t2.gradient(y,x)
d2y_dx2=t.gradient(dy_dx,x)
print(dy_dx.numpy())
print(d2y_dx2.numpy())
以上這篇tensorflow求導(dǎo)和梯度計(jì)算實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python的Flask框架中Flask-Admin庫(kù)的簡(jiǎn)單入門指引
這篇文章主要介紹了一個(gè)Python的Flask框架中Flask-Admin庫(kù)簡(jiǎn)單入門的指引,包括介紹和簡(jiǎn)單的部署等,需要的朋友可以參考下2015-04-04
windows10下python3.5 pip3安裝圖文教程
這篇文章主要為大家詳細(xì)介紹了windows10下python3.5 pip3安裝圖文教程,注意區(qū)分python 2.x和python 3.x的相關(guān)命令,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-04
基于Python開(kāi)發(fā)PPT圖片提取與合并工具
在日常工作中,我們經(jīng)常需要處理PPT中的圖片,本文將介紹如何使用Python開(kāi)發(fā)一個(gè)圖形界面工具,實(shí)現(xiàn)PPT圖片提取和九宮格合并功能,需要的可以參考下2024-12-12
python 根據(jù)網(wǎng)易云歌曲的ID 直接下載歌曲的實(shí)例
今天小編就為大家分享一篇python 根據(jù)網(wǎng)易云歌曲的ID 直接下載歌曲的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-08-08
Python基礎(chǔ)教程之if判斷,while循環(huán),循環(huán)嵌套
這篇文章主要介紹了Python基礎(chǔ)教程之if判斷,while循環(huán),循環(huán)嵌套 的相關(guān)知識(shí),非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-04-04
Pandas中Series的創(chuàng)建及數(shù)據(jù)類型轉(zhuǎn)換
這篇文章主要介紹了Pandas中Series的創(chuàng)建及數(shù)據(jù)類型轉(zhuǎn)換,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-08-08

