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 相关文章推荐
php使用递归与迭代实现快速排序示例
Jan 23 Python
python自定义类并使用的方法
May 07 Python
解决python写入mysql中datetime类型遇到的问题
Jun 21 Python
Flask web开发处理POST请求实现(登录案例)
Jul 26 Python
python3.5绘制随机漫步图
Aug 27 Python
python实现狄克斯特拉算法
Jan 17 Python
python itchat给指定联系人发消息的方法
Jun 11 Python
python argparser的具体使用
Nov 10 Python
Python Numpy 自然数填充数组的实现
Nov 28 Python
pytorch实现查看当前学习率
Jun 24 Python
python环境搭建和pycharm的安装配置及汉化详细教程(零基础小白版)
Aug 19 Python
Python3+SQLAlchemy+Sqlite3实现ORM教程
Feb 16 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实现WEB动态网页静态
2006/10/09 PHP
php数组编码转换示例详解
2014/03/11 PHP
PHP实现模仿socket请求返回页面的方法
2014/11/04 PHP
Thinkphp中volist标签mod控制一定记录的换行BUG解决方法
2014/11/04 PHP
PHP中rename()函数的妙用讲解
2019/02/28 PHP
Jquery 自定义动画概述及示例
2013/03/29 Javascript
JS 添加千分位与去掉千分位的示例
2013/07/11 Javascript
获取3个数组不重复的值的具体实现
2013/12/30 Javascript
点击显示指定元素隐藏其他同辈元素的方法
2014/02/19 Javascript
document.addEventListener使用介绍
2014/03/07 Javascript
HTML页面登录时的JS验证方法
2014/05/28 Javascript
Node.js中对通用模块的封装方法
2014/06/06 Javascript
Javascript实现单张图片浏览
2014/12/18 Javascript
jQuery 实现侧边浮动导航菜单效果
2014/12/26 Javascript
jQuery常用数据处理方法小结
2015/02/20 Javascript
JavaScript实现在标题栏上显示当前日期的方法
2015/03/19 Javascript
使用Jquery实现每日签到功能
2015/04/03 Javascript
Javascript中arguments对象的详解与使用方法
2016/10/04 Javascript
详解angular中的作用域及继承
2017/05/31 Javascript
vue2 设置router-view默认路径的实例
2018/09/20 Javascript
vue基于viewer实现的图片查看器功能
2019/04/12 Javascript
vue弹出框组件封装实例代码
2019/10/31 Javascript
python3生成随机数实例
2014/10/20 Python
python类的继承实例详解
2017/03/30 Python
Python实现图片尺寸缩放脚本
2018/03/10 Python
selenium+python设置爬虫代理IP的方法
2018/11/29 Python
Python实现FLV视频拼接功能
2020/01/21 Python
学python最电脑配置有要求么
2020/07/05 Python
Python selenium爬取微信公众号文章代码详解
2020/08/12 Python
仓库管理专业个人的自我评价
2013/12/30 职场文书
汉语言文学毕业求职信
2014/07/17 职场文书
群众路线个人剖析材料
2014/10/07 职场文书
成绩报告单家长评语
2014/12/30 职场文书
学期个人自我总结
2015/02/13 职场文书
机关单位2016年法制宣传日活动总结
2016/04/01 职场文书
OpenCV-Python实现油画效果的实例
2021/06/08 Python