使用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实现KNN分类算法
Dec 22 Python
基于并发服务器几种实现方法(总结)
Dec 29 Python
python中(str,list,tuple)基础知识汇总
Feb 20 Python
一个简单的python爬虫程序 爬取豆瓣热度Top100以内的电影信息
Apr 17 Python
Python Requests库基本用法示例
Aug 20 Python
Django框架会话技术实例分析【Cookie与Session】
May 24 Python
django框架model orM使用字典作为参数,保存数据的方法分析
Jun 24 Python
使用python的turtle函数绘制一个滑稽表情
Feb 28 Python
matplotlib 画双轴子图无法显示x轴的解决方法
Jul 27 Python
python logging模块的使用
Sep 07 Python
Matplotlib可视化之添加让统计图变得简单易懂的注释
Jun 11 Python
python人工智能human learn绘图可创建机器学习模型
Nov 23 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中实现接收多个name相同但Value不相同表单数据实例
2015/02/03 PHP
详解php设置session(过期、失效、有效期)
2015/11/12 PHP
基础的WordPress插件制作教程
2015/11/24 PHP
Thinkphp整合微信支付功能
2016/12/14 PHP
php识别翻转iphone拍摄的颠倒图片
2018/05/17 PHP
PDO::setAttribute讲解
2019/01/29 PHP
thinkPHP5使用Rabc实现权限管理
2019/08/28 PHP
IE6下JS动态设置图片src地址问题
2010/01/08 Javascript
javascript中普通函数的使用介绍
2013/12/19 Javascript
几种二级联动案例(jQuery\Array\Ajax php)
2016/08/13 Javascript
JavaScript常见的五种数组去重的方式
2016/12/15 Javascript
JavaScript模拟实现自由落体效果
2018/08/28 Javascript
Vue slot用法(小结)
2018/10/22 Javascript
解决vue 界面在苹果手机上滑动点击事件等卡顿问题
2018/11/27 Javascript
用JS实现选项卡
2020/03/23 Javascript
微信小程序scroll-view实现滚动到锚点左侧导航栏点餐功能(点击种类,滚动到锚点)
2020/06/11 Javascript
Vue 组件复用多次自定义参数操作
2020/07/27 Javascript
Vue 根据条件判断van-tab的显示方式
2020/08/03 Javascript
Python实现可自定义大小的截屏功能
2018/01/20 Python
Selenium的使用详解
2018/10/19 Python
Python获取基金网站网页内容、使用BeautifulSoup库分析html操作示例
2019/06/04 Python
PyTorch中的padding(边缘填充)操作方式
2020/01/03 Python
python golang中grpc 使用示例代码详解
2020/06/03 Python
python怎么提高计算速度
2020/06/11 Python
python利用paramiko实现交换机巡检的示例
2020/09/22 Python
详解HTML5.2版本带来的修改
2020/05/06 HTML / CSS
英国精品买手店:Browns Fashion
2016/09/29 全球购物
鱼油专家:Omegavia
2016/10/10 全球购物
体验完美剃须:The Art of Shaving
2018/08/06 全球购物
波兰家居和花园家具专家:4Home
2019/05/26 全球购物
古驰英国官网:GUCCI英国
2020/03/07 全球购物
英国专业美容产品在线:Mylee(从指甲到脱毛)
2020/07/06 全球购物
递归计算如下递归函数的值(斐波拉契)
2012/02/04 面试题
房屋出售协议书
2014/04/10 职场文书
群众路线查摆问题及整改措施
2014/10/10 职场文书
MySQL添加索引特点及优化问题
2022/07/23 MySQL