使用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生成器的使用方法
Nov 21 Python
Python常用的日期时间处理方法示例
Feb 08 Python
Python中使用第三方库xlrd来写入Excel文件示例
Apr 05 Python
教你用Python脚本快速为iOS10生成图标和截屏
Sep 22 Python
python中json格式数据输出的简单实现方法
Oct 31 Python
详解如何使用Python编写vim插件
Nov 28 Python
Python实现的双色球生成功能示例
Dec 18 Python
Python实现的读取/更改/写入xml文件操作示例
Aug 30 Python
python3 实现的对象与json相互转换操作示例
Aug 17 Python
Jupyter加载文件的实现方法
Apr 14 Python
python实现socket简单通信的示例代码
Apr 13 Python
解决jupyter notebook图片显示模糊和保存清晰图片的操作
Apr 24 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
php中检查文件或目录是否存在的代码小结
2012/10/22 PHP
如何正确配置Nginx + PHP
2016/07/15 PHP
Yii框架连表查询操作示例
2019/09/06 PHP
extjs 初始化checkboxgroup值的代码
2011/09/21 Javascript
js自执行函数的几种不同写法的比较
2012/08/16 Javascript
JS封装的选项卡TAB切换效果示例
2016/09/20 Javascript
JavaScript实现打地鼠小游戏
2020/04/23 Javascript
jQuery easyui datagird编辑行删除行功能的实现代码
2018/09/20 jQuery
基于nodejs的雪碧图制作工具的示例代码
2018/11/05 NodeJs
vue动态加载SVG文件并修改节点数据的操作代码
2020/08/17 Javascript
Vue v-for中的 input 或 select的值发生改变时触发事件操作
2020/08/31 Javascript
vue 项目引入echarts 添加点击事件操作
2020/09/09 Javascript
[02:29]完美世界高校联赛上海赛区回顾
2015/12/15 DOTA
在Python的Django框架中用流响应生成CSV文件的教程
2015/05/02 Python
谈谈Python进行验证码识别的一些想法
2016/01/25 Python
Python学习之用pygal画世界地图实例
2017/12/07 Python
使用python画个小猪佩奇的示例代码
2018/06/06 Python
Python3.8对可迭代解包的改进及用法详解
2019/10/15 Python
Python 支持向量机分类器的实现
2020/01/15 Python
20行Python代码实现视频字符化功能
2020/04/13 Python
日本钓鱼渔具和户外用品网上商店:naturum
2016/08/07 全球购物
法国综合购物网站:RueDuCommerce
2016/09/12 全球购物
Original Penguin美国官网:布拉德皮特、强尼德普喜爱的服装品牌
2016/10/25 全球购物
波兰数码相机及配件网上商店: Cyfrowe.pl
2017/06/19 全球购物
英国PC组件和在线电脑商店:SCAN
2019/04/18 全球购物
Booking.com亚太地区:Booking.com APAC
2020/02/07 全球购物
SQL SERVER面试资料
2013/03/30 面试题
临床医学大学生求职信
2013/09/28 职场文书
无财产离婚协议书范本
2014/10/28 职场文书
2015年安全员工作总结范文
2015/04/22 职场文书
卫生保健工作总结2015
2015/05/18 职场文书
大队委员竞选稿
2015/11/20 职场文书
聘任书的格式及模板
2019/10/28 职场文书
MySQL8.0.24版本Release Note的一些改进点
2021/04/22 MySQL
Python - 10行代码集2000张美女图
2021/05/23 Python
Redis官方可视化工具RedisInsight安装使用教程
2022/04/19 Redis