TensorFlow梯度求解tf.gradients实例


Posted in Python onFebruary 04, 2020

我就废话不多说了,直接上代码吧!

import tensorflow as tf 

w1 = tf.Variable([[1,2]]) 
w2 = tf.Variable([[3,4]]) 

res = tf.matmul(w1, [[2],[1]]) 

grads = tf.gradients(res,[w1]) 

with tf.Session() as sess: 
 tf.global_variables_initializer().run()
 print sess.run(res)
 print sess.run(grads)

输出结果为:

[[4]]
[array([[2, 1]], dtype=int32)]

可以这样看res与w1有关,w1的参数设为[a1,a2],则:

2*a1 + a2 = res

所以res对a1,a2求导可得 [[2,1]]为w1对应的梯度信息。

import tensorflow as tf 
def gradient_clip(gradients, max_gradient_norm):
 """Clipping gradients of a model."""
 clipped_gradients, gradient_norm = tf.clip_by_global_norm(
   gradients, max_gradient_norm)
 gradient_norm_summary = [tf.summary.scalar("grad_norm", gradient_norm)]
 gradient_norm_summary.append(
  tf.summary.scalar("clipped_gradient", tf.global_norm(clipped_gradients)))

 return clipped_gradients
w1 = tf.Variable([[3.0,2.0]]) 
# w2 = tf.Variable([[3,4]]) 
params = tf.trainable_variables()
res = tf.matmul(w1, [[3.0],[1.]]) 
opt = tf.train.GradientDescentOptimizer(1.0)
grads = tf.gradients(res,[w1]) 
clipped_gradients = gradient_clip(grads,2.0)
global_step = tf.Variable(0, name='global_step', trainable=False)
#update = opt.apply_gradients(zip(clipped_gradients,params), global_step=global_step)
with tf.Session() as sess: 
 tf.global_variables_initializer().run()
 print sess.run(res)
 print sess.run(grads) 
 print sess.run(clipped_gradients)

以上这篇TensorFlow梯度求解tf.gradients实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现跨文件全局变量的方法
Jul 07 Python
Python中使用wxPython开发的一个简易笔记本程序实例
Feb 08 Python
基于Python实现文件大小输出
Jan 11 Python
完美解决Python2操作中文名文件乱码的问题
Jan 04 Python
Python+Selenium自动化实现分页(pagination)处理
Mar 31 Python
python使用代理ip访问网站的实例
May 07 Python
对python多线程中Lock()与RLock()锁详解
Jan 11 Python
python实现在函数中修改变量值的方法
Jul 16 Python
Python semaphore evevt生产者消费者模型原理解析
Mar 18 Python
使用Python操作MySQL的小技巧
Sep 10 Python
Python非单向递归函数如何返回全部结果
Dec 18 Python
如何理解python接口自动化之logging日志模块
Jun 15 Python
基于TensorFlow中自定义梯度的2种方式
Feb 04 #Python
tensorflow 查看梯度方式
Feb 04 #Python
opencv python图像梯度实例详解
Feb 04 #Python
TensorFlow设置日志级别的几种方式小结
Feb 04 #Python
Python 实现加密过的PDF文件转WORD格式
Feb 04 #Python
解决tensorflow打印tensor有省略号的问题
Feb 04 #Python
对Tensorflow中tensorboard日志的生成与显示详解
Feb 04 #Python
You might like
codeigniter显示所有脚本执行时间的方法
2015/03/21 PHP
php根据日期或时间戳获取星座信息和生肖等信息
2015/10/20 PHP
PHP编程中尝试程序并发的几种方式总结
2016/03/21 PHP
PHP封装函数实现生成随机的字符串验证码
2017/01/24 PHP
PHP生成随机数的方法总结
2018/03/01 PHP
php如何实现数据库的备份和恢复
2020/11/30 PHP
IE8 原生JSON支持
2009/04/13 Javascript
基于Jquery的开发个代阴影的对话框效果代码
2011/07/28 Javascript
javascript:void(0)是什么意思示例介绍
2013/11/17 Javascript
页面元素绑定jquery toggle后元素隐藏的解决方法
2014/03/27 Javascript
谷歌Chrome浏览器扩展程序开发小记
2016/01/06 Javascript
a标签跳转到指定div,jquery添加和移除class属性的实现方法
2016/10/10 Javascript
js 提交form表单和设置form表单请求路径的实现方法
2016/10/25 Javascript
JS通过调用微信API实现微信支付功能的方法示例
2017/06/29 Javascript
vue-ajax小封装实例
2017/09/18 Javascript
EasyUI实现下拉框多选功能
2017/11/07 Javascript
网页爬虫之cookie自动获取及过期自动更新的实现方法
2018/03/06 Javascript
clipboard在vue中的使用的方法示例
2018/10/19 Javascript
JavaScript 实现拖拽效果组件功能(兼容移动端)
2020/11/11 Javascript
vue3.0自定义指令(drectives)知识点总结
2020/12/27 Vue.js
[48:32]VGJ.T vs Fnatic 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python守护进程和脚本单例运行详解
2017/01/06 Python
关于Python面向对象编程的知识点总结
2017/02/14 Python
Python读取excel指定列生成指定sql脚本的方法
2018/11/28 Python
python实现简单flappy bird
2018/12/24 Python
python opencv实现gif图片分解的示例代码
2019/12/13 Python
Python3.7在anaconda里面使用IDLE编译器的步骤详解
2020/04/29 Python
通过实例了解Python异常处理机制底层实现
2020/07/23 Python
Move Free官方海外旗舰店:美国骨关节健康专业品牌
2017/12/06 全球购物
Linux上比较文件的命令都有哪些
2013/09/28 面试题
某公司部分笔试题
2013/11/05 面试题
高中生学习计划书
2014/09/15 职场文书
城市轨道交通工程职业生涯规划书范文
2014/09/16 职场文书
建设工程授权委托书
2014/09/22 职场文书
2015年度房地产工作总结
2015/04/09 职场文书
研讨会致辞
2015/07/31 职场文书