使用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中查看文件名和文件路径
Mar 31 Python
Python读取MRI并显示为灰度图像实例代码
Jan 03 Python
Python多项式回归的实现方法
Mar 11 Python
python通过http下载文件的方法详解
Jul 26 Python
python 进程间数据共享multiProcess.Manger实现解析
Sep 23 Python
自适应线性神经网络Adaline的python实现详解
Sep 30 Python
TENSORFLOW变量作用域(VARIABLE SCOPE)
Jan 10 Python
python实现最速下降法
Mar 24 Python
IntelliJ 中配置 Anaconda的过程图解
Jun 01 Python
jupyter notebook 写代码自动补全的实现
Nov 02 Python
Python中的面向接口编程示例详解
Jan 17 Python
如何使用flask将模型部署为服务
May 13 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笔记之:AOP的应用
2013/04/24 PHP
php实现图形显示Ip地址的代码及注释
2014/01/20 PHP
PHP实现时间比较和时间差计算的方法示例
2017/07/24 PHP
WEB页子窗口(showModalDialog和showModelessDialog)使用说明
2009/10/25 Javascript
javascript与CSS复习(三)
2010/06/29 Javascript
QUnit jQuery的TDD框架
2010/11/04 Javascript
JavaScript表达式:URL 协议介绍
2013/03/10 Javascript
jquery如何把参数列严格转换成数组实现思路
2013/04/01 Javascript
JS 获取浏览器和屏幕宽高等信息代码
2014/03/31 Javascript
JavaScript 事件对象介绍
2015/04/13 Javascript
详解如何在项目中使用jest测试react native组件
2018/02/09 Javascript
Vue axios全局拦截 get请求、post请求、配置请求的实例代码
2018/11/28 Javascript
JS使用栈判断给定字符串是否是回文算法示例
2019/03/04 Javascript
jQuery+PHP+Ajax实现动态数字统计展示功能
2019/12/25 jQuery
vue学习笔记之slot插槽用法实例分析
2020/02/29 Javascript
vue3自定义dialog、modal组件的方法
2021/01/04 Vue.js
[00:32]2018DOTA2亚洲邀请赛Secret出场
2018/04/03 DOTA
[01:59]游戏“zheng”当时试玩会
2019/08/21 DOTA
Python爬虫番外篇之Cookie和Session详解
2017/12/27 Python
详解python的ORM中Pony用法
2018/02/09 Python
Python Django框架模板渲染功能示例
2019/11/08 Python
利用python实现AR教程
2019/11/20 Python
python yield和Generator函数用法详解
2020/02/10 Python
创造美妙香氛体验:Aera扩散器和香水
2018/11/25 全球购物
struct与class的区别
2014/02/03 面试题
优秀大学生求职自荐信范文
2014/04/19 职场文书
大学生个人先进事迹材料范文
2014/05/03 职场文书
民政局副局长民主生活会个人对照检查材料
2014/09/19 职场文书
四年级学生期末评语
2014/12/26 职场文书
物业前台接待岗位职责
2015/04/03 职场文书
教师信息技术学习心得体会
2016/01/21 职场文书
2016年圣诞节活动总结范文
2016/04/01 职场文书
导游词之江苏同里古镇
2019/11/18 职场文书
详解php中流行的rpc框架
2021/05/29 PHP
世界十大儿童漫画书排名,法国国宝漫画排第五,第二是轰动日本连环
2022/03/18 欧美动漫
Python&Matlab实现灰狼优化算法的示例代码
2022/03/21 Python