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入门篇之编程习惯与特点
Oct 17 Python
Python编写生成验证码的脚本的教程
May 04 Python
python控制台中实现进度条功能
Nov 10 Python
利用Python爬虫给孩子起个好名字
Feb 14 Python
基于MTCNN/TensorFlow实现人脸检测
May 24 Python
读取json格式为DataFrame(可转为.csv)的实例讲解
Jun 05 Python
Python线程同步的实现代码
Oct 03 Python
Django实现任意文件上传(最简单的方法)
Jun 03 Python
pycharm 对代码做静态检查操作
Jun 09 Python
PySide2出现“ImportError: DLL load failed: 找不到指定的模块”的问题及解决方法
Jun 10 Python
python 还原梯度下降算法实现一维线性回归
Oct 22 Python
python文件路径操作方法总结
Dec 21 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基础知识:类与对象(2) 自动加载对象
2006/12/13 PHP
很好用的PHP数据库类
2009/05/27 PHP
php生成随机密码的三种方法小结
2010/09/04 PHP
解析PHP对现有搜索引擎的调用
2013/06/25 PHP
PHP5.5安装PHPRedis扩展及连接测试方法
2017/01/22 PHP
php基于自定义函数记录log日志方法
2017/07/21 PHP
laravel5.6中的外键约束示例
2019/10/23 PHP
jQuery 改变CSS样式基础代码
2010/02/11 Javascript
javascript的数据类型、字面量、变量介绍
2012/05/23 Javascript
用jquery模仿的a的title属性(兼容ie6/7)
2013/01/21 Javascript
NodeJS制作爬虫全过程(续)
2014/12/22 NodeJs
JS数组的常见用法实例
2015/02/10 Javascript
js实现鼠标滑过文字链接色彩变化的效果
2015/05/06 Javascript
Jquery实现的简单轮播效果【附实例】
2016/04/19 Javascript
Vue.js 父子组件通讯开发实例
2016/09/06 Javascript
JavaScript中的toString()和toLocaleString()方法的区别
2017/02/15 Javascript
基于JS实现仿京东搜索栏随滑动透明度渐变效果
2017/07/10 Javascript
浅谈vue-cli加载不到dev-server.js的解决办法
2017/11/24 Javascript
vue实现底部菜单功能
2018/07/24 Javascript
vue-cli 脚手架基于Nightwatch的端到端测试环境的过程
2018/09/30 Javascript
在vue中使用cookie记住用户上次选择的实例(本次例子中为下拉框)
2020/09/11 Javascript
[05:24]TI9采访——教练
2019/08/24 DOTA
安装dbus-python的简要教程
2015/05/05 Python
目前最全的python的就业方向
2018/06/05 Python
Tensorflow实现酸奶销量预测分析
2019/07/19 Python
利用python绘制数据曲线图的实现
2020/04/09 Python
Django Admin 上传文件到七牛云的示例代码
2020/06/20 Python
html5播放视频且动态截图实现步骤与代码(支持safari其他未测试)
2013/01/06 HTML / CSS
AHAVA美国官方网站:死海海泥护肤品牌
2016/10/18 全球购物
幼师专业毕业生自荐信
2013/09/29 职场文书
教师队伍管理制度
2014/01/14 职场文书
债务追讨授权委托书范本
2014/10/16 职场文书
体育活动总结
2015/02/04 职场文书
小学教师个人总结
2015/02/05 职场文书
歌咏比赛口号大全
2015/12/25 职场文书
使用PDF.js渲染canvas实现预览pdf的效果示例
2021/04/17 Javascript