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 相关文章推荐
django 发送邮件和缓存的实现代码
Jul 18 Python
python_opencv用线段画封闭矩形的实例
Dec 05 Python
WIn10+Anaconda环境下安装PyTorch(避坑指南)
Jan 30 Python
使用Python中的reduce()函数求积的实例
Jun 28 Python
Python字符串大小写转换拼接删除空白
Sep 19 Python
python安装gdal的两种方法
Oct 29 Python
Python绘制三角函数图(sin\cos\tan)并标注特定范围的例子
Dec 04 Python
python Plotly绘图工具的简单使用
Mar 03 Python
详解使用Python写一个向数据库填充数据的小工具(推荐)
Sep 11 Python
matplotlib 三维图表绘制方法简介
Sep 20 Python
Anaconda+spyder+pycharm的pytorch配置详解(GPU)
Oct 18 Python
python 实现学生信息管理系统的示例
Nov 28 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下使用iconv需要注意的问题
2010/11/20 PHP
php mysql like 实现多关键词搜索的方法
2016/10/29 PHP
Laravel5.1 框架数据库操作DB运行原生SQL的方法分析
2020/01/07 PHP
showModalDialog 和 showModelessDialog
2007/01/22 Javascript
纯JS实现本地图片预览的方法
2015/07/31 Javascript
JavaScript中函数表达式和函数声明及函数声明与函数表达式的不同
2015/11/15 Javascript
JavaScript &amp; jQuery完美判断图片是否加载完毕
2017/01/08 Javascript
详解js正则表达式验证时间格式xxxx-xx-xx形式
2018/02/09 Javascript
vue2.0路由切换后页面滚动位置不变BUG的解决方法
2018/03/14 Javascript
解决Mac安装thrift因bison报错的问题
2018/05/17 Javascript
web页面和微信小程序页面实现瀑布流效果
2018/09/26 Javascript
cocos2dx+lua实现橡皮擦功能
2018/12/20 Javascript
node错误处理与日志记录的实现
2018/12/24 Javascript
layui输入框只允许输入中文且判断长度的例子
2019/09/18 Javascript
JS Generator 函数的含义与用法实例总结
2020/04/08 Javascript
jQuery+Ajax+js实现请求json格式数据并渲染到html页面操作示例
2020/06/02 jQuery
[08:04]TI4西雅图DOTA2前线报道 海涛探访各路人马
2014/07/09 DOTA
Python中unittest用法实例
2014/09/25 Python
python复制文件的方法实例详解
2015/05/22 Python
Python编程实现两个文件夹里文件的对比功能示例【包含内容的对比】
2017/06/20 Python
使用pandas的DataFrame的plot方法绘制图像的实例
2018/05/24 Python
Flask之请求钩子的实现
2018/12/23 Python
Python常用数据类型之间的转换总结
2019/09/06 Python
Python aiohttp百万并发极限测试实例分析
2019/10/26 Python
python实现交并比IOU教程
2020/04/16 Python
详解python使用金山词霸的翻译功能(调试工具断点的使用)
2021/01/07 Python
前端制作动画的几种方式(css3,js)
2016/12/12 HTML / CSS
您的健身减肥和健康饮食专家:vitafy
2017/06/06 全球购物
机关门卫岗位职责
2013/12/30 职场文书
校园十大歌手策划书
2014/02/01 职场文书
幼儿园教师考核制度
2014/02/01 职场文书
老师对学生的评语
2014/04/18 职场文书
学生检讨书怎么写?
2014/10/10 职场文书
2014年关工委工作总结
2014/11/17 职场文书
Pytorch中使用ImageFolder读取数据集时忽略特定文件
2022/03/23 Python
Docker下安装Oracle19c
2022/04/13 Servers