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网络编程实例简析
Sep 26 Python
浅谈Python中用datetime包进行对时间的一些操作
Jun 23 Python
使用python调用zxing库生成二维码图片详解
Jan 10 Python
Python编程之列表操作实例详解【创建、使用、更新、删除】
Jul 22 Python
简单谈谈python中的lambda表达式
Jan 19 Python
Java实现的执行python脚本工具类示例【使用jython.jar】
Mar 29 Python
如何使用Python自动控制windows桌面
Jul 11 Python
python实现大文本文件分割
Jul 22 Python
详解基于Scrapy的IP代理池搭建
Sep 29 Python
python 实现端口扫描工具
Dec 18 Python
python 如何上传包到pypi
Dec 24 Python
Python实现学生管理系统(面向对象版)
Jun 24 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简单备份与还原MySql的方法
2016/05/09 PHP
Python中使用django form表单验证的方法
2017/01/16 PHP
如何简单地用YUI做JavaScript动画
2007/03/10 Javascript
js数据验证集合、js email验证、js url验证、js长度验证、js数字验证等简单封装
2010/05/15 Javascript
javascript一些实用技巧小结
2011/03/18 Javascript
js输出阴历、阳历、年份、月份、周示例代码
2014/01/29 Javascript
jQuery学习笔记之 Ajax操作篇(一) - 数据加载
2014/06/23 Javascript
jQuery CSS3相结合实现时钟插件
2016/01/08 Javascript
js和jquery实现监听键盘事件示例代码
2020/06/24 Javascript
ion content 滚动到底部会遮住一部分视图的快速解决方法
2016/09/06 Javascript
谈谈因Vue.js引发关于getter和setter的思考
2016/12/02 Javascript
JS实现课堂随机点名和顺序点名
2017/03/09 Javascript
javascript中的面向对象
2017/03/30 Javascript
利用node.js+mongodb如何搭建一个简单登录注册的功能详解
2017/07/30 Javascript
关于微信小程序bug记录与解决方法
2018/08/15 Javascript
浅谈js闭包理解
2019/03/28 Javascript
[54:10]Spirit vs NB Supermajor小组赛 A组败者组决赛 BO3 第一场 6.2
2018/06/03 DOTA
Python selenium 三种等待方式详解(必会)
2016/09/15 Python
Python网络编程 Python套接字编程
2017/09/13 Python
Python编程使用NLTK进行自然语言处理详解
2017/11/16 Python
Python基于Flask框架配置依赖包信息的项目迁移部署
2018/03/02 Python
Python切片工具pillow用法示例
2018/03/30 Python
关于Tensorflow中的tf.train.batch函数的使用
2018/04/24 Python
对Python中内置异常层次结构详解
2018/10/18 Python
对Python subprocess.Popen子进程管道阻塞详解
2018/10/29 Python
Python递归函数实例讲解
2019/02/27 Python
Django用户认证系统 Web请求中的认证解析
2019/08/02 Python
python函数的作用域及关键字详解
2019/08/20 Python
详解python路径拼接os.path.join()函数的用法
2019/10/09 Python
使用PyTorch实现MNIST手写体识别代码
2020/01/18 Python
Pandas的数据过滤实现
2021/01/15 Python
水果超市创业计划书
2014/01/27 职场文书
医学检验专业自荐信
2014/09/18 职场文书
2014保险公司内勤工作总结
2014/12/16 职场文书
关于Numpy之repeat、tile的用法总结
2021/06/02 Python
Python学习之异常中的finally使用详解
2022/03/16 Python