使用tensorflow 实现反向传播求导


Posted in Python onMay 26, 2021

看代码吧~

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]*Y
optimizer = 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

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

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
学习python (2)
Oct 31 Python
python嵌套函数使用外部函数变量的方法(Python2和Python3)
Jan 31 Python
python Django批量导入数据
Mar 25 Python
Python实现替换文件中指定内容的方法
Mar 19 Python
python使用代理ip访问网站的实例
May 07 Python
python xlsxwriter创建excel图表的方法
Jun 11 Python
Python3获取电脑IP、主机名、Mac地址的方法示例
Apr 11 Python
python定时检测无响应进程并重启的实例代码
Apr 22 Python
Pandas 缺失数据处理的实现
Nov 04 Python
Python greenlet和gevent使用代码示例解析
Apr 01 Python
浅谈在JupyterNotebook下导入自己的模块的问题
Apr 16 Python
利用Python中的Xpath实现一个在线汇率转换器
Sep 09 Python
python基础学习之递归函数知识总结
TensorFlow的自动求导原理分析
Django分页器的用法你都了解吗
May 26 #Python
tensorflow中的梯度求解及梯度裁剪操作
May 26 #Python
python numpy中multiply与*及matul 的区别说明
May 26 #Python
python文本处理的方案(结巴分词并去除符号)
Django操作cookie的实现
May 26 #Python
You might like
PHP4实际应用经验篇(3)
2006/10/09 PHP
PHP错误Warning:mysql_query()解决方法
2015/10/24 PHP
Laravel中获取路由参数Route Parameters的五种方法示例
2017/09/29 PHP
PHP实现的折半查找算法示例
2017/12/19 PHP
PHP实现Redis单据锁以及防止并发重复写入
2018/04/10 PHP
javascript一些不错的函数脚本代码
2008/09/10 Javascript
Jquery实战_读书笔记1—选择jQuery
2010/01/22 Javascript
爆炸式的JS圆形浮动菜单特效代码
2010/03/03 Javascript
基于JQuery 的消息提示框效果代码
2011/07/31 Javascript
分页栏的web标准实现
2011/11/01 Javascript
JQuery操作tr和td内容的方法实例
2013/03/06 Javascript
jquery无刷新验证邮箱地址实现实例
2014/02/19 Javascript
Javascript之BOM(window对象)详解
2016/05/25 Javascript
JS跨域交互(jQuery+php)之jsonp使用心得
2016/07/01 Javascript
jquery uploadify隐藏上传进度的实现方法
2017/02/06 Javascript
深入理解Commonjs规范及Node模块实现
2017/05/17 Javascript
微信小程序的分类页面制作
2017/06/27 Javascript
JS实现移动端按首字母检索城市列表附源码下载
2017/07/05 Javascript
如何将你的AngularJS1.x应用迁移至React的方法
2018/02/01 Javascript
jQuery实现的回车触发按钮事件功能示例
2018/03/25 jQuery
使用vue点击li,获取当前点击li父辈元素的属性值方法
2018/09/12 Javascript
浅谈JavaScript中this的指向问题
2020/07/28 Javascript
详谈python read readline readlines的区别
2017/09/22 Python
Python利用matplotlib做图中图及次坐标轴的实例
2019/07/08 Python
Python项目打包成二进制的方法
2020/12/30 Python
Canvas系列之滤镜效果
2019/02/12 HTML / CSS
德国骆驼商店:ActiveFashionWorld
2017/11/18 全球购物
优质有机椰子产品:Dr. Goerg
2019/09/24 全球购物
专业销售业务员求职信
2013/11/18 职场文书
大学毕业生通用自我评价
2014/01/05 职场文书
教师试用期自我鉴定
2014/02/12 职场文书
技校学生个人职业生涯规划范文
2014/03/03 职场文书
安全生产目标责任书
2014/04/14 职场文书
花田少年史观后感
2015/06/16 职场文书
2016年清明节期间群众祭祀活动工作总结
2016/04/01 职场文书
python获取对象信息的实例详解
2021/07/07 Python