tensorflow 实现自定义梯度反向传播代码


Posted in Python onFebruary 10, 2020

以sign函数为例:

tensorflow 实现自定义梯度反向传播代码

sign函数可以对数值进行二值化,但在梯度反向传播是不好处理,一般采用一个近似函数的梯度作为代替,如上图的Htanh。在[-1,1]直接梯度为1,其他为0。

#使用修饰器,建立梯度反向传播函数。其中op.input包含输入值、输出值,grad包含上层传来的梯度
@tf.RegisterGradient("QuantizeGrad")
def sign_grad(op, grad):
 input = op.inputs[0]
 cond = (input>=-1)&(input<=1)
 zeros = tf.zeros_like(grad)
 return tf.where(cond, grad, zeros)
 
#使用with上下文管理器覆盖原始的sign梯度函数
def binary(input):
 x = input
 with tf.get_default_graph().gradient_override_map({"Sign":'QuantizeGrad'}):
  x = tf.sign(x)
 return x
 
#使用
x = binary(x)

以上这篇tensorflow 实现自定义梯度反向传播代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中使用tarfile压缩、解压tar归档文件示例
Apr 05 Python
Python的Flask框架中实现分页功能的教程
Apr 20 Python
Python实现字符串匹配算法代码示例
Dec 05 Python
python opencv实现图片旋转矩形分割
Jul 26 Python
Python设计模式之策略模式实例详解
Jan 21 Python
django重新生成数据库中的某张表方法
Aug 28 Python
PYTHON绘制雷达图代码实例
Oct 15 Python
python如何将两个txt文件内容合并
Oct 18 Python
python实现双色球随机选号
Jan 01 Python
Python图像处理库PIL的ImageFilter模块使用介绍
Feb 26 Python
python进度条显示之tqmd模块
Aug 22 Python
Python如何导出导入所有依赖包详解
Jun 08 Python
用Python做一个久坐提醒小助手的示例代码
Feb 10 #Python
Python3 元组tuple入门基础
Feb 09 #Python
Python3列表List入门知识附实例
Feb 09 #Python
Python 动态变量名定义与调用方法
Feb 09 #Python
python函数定义和调用过程详解
Feb 09 #Python
详解python 破解网站反爬虫的两种简单方法
Feb 09 #Python
Python字典深浅拷贝与循环方式方法详解
Feb 09 #Python
You might like
PHP mail 通过Windows的SMTP发送邮件失败的解决方案
2009/05/27 PHP
深入探究PHP的多进程编程方法
2015/08/18 PHP
php ajax confirm 删除实例详解
2019/03/06 PHP
php文件上传原理与实现方法详解
2019/12/20 PHP
prototype 学习笔记整理
2009/07/17 Javascript
jQuery UI-Draggable 参数集合
2010/01/10 Javascript
jQuery操作Select选择的Text和Value(获取/设置/添加/删除)
2013/03/06 Javascript
用C/C++来实现 Node.js 的模块(一)
2014/09/24 Javascript
jQuery实现跟随鼠标运动图层效果的方法
2015/02/02 Javascript
js实现点击文本框显示日期选择器特效代码分享
2020/05/21 Javascript
jquery带动画效果幻灯片特效代码
2015/08/27 Javascript
使用jquery插件qrcode生成二维码
2015/10/22 Javascript
Javascript中toFixed计算错误(依赖银行家舍入法的缺陷)解决方法
2017/08/22 Javascript
详解vue-cli本地环境API代理设置和解决跨域
2017/09/05 Javascript
vue-router路由懒加载和权限控制详解
2017/12/13 Javascript
angularJs中ng-model-options设置数据同步的方法
2018/09/30 Javascript
django使用channels2.x实现实时通讯
2018/11/28 Javascript
vue使用exif获取图片旋转,压缩的示例代码
2020/12/11 Vue.js
[48:27]EG vs Liquid 2018国际邀请赛淘汰赛BO3 第二场 8.25
2018/08/29 DOTA
Python之eval()函数危险性浅析
2014/07/03 Python
TensorFlow实现简单卷积神经网络
2018/05/24 Python
由Python编写的MySQL管理工具代码实例
2019/04/09 Python
Django中在xadmin中集成DjangoUeditor过程详解
2019/07/24 Python
Python随机数函数代码实例解析
2020/02/09 Python
css3实现信纸/同学录效果的示例代码
2018/12/11 HTML / CSS
一篇文章带你学习CSS3图片边框
2020/11/04 HTML / CSS
iphoneX 适配客户端H5页面的方法教程
2017/12/08 HTML / CSS
苏宁红孩子母婴商城:redbaby
2017/02/12 全球购物
北美最大的参茸药食商城:德成行
2020/12/06 全球购物
员工拾金不昧表扬信
2014/01/09 职场文书
给老师的道歉信
2014/01/11 职场文书
答谢会策划方案
2014/05/12 职场文书
十一国庆节“向国旗敬礼”主题班会活动方案
2014/09/27 职场文书
党内外群众意见范文
2015/06/02 职场文书
大学生各类奖学金申请书
2019/06/24 职场文书
html网页引入svg图片的4种方式
2022/08/05 HTML / CSS