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正则表达式
Jan 15 Python
Python基于递归算法实现的走迷宫问题
Aug 04 Python
python3.6+opencv3.4实现鼠标交互查看图片像素
Feb 26 Python
Python之文字转图片方法
May 10 Python
pandas 实现字典转换成DataFrame的方法
Jul 04 Python
Python使用pymysql从MySQL数据库中读出数据的方法
Jul 25 Python
python TF-IDF算法实现文本关键词提取
May 29 Python
pycharm通过anaconda安装pyqt5的教程
Mar 24 Python
Python unittest框架操作实例解析
Apr 13 Python
什么是Python变量作用域
Jun 03 Python
python+django+selenium搭建简易自动化测试
Aug 19 Python
python中scipy.stats产生随机数实例讲解
Feb 19 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入门基础之php代码写法
2011/12/30 PHP
30个php操作redis常用方法代码例子
2014/07/05 PHP
PHP获取毫秒级时间戳的方法
2015/04/15 PHP
typecho插件编写教程(一):Hello World
2015/05/28 PHP
PHP实现在线阅读PDF文件的方法
2015/06/17 PHP
Thinkphp框架 表单自动验证登录注册 ajax自动验证登录注册
2016/12/27 PHP
PHP随机获取未被微信屏蔽的域名(微信域名检测)
2017/03/19 PHP
基于php中echo用逗号和用点号的区别详解
2018/01/23 PHP
jQuery插件-jRating评分插件源码分析及使用方法
2012/12/28 Javascript
Jquery增加鼠标中间功能mousewheel的实例代码
2013/09/05 Javascript
ie下$.getJSON出现问题的解决方法
2014/02/12 Javascript
JS对文本框值的判断示例
2014/03/10 Javascript
jQuery选择器源码解读(一):Sizzle方法
2015/03/31 Javascript
BootStrap 智能表单实战系列(二)BootStrap支持的类型简介
2016/06/13 Javascript
bootstrap模态框实现拖拽效果
2016/12/14 Javascript
Vue cli 引入第三方JS和CSS的常用方法分享
2018/01/20 Javascript
js正则表达式校验指定字符串的方法
2018/07/23 Javascript
JS加密插件CryptoJS实现的Base64加密示例
2020/08/16 Javascript
微信小游戏之使用three.js 绘制一个旋转的三角形
2019/06/10 Javascript
vue-router 2.0 跳转之router.push()用法说明
2020/08/12 Javascript
vue使用canvas实现移动端手写签名
2020/09/22 Javascript
[02:16]卖萌的僵尸 DOTA2神话信使飞僵小宝来袭
2014/03/24 DOTA
Python基础之函数用法实例详解
2014/09/10 Python
Python实现在tkinter中使用matplotlib绘制图形的方法示例
2018/01/18 Python
对Python 两大环境管理神器 pyenv 和 virtualenv详解
2018/12/31 Python
python检测服务器端口代码实例
2019/08/31 Python
python常见字符串处理函数与用法汇总
2019/10/30 Python
基于Python制作一副扑克牌过程详解
2020/10/19 Python
欧洲顶级的童装奢侈品购物网站:Bambini Fashion(面向全球)
2018/04/24 全球购物
澳大利亚便宜隐形眼镜购买网站:QUICKLENS Australia
2018/10/06 全球购物
Ref与out有什么不同
2012/11/24 面试题
平安校园建设方案
2014/05/02 职场文书
银行求职信
2014/05/31 职场文书
建筑质检员岗位职责
2015/04/08 职场文书
通过T-SQL语句创建游标与实现数据库加解密功能
2022/03/16 SQL Server
pytorch中的 .view()函数的用法介绍
2022/03/17 Python