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写的图片蜘蛛人代码
Aug 27 Python
python中使用urllib2伪造HTTP报头的2个方法
Jul 07 Python
浅析Python中的多进程与多线程的使用
Apr 07 Python
python的pdb调试命令的命令整理及实例
Jul 12 Python
Python使用getpass库读取密码的示例
Oct 10 Python
Python 中Pickle库的使用详解
Feb 24 Python
python中的decorator的作用详解
Jul 26 Python
Django组件之cookie与session的使用方法
Jan 10 Python
Django中使用haystack+whoosh实现搜索功能
Oct 08 Python
django之导入并执行自定义的函数模块图解
Apr 01 Python
详解Flask前后端分离项目案例
Jul 24 Python
Python 使用office365邮箱的示例
Oct 29 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邮件专题
2006/10/09 PHP
PHP中的函数嵌套层数限制分析
2011/06/13 PHP
php中将数组存到文件里的实现代码
2012/01/19 PHP
php ci框架中加载css和js文件失败的解决方法
2014/03/03 PHP
PHP+Oracle本地开发环境搭建方法详解
2019/04/01 PHP
JavaScript 继承详解(二)
2009/07/13 Javascript
jQuery chili图片远处放大插件
2009/11/30 Javascript
JavaScript Memoization 让函数也有记忆功能
2011/10/27 Javascript
使用jquery prev()方法找到同级的前一个元素
2014/07/11 Javascript
JS实现往下不断流动网页背景的方法
2015/02/27 Javascript
设置jQueryUI DatePicker默认语言为中文
2016/06/04 Javascript
Bootstrap编写一个兼容主流浏览器的受众门户式风格页面
2016/07/01 Javascript
Vue 2中ref属性的使用方法及注意事项
2017/06/12 Javascript
仿ElementUI实现一个Form表单的实现代码
2019/04/23 Javascript
vue.config.js常用配置详解
2019/11/14 Javascript
[06:09]辉夜杯主赛事开幕式
2015/12/25 DOTA
详解Python的Lambda函数与排序
2016/10/25 Python
python3.6+django2.0开发一套学员管理系统
2018/03/03 Python
TensorFlow变量管理详解
2018/03/10 Python
wx.CheckBox创建复选框控件并响应鼠标点击事件
2018/04/25 Python
python实现键盘输入的实操方法
2019/07/16 Python
基于html和CSS3制作酷炫的导航栏
2015/09/23 HTML / CSS
css3边框_动力节点Java学院整理
2017/07/11 HTML / CSS
HTML5 贪吃蛇游戏实现思路及源代码
2013/09/03 HTML / CSS
Backcountry旗下的户外商品闪购网站:steep&cheap
2016/09/22 全球购物
澳大利亚婴儿礼品公司:The Baby Gift Company
2018/11/04 全球购物
英国探险旅游专家:Explore
2018/12/20 全球购物
优质有机椰子产品:Dr. Goerg
2019/09/24 全球购物
欧洲最大的预定车位市场:JustPark
2020/01/06 全球购物
澳大利亚著名的纺织品品牌:Canningvale
2020/05/05 全球购物
物理专业本科生自荐信
2014/01/30 职场文书
教师产假请假条
2014/04/10 职场文书
教师党员整改措施
2014/10/24 职场文书
邀请函范文
2015/02/02 职场文书
警告通知
2015/04/25 职场文书
Zabbix对Kafka topic积压数据监控的问题(bug优化)
2022/07/07 Servers