返回顶部
首页 > 资讯 > 精选 >如何使用tensorflow实现反向传播求导
  • 389
分享到

如何使用tensorflow实现反向传播求导

2023-06-15 05:06:40 389人浏览 薄情痞子
摘要

这篇文章给大家分享的是有关如何使用Tensorflow实现反向传播求导的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。看代码吧~X=tf.constant([-1,-2],dtype=tf.float32)w=tf

这篇文章给大家分享的是有关如何使用Tensorflow实现反向传播求导的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

看代码吧~

X=tf.constant([-1,-2],dtype=tf.float32)w=tf.Variable([2.,3.])truth=[3.,3.]Y=w*X# cost=tf.reduce_sum(tf.reduce_sum(Y*truth)/(tf.sqrt(tf.reduce_sum(tf.square(Y)))*tf.sqrt(tf.reduce_sum(tf.square(truth)))))cost=Y[1]*Yoptimizer = tf.train.GradientDescentOptimizer(1).minimize(cost)with tf.Session() as sess:    sess.run(tf.global_variables_initializer())    print(sess.run(Y))    print(sess.run(w))    print(sess.run(cost))     print(sess.run(Y))    sess.run(optimizer)     print(sess.run(w))

结果如下

如何使用tensorflow实现反向传播求导

W由[2,3]变成[-4,-25]

过程:

f=y0*y=w0*x0*w*x=[w1*x1*w0*x0,w1*x1*w1*x1,]

f对w0求导,得w1*x0*x1+0=6 ,所以新的w0=w0-6=-4

f对w1求导,得 w0*x0*x1+2*w1*x1*x1=28,所以新的w1=w1-28=-25

补充:【TensorFlow篇】--反向传播

一、前述

反向自动求导是 TensorFlow 实现的方案,首先,它执行图的前向阶段,从输入到输出,去计算节点
值,然后是反向阶段,从输出到输入去计算所有的偏导。

二、具体

1、举例

如何使用tensorflow实现反向传播求导

图是第二个阶段,在第一个阶段中,从 x =3和 y =4开始去计算所有的节点值

f ( x / y )=x 2 * y + y + 2

求解的想法是逐渐的从图上往下,计算 f ( x , y )的偏导,使用每一个连续的节点,直到我们到达变量节
点,严重依赖链式求导法则!

2.具体过程:

因为n7是输出节点,所以f=n7,所以?f/??7= 1

让我们继续往下走到n5节点,?f/??5=?f/??7∗??7/??5 . 我们已知?f/??7=1,所以我们需要知道??7/??5 ,因为n7=n5+n6,所以我们求得??7/??5=1,所以?f/??5=1*1=1

现在我们继续走到节点n4,?f/??4=?f/??5∗??5/??4,因为n5=n4*n2,我们求得�?5/??4=n2,?f/??4=1*4

沿着图一路向下,我们可以计算出所有节点,就能计算出 ??/?x= 24,??/?y= 10

那我们就可以利用和上面类似的方式方法去计算??/??

感谢各位的阅读!关于“如何使用tensorflow实现反向传播求导”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: 如何使用tensorflow实现反向传播求导

本文链接: https://lsjlt.com/news/278123.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何使用tensorflow实现反向传播求导
    这篇文章给大家分享的是有关如何使用tensorflow实现反向传播求导的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。看代码吧~X=tf.constant([-1,-2],dtype=tf.float32)w=tf...
    99+
    2023-06-15
  • 使用tensorflow 实现反向传播求导
    看代码吧~ X=tf.constant([-1,-2],dtype=tf.float32) w=tf.Variable([2.,3.]) truth=[3.,3.] Y=w*X ...
    99+
    2024-04-02
  • pytorch如何实现多个反向传播操作
    小编给大家分享一下pytorch如何实现多个反向传播操作,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!从一个错误说起:RuntimeError: Trying t...
    99+
    2023-06-15
  • Python怎么实现softmax反向传播
    这篇文章主要介绍“Python怎么实现softmax反向传播”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python怎么实现softmax反向传播”文章能帮助大家解决问题。反向传播求导可以看到,s...
    99+
    2023-07-05
  • 在pytorch中使用loss反向传播出现错误如何解决
    在pytorch中使用loss反向传播出现错误如何解决?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。解决办法:1. 给 loss.backward() 指定传递给后向的参数维度...
    99+
    2023-06-15
  • Python实现softmax反向传播的示例代码
    目录概念反向传播求导代码概念 softmax函数是常用的输出层函数,常用来解决互斥标签的多分类问题。当然由于他是非线性函数,也可以作为隐藏层函数使用 反向传播求导 可以看到,soft...
    99+
    2023-05-15
    Python实现softmax 反向传播 Python softmax 反向传播 Python 反向传播
  • Gluon如何处理反向传播和自动微分
    Gluon是MXNet深度学习框架的高级API之一,它提供了简单而灵活的接口来构建神经网络模型。Gluon内置了自动微分功能,可以自...
    99+
    2024-04-02
  • Python反向传播实现线性回归步骤详细讲解
    目录1. 导入包2. 生成数据3. 训练数据4. 绘制图像5. 代码1. 导入包 我们这次的任务是随机生成一些离散的点,然后用直线(y = w *x + b )去拟合 首先看一下我们...
    99+
    2024-04-02
  • pytorch实现梯度下降和反向传播图文详细讲解
    目录反向传播手动完成线性回归pytorch API完成线性回归优化器类实现反向传播 这里说一下我的理解,反向传播是相对于前向计算的,以公式J(a,b,c)=3(a+bc)为例,前向计...
    99+
    2023-05-17
    pytorch梯度下降 pytorch反向传播 pytorch梯度下降和反向传播
  • python如何实现反向遍历
    这篇文章给大家分享的是有关python如何实现反向遍历的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。反向遍历如果我们希望对列表从后往前依次输出,那么应该怎么做呢其实只要加入reversed函数就可以了:fruit...
    99+
    2023-06-27
  • 反向传播神经网络(BPNN)的实现(Python,附源码及数据集)
    文章目录 一、理论基础1、前向传播2、反向传播3、激活函数4、神经网络结构 二、BP神经网络的实现1、训练过程(BPNN.py)2、测试过程(test.py)3、测试结果4、参考源码及实验...
    99+
    2023-10-20
    python 神经网络 人工智能
  • Django如何实现url反向解析
    这篇文章给大家分享的是有关Django如何实现url反向解析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、代码中URL可以出现的位置一个是在HTML模板中,一个是在视图函数中:模板【HTML】中(1) <...
    99+
    2023-06-22
  • 如何使用Nginx反向代理来避免ajax跨域请求
    这篇文章主要介绍如何使用Nginx反向代理来避免ajax跨域请求,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!服务器上 nginx + tomcat ,其中 nginx 监听 80 ...
    99+
    2024-04-02
  • Python实现的人工神经网络算法示例【基于反向传播算法】
    本文实例讲述了Python实现的人工神经网络算法。分享给大家供大家参考,具体如下: 注意:本程序使用Python3编写,额外需要安装numpy工具包用于矩阵运算,未测试python2是否可以运行。 本程序实...
    99+
    2022-06-04
    算法 神经网络 示例
  • Python如何实现前向和反向自动微分
    本文小编为大家详细介绍“Python如何实现前向和反向自动微分”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python如何实现前向和反向自动微分”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1 自动微分许多经...
    99+
    2023-07-04
  • vue如何使用driver.js实现项目功能向导指引
    目录介绍安装使用突出显示单个元素高亮和弹出窗口定位弹出窗口创建功能介绍异步操作配置定义步骤API方法实战效果介绍 https://github.com/kamranahmedse/d...
    99+
    2023-03-08
    vue向导指引 vue使用driver.js
  • 如何使用JavaScript实现轮播图
    这篇文章主要介绍了如何使用JavaScript实现轮播图,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 wxml(使用官方的等等组件来展示...
    99+
    2024-04-02
  • Python 使用torch.autograd.grad实现对输入求导
    Differentiate the model input using torch.autograd.grad. 使用torch可以自动实现对网络参数的梯度计算,然而有时需要用到网络对输入变量的...
    99+
    2023-10-10
    自然语言处理 人工智能 语言模型 python 开发语言
  • wps表格如何实现竖向求和
    小编给大家分享一下wps表格如何实现竖向求和,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!wps表格竖向求和的方法:首先打开需要操作的WPS表格,点击求和目标单元格;然后点击开始选项卡中的【自动求和】;最后选择求和区间,并...
    99+
    2023-06-14
  • 如何使用python反向输出数字
    如何使用python反向输出数字?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。python的五大特点是什么python的五大特点:1.简单易学,开发程序时,专注的是解决问题...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作