TensorFlow Autodiff自动微分详解
作者:Marks & Co 发布时间:2021-06-02 10:33:02
标签: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]])
来源:https://www.cnblogs.com/yaos/p/12753268.html


猜你喜欢
- 下载安装NodeJS后,在自己选择的路径下会有如下的文件:默认情况下NodeJS安装会同时安装npm(模块管理器:用于管理用户require
- //********************************************************************
- python socket多线程实现客户端与服务器连接,供大家参考,具体内容如下之前因为一些作业需要完成一个服务器监听多个客户端的程序,于是
- 目的把字符串逐字符或逐词反转过来,这个蛮有意思的。方法先看逐字符反转吧,第一种设置切片的步长为-1revchars=astring[::-1
- 相信很朋友因为PyCharm最新激活码或激活补丁的安装参数每月都会失效而烦恼PyCharm最新激活码先分享个PyCharm最新激活码大家可以
- 前言由于数据库的类型为Data 类型,所以插入数据库的时候我先把前端传入的string类型的时间转为Time 再插入。Go 提供了两种插入的
- 相信很多人在浏览网页时,经常会碰到需要输入验证码才可以继续浏览的情况吧,遇到这种问题,大多数人只能进行繁琐的注册验证,今天小编教大家只要使用
- 一、如果models.py文件为时:timestamp = models.DateTimeField('保存日期')会提示:
- 先看函数参数:torch.flatten(input, start_dim=0, end_dim=-1)input: 一个 tensor,即
- 内容摘要:本文介绍了使用CSS结合javascript来实现对超链接的类型进行标注,让浏览者明确是zip,doc,pdf或其它格式的文件。这
- 上文: 《IE7的web标准之道——1:前言(兼目录)》IE历来被web标准的拥护者所诟病,而当FireFox横空出世以后,更多的网页制作者
- 字符串字面量python 中的字符串字面量由单引号或双引号括起。‘hello’ 等同于 &l
- ant-design-vue自定义使用阿里iconfont图标\第一步:从iconfont获取项目js链接第二步 在需要引用iconfont
- 本人已经在运维行业工作了将近十年,我最早接触Linux是在大二的样子,那时候只追求易懂,所以就选择了Ubuntu作为学习、使用的对象,它简单
- 简易画图工具(Python),供大家参考,具体内容如下小黑最近在努力的入门python,正好学习到了Python的tkinker模块下的Ca
- MYSQL TIMESTAMP字段进行时间加减运算在数据分析过程中,想当然地对TIMESTAMP字段进行运算,导致结果谬之千里计算公式如下-
- 背景和目的:利用python request 编写脚本测试公司系统的文件上传接口。前端读取文件的大小然后文件分片传给后端,后端将每一片数据重
- 先给大家展示下运行效果图: 1.后台action产生json数据。List blackList = blackService.ge
- 关于端口复用一个套接字不能同时绑定多个端口,如果客户端想绑定端口号,一定要调用发送信息函数之前绑定( bind )端口,因为在发送信息函数(
- 不管是录入信息时需要用扫码器扫码录入、核对信息时用于扫码识别,还是有别的生成条形码的需要,那我们如何把表格中的数字、文本列快速生成条形码图片