TensorFlow Autodiff自动微分详解


Posted in Python onJuly 06, 2020

如下所示:

with tf.GradientTape(persistent=True) as tape:
 z1 = f(w1, w2 + 2.)
 z2 = f(w1, w2 + 5.)
 z3 = f(w1, w2 + 7.)
 z = [z1,z3,z3]
[tape.gradient(z, [w1, w2]) for z in (z1, z2, z3)]

输出结果

[[<tf.Tensor: id=56906, shape=(), dtype=float32, numpy=40.0>,
 <tf.Tensor: id=56898, shape=(), dtype=float32, numpy=10.0>],
 [<tf.Tensor: id=56919, shape=(), dtype=float32, numpy=46.0>,
 <tf.Tensor: id=56911, shape=(), dtype=float32, numpy=10.0>],
 [<tf.Tensor: id=56932, shape=(), dtype=float32, numpy=50.0>,
 <tf.Tensor: id=56924, shape=(), dtype=float32, numpy=10.0>]]
with tf.GradientTape(persistent=True) as tape:
 z1 = f(w1, w2 + 2.)
 z2 = f(w1, w2 + 5.)
 z3 = f(w1, w2 + 7.)
 z = [z1,z2,z3]
tape.gradient(z, [w1, w2])

输出结果

[<tf.Tensor: id=57075, shape=(), dtype=float32, numpy=136.0>,

<tf.Tensor: id=57076, shape=(), dtype=float32, numpy=30.0>]

总结:如果对一个listz=[z1,z2,z3]求微分,其结果将自动求和,而不是返回z1、z2和z3各自对[w1,w2]的微分。

补充知识:Python/Numpy 矩阵运算符号@

如下所示:

A = np.matrix('3 1; 8 2')

B = np.matrix('6 1; 7 9')

A@B
matrix([[25, 12],
  [62, 26]])

以上这篇TensorFlow Autodiff自动微分详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
树莓派中python获取GY-85九轴模块信息示例
Dec 05 Python
Python中除法使用的注意事项
Aug 21 Python
Python生成器(Generator)详解
Apr 13 Python
Python基于回溯法子集树模板解决旅行商问题(TSP)实例
Sep 05 Python
Django添加KindEditor富文本编辑器的使用
Oct 24 Python
Python编程深度学习计算库之numpy
Dec 28 Python
Python中常用的8种字符串操作方法
May 06 Python
python使用sklearn实现决策树的方法示例
Sep 12 Python
使用python将最新的测试报告以附件的形式发到指定邮箱
Sep 20 Python
Python倒排索引之查找包含某主题或单词的文件
Nov 13 Python
python爬虫实现POST request payload形式的请求
Apr 30 Python
图文详解matlab原始处理图像几何变换
Jul 09 Python
Keras loss函数剖析
Jul 06 #Python
keras 模型参数,模型保存,中间结果输出操作
Jul 06 #Python
Python自省及反射原理实例详解
Jul 06 #Python
如何通过命令行进入python
Jul 06 #Python
解决TensorFlow调用Keras库函数存在的问题
Jul 06 #Python
python else语句在循环中的运用详解
Jul 06 #Python
Keras模型转成tensorflow的.pb操作
Jul 06 #Python
You might like
详解在PHP的Yii框架中使用行为Behaviors的方法
2016/03/18 PHP
Laravel最佳分割路由文件(routes.php)的方式
2016/08/04 PHP
TNC vs RR BO3 第一场 2.14
2021/03/10 DOTA
完整显示当前日期和时间的JS代码
2007/09/17 Javascript
在线编辑器中换行与内容自动提取
2009/04/24 Javascript
javascript判断用户浏览器插件安装情况的代码
2011/01/01 Javascript
基于jquery的文本框与autocomplete结合使用(asp.net+json)
2012/05/30 Javascript
jQuery函数的第二个参数获取指定上下文中的DOM元素
2014/05/19 Javascript
jQuery Mobile弹出窗、弹出层知识汇总
2016/01/05 Javascript
深入浅析JavaScript系列(13):This? Yes,this!
2016/01/05 Javascript
常用的JQuery函数及功能小结
2016/03/24 Javascript
VueJS组件之间通过props交互及验证的方式
2017/09/04 Javascript
vue 利用路由守卫判断是否登录的方法
2018/09/29 Javascript
详解vue beforeRouteEnter 异步获取数据给实例问题
2019/08/09 Javascript
Javascript实现鼠标移入方向感知
2020/06/24 Javascript
详解JavaScript中的链式调用
2020/11/27 Javascript
python中urllib.unquote乱码的原因与解决方法
2017/04/24 Python
PyTorch上实现卷积神经网络CNN的方法
2018/04/28 Python
浅谈python中requests模块导入的问题
2018/05/18 Python
Python FTP两个文件夹间的同步实例代码
2018/05/25 Python
使用python对多个txt文件中的数据进行筛选的方法
2019/07/10 Python
python爬虫 猫眼电影和电影天堂数据csv和mysql存储过程解析
2019/09/05 Python
matplotlib.pyplot.matshow 矩阵可视化实例
2020/06/16 Python
Python使用xlrd实现读取合并单元格
2020/07/09 Python
Python字典取键、值对的方法步骤
2020/09/30 Python
html5 canvas 画图教程案例分析
2012/11/23 HTML / CSS
圣彼得堡鲜花配送:Semicvetic
2020/09/15 全球购物
办公室人员先进事迹
2014/01/27 职场文书
狼和鹿教学反思
2014/02/05 职场文书
大学老师推荐信
2014/02/25 职场文书
淘宝文案策划岗位职责
2015/04/14 职场文书
简短的人生哲理(38句)
2019/08/13 职场文书
话题作文之财富(600字)
2019/12/03 职场文书
Java中常用解析工具jackson及fastjson的使用
2021/06/28 Java/Android
关于Nginx中虚拟主机的一些冷门知识小结
2022/03/03 Servers
MySQL数据库事务的四大特性
2022/04/20 MySQL