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下的XSLT API进行web开发的简单教程
Apr 15 Python
Python实现将文本生成二维码的方法示例
Jul 18 Python
Django跨域请求CSRF的方法示例
Nov 11 Python
Python 利用pydub库操作音频文件的方法
Jan 09 Python
python redis连接 有序集合去重的代码
Aug 04 Python
Selenium 滚动页面至元素可见的方法
Mar 18 Python
Python文件操作模拟用户登陆代码实例
Jun 09 Python
Python如何将装饰器定义为类
Jul 30 Python
python爬虫使用正则爬取网站的实现
Aug 03 Python
python3爬虫中多线程进行解锁操作实例
Nov 25 Python
pandas抽取行列数据的几种方法
Dec 13 Python
Python关于OS文件目录处理的实例分享
May 23 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 字符串正则替换函数preg_replace使用说明
2011/07/15 PHP
php时间戳格式化显示友好的时间函数分享
2014/10/21 PHP
PHP限制HTML内容中图片必须是本站的方法
2015/06/16 PHP
Yii2框架redis基本应用示例
2018/07/13 PHP
详解phpstorm2020最新破解方法
2020/09/17 PHP
基于jQuery的动态表格插件
2011/03/28 Javascript
jQuery EasyUI API 中文文档 - PropertyGrid属性表格
2011/11/18 Javascript
window.event快达到全浏览器支持了,以后使用就方便了
2011/11/30 Javascript
基于Bootstrap实现tab标签切换效果
2020/04/15 Javascript
使用Bootstrap typeahead插件实现搜索框自动补全的方法
2016/07/07 Javascript
jQuery实现的纵向下拉菜单实例详解【附demo源码下载】
2016/07/09 Javascript
bootstrap滚动监控器使用方法解析
2017/01/13 Javascript
vue.js指令v-model使用方法
2017/03/20 Javascript
vue中简单弹框dialog的实现方法
2018/02/26 Javascript
vue 项目打包通过命令修改 vue-router 模式 修改 API 接口前缀
2018/06/13 Javascript
Node.js npm命令运行node.js脚本的方法
2018/10/10 Javascript
vue实现百度下拉列表交互操作示例
2019/03/12 Javascript
layui弹出框Tab选项卡的示例代码
2019/09/04 Javascript
vue-autoui自匹配webapi的UI控件的实现
2020/03/20 Javascript
浅谈在vue-cli3项目中解决动态引入图片img404的问题
2020/08/04 Javascript
在Django的模型中执行原始SQL查询的方法
2015/07/21 Python
Python线性回归实战分析
2018/02/01 Python
tensorflow 打印内存中的变量方法
2018/07/30 Python
Python实现的json文件读取及中文乱码显示问题解决方法
2018/08/06 Python
python隐藏终端执行cmd命令的方法
2019/06/24 Python
python的scipy实现插值的示例代码
2019/11/12 Python
Python轻量级web框架bottle使用方法解析
2020/06/13 Python
英国最专业的健身器材供应商之一:Best Gym Equipment
2017/12/22 全球购物
财务经理岗位职责
2013/11/09 职场文书
八一建军节部队活动方案
2014/02/04 职场文书
致跳远运动员广播稿
2014/02/11 职场文书
体育教师自我鉴定
2014/02/12 职场文书
家电业务员岗位职责
2014/03/10 职场文书
出国留学单位推荐信
2015/03/26 职场文书
分享提高 Python 代码的可读性的技巧
2022/03/03 Python
MySQL学习必备条件查询数据
2022/03/25 MySQL