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 序列的方法总结
Oct 18 Python
Python实现计算两个时间之间相差天数的方法
May 10 Python
Python实现爬取需要登录的网站完整示例
Aug 19 Python
你眼中的Python大牛 应该都有这份书单
Oct 31 Python
简单实现python收发邮件功能
Jan 05 Python
Python爬虫实例扒取2345天气预报
Mar 04 Python
Python实现的生产者、消费者问题完整实例
May 30 Python
pytorch进行上采样的种类实例
Feb 18 Python
Python通过2种方法输出带颜色字体
Mar 02 Python
Python3.7下安装pyqt5的方法步骤(图文)
May 12 Python
python wsgiref源码解析
Feb 06 Python
python解决12306登录验证码的实现
Apr 18 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过滤所有恶意字符(批量过滤post,get敏感数据)
2014/03/18 PHP
php分页示例分享
2014/04/30 PHP
PHP中SSO Cookie登录分析和实现
2015/11/06 PHP
js批量设置样式的三种方法不推荐使用with
2013/02/25 Javascript
JS获取当前网址、主机地址项目根路径
2013/11/19 Javascript
jquery常用操作小结
2014/07/21 Javascript
js中匿名函数的创建与调用方法分析
2014/12/19 Javascript
jQuery遮罩层实现方法实例详解(附遮罩层插件)
2015/12/08 Javascript
如何使用PHP+jQuery+MySQL实现异步加载ECharts地图数据(附源码下载)
2016/02/23 Javascript
RequireJS使用注意细节
2016/05/15 Javascript
BootStrap 智能表单实战系列(二)BootStrap支持的类型简介
2016/06/13 Javascript
关于Vue.js 2.0的Vuex 2.0 你需要更新的知识库
2016/11/30 Javascript
JS设置随机出现2个数字的实例代码
2017/07/19 Javascript
微信小程序picker组件下拉框选择input输入框的实例
2017/09/20 Javascript
基于vue开发的在线付费课程应用过程
2018/01/25 Javascript
JS实现的3des+base64加密解密算法完整示例
2018/05/18 Javascript
vue axios post发送复杂对象问题
2019/06/04 Javascript
js中值引用和地址引用实例分析
2019/06/21 Javascript
bootstrap Table实现合并相同行
2019/07/19 Javascript
Webpack中loader打包各种文件的方法实例
2019/09/03 Javascript
JS数组的高级使用方法示例小结
2020/03/14 Javascript
利用原生JS实现欢乐水果机小游戏
2020/04/23 Javascript
使用Python简单的实现树莓派的WEB控制
2016/02/18 Python
python中星号变量的几种特殊用法
2016/09/07 Python
用python结合jieba和wordcloud实现词云效果
2017/09/05 Python
Python求出0~100以内的所有素数
2018/01/23 Python
Python使用 Beanstalkd 做异步任务处理的方法
2018/04/24 Python
荷兰之家英文站:Holland at Home
2016/10/26 全球购物
求职信结尾怎么写
2014/05/26 职场文书
经典演讲稿开场白
2014/08/25 职场文书
公司授权委托书样本
2014/09/15 职场文书
教师考核表个人总结
2015/02/12 职场文书
教师节联欢会主持词
2015/07/04 职场文书
环保建议书作文500字
2015/09/14 职场文书
2016年教师节感言
2015/12/09 职场文书
《围炉夜话》110句人生箴言,精辟有内涵,引人深思
2019/10/23 职场文书