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 相关文章推荐
wxPython 入门教程
Oct 07 Python
删除目录下相同文件的python代码(逐级优化)
May 25 Python
python中获得当前目录和上级目录的实现方法
Oct 12 Python
python3+mysql查询数据并通过邮件群发excel附件
Feb 24 Python
TensorFlow实现MLP多层感知机模型
Mar 09 Python
Python实现爬取马云的微博功能示例
Feb 16 Python
pytorch读取图像数据转成opencv格式实例
Jun 02 Python
Python爬虫爬取博客实现可视化过程解析
Jun 29 Python
Python scrapy爬取小说代码案例详解
Jul 09 Python
Python3爬虫关于识别点触点选验证码的实例讲解
Jul 30 Python
python使用布隆过滤器的实现示例
Aug 20 Python
Python爬虫基础之初次使用scrapy爬虫实例
Jun 26 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
虹吸壶是谁发明的?煮出来的咖啡好喝吗
2021/03/04 冲泡冲煮
fleaphp下不确定的多条件查询的巧妙解决方法
2008/09/11 PHP
php使用百度翻译api示例分享
2014/01/31 PHP
php倒计时出现-0情况的解决方法
2016/07/28 PHP
PHP实现留言板功能的详细代码
2017/03/25 PHP
Asp.net下利用Jquery Ajax实现用户注册检测(验证用户名是否存)
2010/09/12 Javascript
jquery滚动加载数据的方法
2015/03/09 Javascript
js获取ip和地区
2017/03/10 Javascript
详解在Angular项目中添加插件ng-bootstrap
2017/07/04 Javascript
JS实现匀加速与匀减速运动的方法示例
2017/09/04 Javascript
详解jQuery中的isPlainObject()使用方法
2018/02/27 jQuery
JavaScript实现一个带AI的井字棋游戏源码
2018/05/21 Javascript
vue实现绑定事件的方法实例代码详解
2019/06/20 Javascript
写一个Vue loading 插件
2020/11/09 Javascript
python使用fcntl模块实现程序加锁功能示例
2017/06/23 Python
python3+dlib实现人脸识别和情绪分析
2018/04/21 Python
python批量查询、汉字去重处理CSV文件
2018/05/31 Python
Django数据库类库MySQLdb使用详解
2019/04/28 Python
使用Python进行体育竞技分析(预测球队成绩)
2019/05/16 Python
django-allauth入门学习和使用详解
2019/07/03 Python
在jupyter notebook中调用.ipynb文件方式
2020/04/14 Python
python 带时区的日期格式化操作
2020/10/23 Python
termux中matplotlib无法显示中文问题的解决方法
2021/01/11 Python
纯CSS3实现滚动的齿轮动画效果
2014/06/05 HTML / CSS
Traffic People官网:女式花裙、上衣和连身裤
2020/10/12 全球购物
意大利时尚奢侈品店:D’Aniello Boutique
2021/01/19 全球购物
网络工程专业自荐信范文
2014/03/16 职场文书
财产公证书格式
2014/04/10 职场文书
贷款担保书范文
2014/05/13 职场文书
村党支部书记四风问题个人对照检查材料思想汇报
2014/10/06 职场文书
2016年全国爱眼日宣传教育活动总结
2016/04/05 职场文书
幼儿教师三分钟演讲稿
2019/06/21 职场文书
CSS实现章节添加自增序号的方法
2021/06/23 HTML / CSS
python ConfigParser库的使用及遇到的坑
2022/02/12 Python
Python Flask实现进度条
2022/05/11 Python
win10电脑关机快捷键是哪个 win10快速关机的几种方法
2022/08/14 数码科技