Tensorflow 自定义loss的情况下初始化部分变量方式


Posted in Python onJanuary 06, 2020

一般情况下,tensorflow里面变量初始化过程为:

#variables ...........
  #..................... 
  init = tf.initialize_all_variables()
  sess.run(init)

这里 tf.initialize_all_variables() 会初始化所有的变量。

实际过程中,假设有a, b, c三个变量,其中a已经被初始化了,只想单独初始化b,c,那么:

#variables ...
  ...
  init = tf.variables_initializer([b,c])
  sess.run(init)

此外,如果自行修改了optimizer,如下代码就会报错:

#definition of variables a, b, c ...
  ....
  my_optimizer = tf.train.RMSProp(learning_rate = 0.1).minimize(my_cost)
  init = tf.variables_initializer([b,c])
  sess.run(init)

这是因为自己定义的optimizer会生成新的variables,但是在init里面并没有初始化,所以无法访问,会报错。解决方法如下:

a = tf.Variables(...)      #line N
  temp = set(tf.all_variables()) 
  b = tf.Variables(...)
  c = tf.Variables(...) 
  #definition of my optimizer
  optimizer = tf.train.......
  init = tf.variables_initializer(set(tf.all_varialbles())-temp) # line M
  sess.run(init)

首先,temp = set(tf.all_variables()) 将该行(line N)代码之前的所有变量保存在temp中,接下来定义变量b, c,以及自定义的optimizer,然后 set(tf.all_varialbles()存储了改行(line M)之前的所有变量(包括optimizer生成的变量以及temp中所含的变量),set(tf.all_varialbles())-temp相减得到line N~M这几行定义的变量。

以上这篇Tensorflow 自定义loss的情况下初始化部分变量方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python提取网页中超链接的方法
Sep 18 Python
Python中一些不为人知的基础技巧总结
May 19 Python
python实现京东秒杀功能
Jul 30 Python
Python装饰器语法糖
Jan 02 Python
Python用Try语句捕获异常的实例方法
Jun 26 Python
python 怎样将dataframe中的字符串日期转化为日期的方法
Sep 26 Python
Python使用requests xpath 并开启多线程爬取西刺代理ip实例
Mar 06 Python
parser.add_argument中的action使用
Apr 20 Python
Python连接HDFS实现文件上传下载及Pandas转换文本文件到CSV操作
Jun 06 Python
总结python 三种常见的内存泄漏场景
Nov 20 Python
python实现马丁策略回测3000只股票的实例代码
Jan 22 Python
OpenCV-Python使用cv2实现傅里叶变换
Jun 09 Python
在flask中使用python-dotenv+flask-cli自定义命令(推荐)
Jan 05 #Python
通过 Python 和 OpenCV 实现目标数量监控
Jan 05 #Python
python中count函数简单用法
Jan 05 #Python
Python猴子补丁知识点总结
Jan 05 #Python
Python调用Windows API函数编写录音机和音乐播放器功能
Jan 05 #Python
django ajax发送post请求的两种方法
Jan 05 #Python
关于tensorflow的几种参数初始化方法小结
Jan 04 #Python
You might like
php二分法在IP地址查询中的应用
2008/08/12 PHP
腾讯QQ微博API接口获取微博内容
2013/10/30 PHP
自己写的兼容低于PHP 5.5版本的array_column()函数
2014/10/24 PHP
一个实用的php验证码类
2017/07/06 PHP
php设计模式之观察者模式实例详解【星际争霸游戏案例】
2020/03/30 PHP
弹出广告特效(一个IP只弹出一次)的代码
2007/07/27 Javascript
JS去除数组重复值的五种不同方法
2013/09/06 Javascript
js中substring和substr的定义和用法
2014/05/05 Javascript
javascript匿名函数实例分析
2014/11/18 Javascript
基于Jquery和html5实现炫酷的3D焦点图动画
2016/03/02 Javascript
js实现定时进度条完成后切换图片
2017/01/04 Javascript
BootStrap栅格系统、表单样式与按钮样式源码解析
2017/01/20 Javascript
Bootstrap 表单验证formValidation 实现远程验证功能
2017/05/17 Javascript
bootstrap表格内容过长时用省略号表示的解决方法
2017/11/21 Javascript
vue写h5页面的方法总结
2019/02/12 Javascript
微信小程序生成分享海报方法(附带二维码生成)
2019/03/29 Javascript
三步搞定:Vue.js调用Android原生操作
2020/09/07 Javascript
ES6字符串的扩展实例
2020/12/21 Javascript
web.py中调用文件夹内模板的方法
2014/08/26 Python
pandas.loc 选取指定列进行操作的实例
2018/05/18 Python
python numpy 一维数组转变为多维数组的实例
2018/07/02 Python
Python Series从0开始索引的方法
2018/11/06 Python
Python实现微信机器人的方法
2019/09/06 Python
Python基于WordCloud制作词云图
2019/11/29 Python
canvas与html5实现视频截图功能示例
2016/12/15 HTML / CSS
美国生日蛋糕店:Bake Me A Wish!
2017/02/08 全球购物
阿迪达斯德国官方网站:adidas德国
2017/07/12 全球购物
ToysRus日本官网:玩具反斗城
2018/09/08 全球购物
e路東瀛(JAPANiCAN)香港:日本旅游、日本酒店和温泉旅馆预订
2018/11/21 全球购物
几道Java和数据库的面试题
2013/05/30 面试题
怎样写好自我鉴定
2013/12/04 职场文书
人力资源部经理助理岗位职责
2014/03/04 职场文书
《北大荒的秋天》教学反思
2014/04/14 职场文书
“四风”问题的主要表现和危害思想汇报
2014/09/19 职场文书
2015年暑期社会实践方案
2015/07/14 职场文书
Redis 配置文件重要属性的具体使用
2021/05/20 Redis