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对Csv文件操作实例代码
May 12 Python
浅谈python中的占位符
Nov 09 Python
浅谈机器学习需要的了解的十大算法
Dec 15 Python
python机器学习理论与实战(六)支持向量机
Jan 19 Python
python实现Windows电脑定时关机
Jun 20 Python
分析经典Python开发工程师面试题
Apr 08 Python
pandas读取CSV文件时查看修改各列的数据类型格式
Jul 07 Python
如何使用repr调试python程序
Feb 28 Python
Python logging日志模块 配置文件方式
Jul 12 Python
python 决策树算法的实现
Oct 09 Python
如何使用python-opencv批量生成带噪点噪线的数字验证码
Dec 21 Python
Pytorch中的数据集划分&正则化方法
May 27 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
Blitz templates 最快的PHP模板引擎
2010/04/06 PHP
PHP微信红包API接口
2015/12/05 PHP
jQueryUI的Dialog的简单封装
2010/06/07 Javascript
document.all的一个比较完整的总结及案例
2013/01/31 Javascript
js生成随机数之random函数随机示例
2013/12/20 Javascript
可恶的ie8提示缺少id未定义
2014/03/20 Javascript
jquery.ajax之beforeSend方法使用介绍
2014/12/08 Javascript
深入学习JavaScript中的Rest参数和参数默认值
2015/07/28 Javascript
jQuery插件formValidator自定义函数扩展功能实例详解
2015/11/25 Javascript
jquery.Callbacks的实现详解
2016/11/30 Javascript
微信小程序 支付功能实现PHP实例详解
2017/05/12 Javascript
nodejs Assert中equal(),strictEqual(),deepEqual(),strictDeepEqual()比较
2017/09/18 NodeJs
python实现给数组按片赋值的方法
2015/07/28 Python
Python常用的内置序列结构(列表、元组、字典)学习笔记
2016/07/08 Python
python算法表示概念扫盲教程
2017/04/13 Python
python安装numpy&安装matplotlib& scipy的教程
2017/11/02 Python
python的unittest测试类代码实例
2017/12/07 Python
python抓取文件夹的所有文件
2018/02/27 Python
django3.02模板中的超链接配置实例代码
2020/02/04 Python
Python第三方包之DingDingBot钉钉机器人
2020/04/09 Python
Django bulk_create()、update()与数据库事务的效率对比分析
2020/05/15 Python
Pycharm自动添加文件头注释和函数注释参数的方法
2020/10/23 Python
python之pygame模块实现飞机大战完整代码
2020/11/29 Python
BSTN意大利:德国街头和运动文化高品质商店
2020/12/22 全球购物
Tuckernuck官网:经典的美国品质服装、鞋子和配饰
2021/01/11 全球购物
医院办公室主任职责
2013/12/29 职场文书
考试不及格检讨书
2014/01/09 职场文书
职务聘任书范文
2014/03/29 职场文书
市场营销策划方案
2014/06/11 职场文书
科级干部群众路线教育实践活动个人对照检查材料
2014/09/19 职场文书
2014年物流工作总结
2014/11/25 职场文书
护理专业自荐信范文
2015/03/06 职场文书
工作转正自我鉴定范文
2019/06/21 职场文书
Python中re模块的元字符使用小结
2022/04/07 Python
python pygame 开发五子棋双人对弈
2022/05/02 Python
Pygame游戏开发之太空射击实战敌人精灵篇
2022/08/05 Python