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之间的那些事
Jan 07 Python
Python中单、双下划线的区别总结
Dec 01 Python
利用Python如何批量更新服务器文件
Jul 29 Python
influx+grafana自定义python采集数据和一些坑的总结
Sep 17 Python
python解析含有重复key的json方法
Jan 22 Python
解决python写入带有中文的字符到文件错误的问题
Jan 31 Python
我用Python抓取了7000 多本电子书案例详解
Mar 25 Python
python tkinter窗口最大化的实现
Jul 15 Python
python调用支付宝支付接口流程
Aug 15 Python
python实现发送form-data数据的方法详解
Sep 27 Python
python框架flask表单实现详解
Nov 04 Python
浅谈在django中使用filter()(即对QuerySet操作)时踩的坑
Mar 31 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
PHPMyAdmin 快速配置方法
2009/05/11 PHP
解决PHP4.0 和 PHP5.0类构造函数的兼容问题
2013/08/01 PHP
WordPress中自定义后台管理界面配色方案的小技巧
2015/12/29 PHP
javascript 限制输入和粘贴(IE,firefox测试通过)
2008/11/14 Javascript
JS 页面计时器示例代码
2013/10/28 Javascript
javascript实现带节日和农历的日历特效
2015/02/01 Javascript
weUI应用之JS常用信息提示弹层的封装
2016/11/21 Javascript
vue引入swiper插件的使用实例
2017/07/19 Javascript
jQuery UI实现动画效果代码分享
2018/08/19 jQuery
修改vue源码实现动态路由缓存的方法
2020/01/21 Javascript
windows下create-react-app 升级至3.3.1版本踩坑记
2020/02/17 Javascript
vue-cli4.0多环境配置变量与模式详解
2020/12/30 Vue.js
[02:34]肉山说——泡妞篇
2014/09/16 DOTA
python实现同时给多个变量赋值的方法
2015/04/30 Python
Python实现数通设备端口使用情况监控实例
2015/07/15 Python
对python3 一组数值的归一化处理方法详解
2018/07/11 Python
Python分割指定页数的pdf文件方法
2018/10/26 Python
python实现简单加密解密机制
2019/03/19 Python
Python中Unittest框架的具体使用
2019/08/27 Python
Tensorflow进行多维矩阵的拆分与拼接实例
2020/02/07 Python
python爬虫实现获取下一页代码
2020/03/13 Python
Python 找出出现次数超过数组长度一半的元素实例
2020/05/11 Python
Python3中FuzzyWuzzy库实例用法
2020/11/18 Python
简单几步用纯CSS3实现3D翻转效果
2019/01/17 HTML / CSS
介绍一下MYSQL常用的优化技巧
2012/10/25 面试题
乡下人家教学反思
2014/02/01 职场文书
《长城和运河》教学反思
2014/04/14 职场文书
企业务虚会发言材料
2014/10/20 职场文书
高中校园广播稿
2014/10/21 职场文书
课堂打架检讨书200字
2014/11/21 职场文书
综合测评个人总结
2015/03/03 职场文书
刘胡兰观后感
2015/06/16 职场文书
文明和谐家庭事迹材料(2016精选版)
2016/02/29 职场文书
JavaScript高级程序设计之基本引用类型
2021/11/17 Javascript
Python必备技巧之字符数据操作详解
2022/03/23 Python
win10输入法不见了只能打出字母怎么解决?
2022/08/05 数码科技