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数据库操作常用功能使用详解(创建表/插入数据/获取数据)
Dec 06 Python
python网络编程学习笔记(九):数据库客户端 DB-API
Jun 09 Python
Python操作MySQL简单实现方法
Jan 26 Python
Python3实现发送QQ邮件功能(html)
Dec 15 Python
python脚本监控Tomcat服务器的方法
Jul 06 Python
利用python GDAL库读写geotiff格式的遥感影像方法
Nov 29 Python
对Python中的条件判断、循环以及循环的终止方法详解
Feb 08 Python
使用Python的turtle模块画国旗
Sep 24 Python
Python爬取新型冠状病毒“谣言”新闻进行数据分析
Feb 16 Python
Windows 下python3.8环境安装教程图文详解
Mar 11 Python
解析python中的jsonpath 提取器
Jan 18 Python
Pyhton爬虫知识之正则表达式详解
Apr 01 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加速 eAccelerator配置和使用指南
2009/06/05 PHP
ThinkPHP框架实现数据增删改
2017/05/07 PHP
YII2框架中excel表格导出的方法详解
2017/07/21 PHP
laravel 5异常错误:FatalErrorException in Handler.php line 38的解决
2017/10/12 PHP
PHP基于curl实现模拟微信浏览器打开微信链接的方法示例
2019/02/15 PHP
Laravel 框架返回状态拦截代码
2019/10/18 PHP
jQuery遍历页面所有CheckBox查看是否被选中的方法
2015/04/14 Javascript
jQuery实现的类似淘宝网站搜索框样式代码分享
2015/08/24 Javascript
JavaScript File API实现文件上传预览
2016/02/02 Javascript
JS实现图片平面旋转的方法
2016/03/01 Javascript
jQuery对checkbox 复选框的全选全不选反选的操作
2016/08/09 Javascript
javascript cookie基础应用之记录用户名的方法
2016/09/20 Javascript
微信小程序 swiper制作tab切换实现附源码
2017/01/21 Javascript
通俗解释JavaScript正则表达式快速记忆
2017/08/23 Javascript
Vue异步加载about组件
2017/10/31 Javascript
微信小程序列表渲染功能之列表下拉刷新及上拉加载的实现方法分析
2017/11/27 Javascript
[38:21]2018DOTA2亚洲邀请赛3月30日 小组赛A组 LGD VS Newbee
2018/03/31 DOTA
[55:25]2018DOTA2亚洲邀请赛3月29日 小组赛A组 VG VS OG
2018/03/30 DOTA
详解Python中的装饰器、闭包和functools的教程
2015/04/02 Python
Python实现判断字符串中包含某个字符的判断函数示例
2018/01/08 Python
Django自定义用户认证示例详解
2018/03/14 Python
深入分析python中整型不会溢出问题
2018/06/18 Python
基于wxPython的GUI实现输入对话框(2)
2019/02/27 Python
Tensorflow 定义变量,函数,数值计算等名字的更新方式
2020/02/10 Python
Python3+Selenium+Chrome实现自动填写WPS表单
2020/02/12 Python
python 在右键菜单中加入复制目标文件的有效存放路径(单斜杠或者双反斜杠)
2020/04/08 Python
娇韵诗香港官网:Clarins香港
2020/08/13 全球购物
小学教师读书活动总结
2014/07/08 职场文书
2014最新离职证明范本
2014/09/12 职场文书
在职员工证明书
2014/09/19 职场文书
本科毕业论文指导教师评语
2014/12/30 职场文书
父亲婚礼答谢词
2015/01/04 职场文书
八一建军节主持词
2015/07/01 职场文书
谢师宴家长答谢词
2015/09/30 职场文书
党务工作者主要事迹材料
2015/11/03 职场文书
2016党校培训心得体会
2016/01/07 职场文书