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发送email的3种方法
Apr 28 Python
python编写分类决策树的代码
Dec 21 Python
python 批量修改/替换数据的实例
Jul 25 Python
python3利用tcp实现文件夹远程传输
Jul 28 Python
分析python请求数据
Aug 19 Python
Django2.1集成xadmin管理后台所遇到的错误集锦(填坑)
Dec 20 Python
python自动发微信监控报警
Sep 06 Python
Win10+GPU版Pytorch1.1安装的安装步骤
Sep 27 Python
浅谈Python3多线程之间的执行顺序问题
May 02 Python
Python unittest装饰器实现原理及代码
Sep 08 Python
python openpyxl模块的使用详解
Feb 25 Python
python使用glob检索文件的操作
May 20 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
全国FM电台频率大全 - 9 上海市
2020/03/11 无线电
php绘制一个扇形的方法
2015/01/24 PHP
php实现留言板功能(会话控制)
2017/05/23 PHP
PHP基于自定义函数实现的汉字转拼音功能实例
2017/09/30 PHP
jquery 简短右键菜单 多浏览器兼容
2010/01/01 Javascript
js静态方法与实例方法分析
2011/07/04 Javascript
ExtJS的拖拽效果示例
2013/12/09 Javascript
JavaScript实现两个Table固定表头根据页面大小自行调整
2014/01/03 Javascript
深入分析escape()、encodeURI()、encodeURIComponent()的区别及示例
2014/08/04 Javascript
微信 java 实现js-sdk 图片上传下载完整流程
2016/10/21 Javascript
Vue + Webpack + Vue-loader学习教程之相关配置篇
2017/03/14 Javascript
微信小程序 图片宽度自适应的实现
2017/04/06 Javascript
AngularJS+bootstrap实现动态选择商品功能示例
2017/05/17 Javascript
React Native之TextInput组件解析示例
2017/08/22 Javascript
Node登录权限验证token验证实现的方法示例
2020/05/25 Javascript
[10:18]2018DOTA2国际邀请赛寻真——Fnatic能否笑到最后?
2018/08/14 DOTA
python引入导入自定义模块和外部文件的实例
2017/07/24 Python
快速了解Python中的装饰器
2018/01/11 Python
python爬虫中get和post方法介绍以及cookie作用
2018/02/08 Python
Pycharm更换python解释器的方法
2018/10/29 Python
python爬虫之urllib库常用方法用法总结大全
2018/11/14 Python
Python使用到第三方库PyMuPDF图片与pdf相互转换
2019/05/03 Python
Pandas之DataFrame对象的列和索引之间的转化
2019/06/25 Python
python flask web服务实现更换默认端口和IP的方法
2019/07/26 Python
用OpenCV将视频分解成单帧图片,图片合成视频示例
2019/12/10 Python
Python面向对象之私有属性和私有方法应用案例分析
2019/12/31 Python
使用phonegap获取位置信息的实现方法
2017/03/31 HTML / CSS
美国室内盆栽植物购买网站:Plants.com
2020/04/24 全球购物
在C中是否有模拟继承等面向对象程序设计特性的好方法
2012/05/22 面试题
护理工作感言
2014/01/16 职场文书
教学评估实施方案
2014/03/16 职场文书
2014年业务工作总结
2014/11/17 职场文书
优秀团队申报材料
2014/12/26 职场文书
2015公务员年度考核评语
2015/03/25 职场文书
慈善献爱心倡议书
2015/04/27 职场文书
天气温馨提示语
2015/07/14 职场文书