import tensorflow as tf
import numpy as np
#构建待优化变量
x=tf.constant([1.])
w1=tf.constant([2.])
b1=tf.constant([1.])
w2=tf.constant([2.])
b2=tf.constant([1.])
#构建梯度记录器
with tf.GradientTape(persistent=True) as tape:#tf.Variable类型的张量需要人为的设置记录梯度信息tape.watch([w1,b1,w2,b2])#构建两层的线性网络y1=x*w1+b1y2=y1*w2+b2
#独立求解出各个偏导数
dy2_y1=tape.gradient(y2,y1)[0]
dy1_w1=tape.gradient(y1,w1)[0]
dy2_w1=tape.gradient(y2,w1)[0]
#验证链式法则,两个输出应该相等
print(dy2_y1*dy1_w1)
print(dy2_w1)
tf.Tensor(2.0, shape=(), dtype=float32)
tf.Tensor(2.0, shape=(), dtype=float32)

可以看出偏导数的传播是符合链式法则的。

关于全连接层梯度的链式法则相关推荐

  1. Python学习笔记--pytorch--随机梯度下降、神经网络与全连接层

    随机梯度下降 是一个向量,代表函数在某一个点增长的方向,模代表了在该点增长的速率 影响搜索过程的因素: 初始状态,学习率,动量 激活函数 1.torch.sigmoid (0,1) a=torch.l ...

  2. 8月2日Pytorch笔记——梯度、全连接层、GPU加速、Visdom

    文章目录 前言 一.常见函数的梯度 二.激活函数及其梯度 1.Sigmoid 2.Tanh 3.ReLU 三.Loss 函数及其梯度 1.Mean Squared Error(MSE) 2.Softm ...

  3. 全连接层的作用_python构建计算图2——全连接层

    (好久不更~)前文中,参照tensorflow的方式实现了简单的自动求导.接下来要在自动求导的基底(模板)上搭建简单的bp神经网络. 计算图 前文曾多次提到计算图,关于什么是计算图,有很多种说法.既然 ...

  4. 对于全连接层的理解 全连接层的推导

    全连接层的推导 全连接层的每一个结点都与上一层的所有结点相连,用来把前边提取到的特征综合起来.由于其全相连的特性,一般全连接层的参数也是最多的. 全连接层的前向计算 下图中连线最密集的2个地方就是全连 ...

  5. 【深度学习】(3) 全连接层、激活函数

    各位同学好,今天和大家分享一下tensorflow2.0深度学习中的相关操作.内容有: (1) 全连接层创建: tf.keras.Sequential(),tf.keras.layers.Dense( ...

  6. 【pytorch】pytorch自定义训练vgg16和测试数据集 微调resnet18全连接层

    自己定义模型 测试: correct = 0total = 0for data in test_loader:img,label = dataoutputs = net(Variable(img))_ ...

  7. 卷积神经网络CNN要点:CNN结构、采样层、全连接层、Zero-padding、激活函数及Dropout

    CNN结构: 卷积层:特征提取: 采样层:特征选择: 全连接层:根据特征进行分类. 采样层(pooling): max-pooling:克服卷积层权值参数误差: average-pooling:克服卷 ...

  8. 深度学习(22)神经网络与全连接层五: 误差计算

    深度学习(22)神经网络与全连接层五: 误差计算 1. MSE 2. Entropy(熵) 3. Cross Entropy 4. Binary Classification 5. Single ou ...

  9. 全连接层 时间复杂度_神经网络全连接层(3)

    CNN网络基础结构 神经网络-全连接层(3) 上一回我们聊完了算法,这回我们正式开始写代码.上回在做公式推导的时候,我们实际上只是针对一个数据样本进行推导,而实际中,计算和训练都是一批一批完成的.大多 ...

最新文章

  1. linux通过platform_match()匹配platform总线上的device和driver
  2. Selenium 自动化测试之道--Maven-TestNG
  3. 在腾讯云上安装mysql遇到的问题
  4. MySQL默认安装目录
  5. spring的AOP配置之@注解方式
  6. 计算机网络子网划分路由配置实验报告,洛阳理工学院+计算机网络+实验5子网划分路由配置...
  7. JS动态添加span等标签
  8. C#开源项目:SiMay远程控制管理系统
  9. dbunit使用_摆脱困境:在DbUnit数据集中使用空值
  10. 与计算机相关的社团活动,计算机社团活动记录.doc
  11. hint oracle qbname_从才oracle中找到所有列名为BANK_ACC,且BANK_ACC=000的项,并将BANK_ACC=000000的项修改为BANK_ACC=111...
  12. QMessageBox::information 自定义按钮
  13. Acer 4750 安装黑苹果_黑苹果 Mac OS 10.14.5 Mojave 安装
  14. pid控制车辆沿着圆弧轨迹跟踪
  15. Oracle PL/SQL 编程手册(SQL大全)
  16. 美国媒体称互联网不能成为低级趣味天堂
  17. STM32串口通信、串口调试助手
  18. Android视图绑定,设置控件点击事件不生效
  19. 全球最火的程序员学习路线!
  20. Git 切换分支的命令

热门文章

  1. web框架总结(django、flask)
  2. idea 关于spring boot实现自动编译
  3. OSI第六层:表示层功能作用
  4. 最大公约数与最小公约数!_只愿与一人十指紧扣_新浪博客
  5. 干货|python基础知识总结
  6. 【OpenCV 4开发详解】轮廓发现与绘制
  7. 青春就是一无所有,梦想就是坚持走下去
  8. python新手任务:python循环嵌套
  9. Linux包管理器apt/apt-get发现远程代码执行漏洞
  10. 理解shared_ptrT