tensorflow求导和梯度计算实例
2020-02-13 11:29
597 查看
1. 函数求一阶导
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. 高阶函数求导
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")#一阶导 plt.plot(x,grad(grad(f))(x).numpy(),label="second derivative")#二阶导 plt.plot(x,grad(grad(grad(f)))(x).numpy(),label="third derivative")#三阶导 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. 函数求一阶偏导
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. 函数求二阶偏导
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求导和梯度计算实例就是小编分享给大家的全部内容了,希望能给大家一个参考
您可能感兴趣的文章:
相关文章推荐
- tensorflow实例(8.2)--梯度下降法计算简单线性回归(Simple Regression Analysis)
- tensorflow中optimizer如何实现神经网络的权重,偏移等系数的更新和梯度计算
- Python Sympy计算梯度、散度和旋度的实例
- 在pytorch中对非叶节点的变量计算梯度实例
- tensorflow实例(8.1)--公式法计算简单线性回归(Simple Regression Analysis)
- TensorFlow 学习(八)—— 梯度计算(gradient computation)
- matlab7.0 符号计算实例——函数求导
- Tensorflow 梯度下降实例
- 实现属于自己的TensorFlow(二) - 梯度计算与反向传播
- 梯度下降 计算实例
- Tensorflow 计算梯度 | clip 梯度
- tensorflow实现迁移学习实例
- [硬货]| 实例介绍TensorFlow的输入流水线
- 两本云计算书籍光盘及源码分享:走进云计算和云计算的关键技术与应用实例...
- Tensorflow实例:(卷积神经网络)LeNet-5模型
- 88、展示Tensorflow计算图上每个节点的基本信息以及运行时消耗的时间和空间
- 【Star CCM+实例】开发一个简单的计算流程.md
- 一起talk C栗子吧(第三十四回:C语言实例--巧用溢出计算最值)
- C#实例之计算字符串中不同字符的个数
- Tensorflow实例:实现进阶的卷积神经网络