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文件读写操作与linux shell变量命令交互执行的方法
Jan 14 Python
Python的Django框架中TEMPLATES项的设置教程
May 29 Python
Python base64编码解码实例
Jun 21 Python
python 判断是否为正小数和正整数的实例
Jul 23 Python
Python pandas RFM模型应用实例详解
Nov 20 Python
在Python中使用MongoEngine操作数据库教程实例
Dec 03 Python
使用pyshp包进行shapefile文件修改的例子
Dec 06 Python
Python日志syslog使用原理详解
Feb 18 Python
如何在windows下安装Pycham2020软件(方法步骤详解)
May 03 Python
pycharm 添加解释器的方法步骤
Aug 31 Python
通俗讲解python 装饰器
Sep 07 Python
Ubuntu配置Pytorch on Graph (PoG)环境过程图解
Nov 19 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
很让人受教的 提高php代码质量36计
2012/09/05 PHP
php curl的深入解析
2013/06/02 PHP
php中$_GET与$_POST过滤sql注入的方法
2014/11/03 PHP
thinkphp文件引用与分支结构用法实例
2014/11/26 PHP
php中数据库连接方式pdo和mysqli对比分析
2015/02/25 PHP
PHP+jquery+CSS制作头像登录窗(仿QQ登陆)
2016/10/20 PHP
thinkPHP中_initialize方法实例分析
2016/12/05 PHP
Yii Framework框架开发微信公众平台示例
2020/04/26 PHP
jQuery的实现原理的模拟代码 -1 核心部分
2010/08/01 Javascript
基于jQuery的倒计时插件代码
2011/05/07 Javascript
深入理解javascript学习笔记(一) 编写高质量代码
2012/08/09 Javascript
jQuery Ajax()方法使用指南
2014/11/19 Javascript
JavaScript学习心得之概述
2015/01/20 Javascript
AJAX实现瀑布流触发分页与分页触发瀑布流的方法
2016/05/23 Javascript
jQuery实现表格元素动态创建功能
2017/01/09 Javascript
Mac下使用charles遇到的问题以及解决办法
2017/01/10 Javascript
Javascript循环删除数组中元素的几种方法示例
2017/05/18 Javascript
iscroll实现下拉刷新功能
2017/07/18 Javascript
解决option标签selected="selected"属性失效的问题
2017/11/06 Javascript
Redux实现组合计数器的示例代码
2018/07/04 Javascript
Vue一个案例引发的递归组件的使用详解
2018/11/15 Javascript
Vue中用props给data赋初始值遇到的问题解决
2018/11/27 Javascript
微信小程序中使用echarts的实现方法
2019/04/24 Javascript
JavaScript中的this原理及6种常见使用场景详解
2020/02/14 Javascript
如何手动实现一个 JavaScript 模块执行器
2020/10/16 Javascript
[02:52]2017DOTA2国际邀请赛中国区预选赛晋级之路
2017/07/03 DOTA
Python的Flask框架中实现简单的登录功能的教程
2015/04/20 Python
Python实现的数据结构与算法之链表详解
2015/04/22 Python
Python实现类似jQuery使用中的链式调用的示例
2016/06/16 Python
使用python爬虫获取黄金价格的核心代码
2018/06/13 Python
娇韵诗加拿大官网:Clarins加拿大
2017/11/20 全球购物
WebSphere 应用服务器都支持哪些认证
2013/12/26 面试题
业务部门经理岗位职责
2014/02/23 职场文书
工伤私了协议书范本
2014/11/24 职场文书
2014年就业工作总结
2014/11/26 职场文书
CSS3实现模糊背景的三种效果示例
2021/03/30 HTML / CSS