TensorFlow的自动求导原理分析
作者:qq_25094489 发布时间:2023-06-14 15:22:02
标签:TensorFlow,自动求导
原理:
TensorFlow使用的求导方法称为自动微分(Automatic Differentiation),它既不是符号求导也不是数值求导,而类似于将两者结合的产物。
最基本的原理就是链式法则,关键思想是在基本操作(op)的水平上应用符号求导,并保持中间结果(grad)。
基本操作的符号求导定义在\tensorflow\python\ops\math_grad.py文件中,这个文件中的所有函数都用RegisterGradient装饰器包装了起来,这些函数都接受两个参数op和grad,参数op是操作,第二个参数是grad是之前的梯度。
链式求导代码:
举个例子:
补充:聊聊Tensorflow自动求导机制
自动求导机制
在即时执行模式下,Tensorflow引入tf.GradientTape()这个“求导记录器”来实现自动求导。
计算函数y(x)=x^2在x = 3时的导数:
import tensorflow as tf
#定义变量
x = tf.Variable(initial_value = 3.)
#在tf.GradientTape()的上下文内,所有计算步骤都会被记录以用于求导
with tf.GradientTape() as tape:
#y = x^2
y = tf.square(x)
#计算y关于x的导数(斜率,梯度)
y_grad = tape.gradient(y,x)
print([y,y_grad])
输出:
[<tf.Tensor: shape=(), dtype=float32, numpy=9.0>, <tf.Tensor: shape=(), dtype=float32, numpy=6.0>]
来源:https://blog.csdn.net/qq_25094489/article/details/79390484


猜你喜欢
- http 模块简介Python3 中的 http 包中含有几个用来开发 HTTP 协议的模块。http.client 是一个底层的 HTTP
- php开启openssl的方法,大多数情况下openssl是没有开启的,要想启用需要进行下简单的设置windows下开启方法:1: 首先检查
- 如何制作一个WAP手机的WML网页?代码如下:<%@Language=VBScriptMaxNoAds = 10'
- USE MASTER GO IF EXISTS(SELECT * FROM dbo.sysdatabases WHERE name='
- 如下:data = pd.read_csv('20180201.txt',sep = '|',dtype =
- 本文为大家分享了pygame游戏之旅的第10篇,供大家参考,具体内容如下通过获取鼠标的位置然后进行高亮显示:mouse =pygame.mo
- 一、前言构建命令行程序很酷:命令行可以按照我们的设定完成相应的工作,相比 GUI 界面程序,无需花费大量时间设计 GUI 界面。但要使命令行
- 0 环境Python版本:3.6.8系统版本:macOS MojavePython Jupyter Notebook1 引言七月了,大家最近
- 一、数据集小企鹅数据集,提取码:1234该数据集一共包含8个变量,其中7个特征变量,1个目标分类变量。共有150个样本,目标变量为 企鹅的类
- 最近网站访问量大增,可能有些频道程序也有一些问题,造成了MySQL数据库出现Forcing close of thread 28790 us
- 阅读本文能够帮助你什么?在学习vue源码的时候发现组件化过程很绕?在响应式过程中Observer、Dep、Watcher三大对象傻傻分不清?
- 目的:删除文件之后,如果目录为空,递归删除为空的目录。svr.dataDir指目录的最外层,递归删除目录的时候判断到这一层即可。eg:/Us
- 用SQL server 处理数据库,主要就是和数据库还有处理数据库的事务打交道,如何管理好数据库这个对象和处理数据库的事务过程,是我们运用好
- 环境:Zend Studio 8.0Zend Studio是PHP开发者的首选开发工具,其地位相当于微软开发工具中的Visual Studi
- 本文实例讲述了Python Django框架模板渲染功能。分享给大家供大家参考,具体如下:项目名/settings.py(项目配置,配置模板
- 之前在转换数据集格式的时候需要将json转换到xml文件,用lxml包进行操作非常方便。1. 写xml文件a) 用etree和objecti
- 当 http client 返回值为不为空,只读取 response header,但不读 body 内容就执行 response.Body
- 前言相信用过Range的朋友们都知道,Go语言中的range关键字使用起来非常的方便,它允许你遍历某个slice或者map,并通过两个参数(
- 扫雷是一个非常经典的WIN游戏,我们教给大家用python语言来写出这个游戏,以下是全部实例代码:#!/usr/bin/python#cod
- 效果如下所示简介在当今信息时代,金融市场是一个引人注目的话题。作为普通人,我们也可以通过使用 Python 和 wxPython 库编写一个