TensorFlow Autodiff自动微分详解

 更新时间:2020年07月06日 16:53:33   作者:Marks & Co  
这篇文章主要介绍了TensorFlow Autodiff自动微分详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

如下所示:

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自动微分详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • AI生成图片Stable Diffusion环境搭建与运行方法

    AI生成图片Stable Diffusion环境搭建与运行方法

    Stable Diffusion是一种基于扩散过程的生成模型,由Ge et al.在2021年提出,该模型利用了随机变量的稳定分布,通过递归地应用扩散过程来生成高质量的图像,这篇文章主要介绍了AI图片生成Stable Diffusion环境搭建与运行,需要的朋友可以参考下
    2023-05-05
  • win8下python3.4安装和环境配置图文教程

    win8下python3.4安装和环境配置图文教程

    这篇文章主要为大家详细介绍了win8下python3.4安装和环境配置图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-07-07
  • Python简单读取json文件功能示例

    Python简单读取json文件功能示例

    这篇文章主要介绍了Python简单读取json文件功能,结合实例形式分析了Python文件读取及json格式数据相关操作技巧,需要的朋友可以参考下
    2017-11-11
  • Python 中检查一个字符是否为数字的示例代码

    Python 中检查一个字符是否为数字的示例代码

    本文详细介绍了在 Python 中检查一个字符是否为数字的几种常用方法。我们介绍了使用 isdigit() 方法、isnumeric() 方法和正则表达式等方法,并提供了示例代码帮助你理解和应用这些方法,需要的朋友可以参考下
    2023-06-06
  • 在Pycharm terminal中字体大小设置的方法

    在Pycharm terminal中字体大小设置的方法

    今天小编就为大家分享一篇在Pycharm terminal中字体大小设置的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • TensorFlow固化模型的实现操作

    TensorFlow固化模型的实现操作

    这篇文章主要介绍了TensorFlow固化模型的实现操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • 4款Python 类型检查工具,你选择哪个呢?

    4款Python 类型检查工具,你选择哪个呢?

    这篇文章主要介绍了4款Python 类型检查工具的相关资料,帮助是及早检查,提前发现类型的错误,增强代码的一致性与可维护性。(还有防止脱发,喵),感兴趣的朋友可以了解下
    2020-10-10
  • 布同 统计英文单词的个数的python代码

    布同 统计英文单词的个数的python代码

    最近需要翻译英文文章,所以需要统计单词个数。索性写了一段代码在此,可以简单的统计单词的个数
    2011-03-03
  • Django session登陆并获取值的实例

    Django session登陆并获取值的实例

    这篇文章主要介绍了Django session登陆并获取值的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • 深入讲解Python中的迭代器和生成器

    深入讲解Python中的迭代器和生成器

    这篇文章主要介绍了Python中的迭代器和生成器,涉及到Python中很多重要的特性,需要的朋友可以参考下
    2015-10-10

最新评论