tensorflow获取预训练模型某层参数并赋值到当前网络指定层方式


Posted in Python onJanuary 24, 2020

已经有了一个预训练的模型,我需要从其中取出某一层,把该层的weights和biases赋值到新的网络结构中,可以使用tensorflow中的pywrap_tensorflow(用来读取预训练模型的参数值)结合Session.assign()进行操作。

这种需求即预训练模型可能为单分支网络,当前网络为多分支,我需要把单分支A复用到到多个分支去(B,C,D)。

tensorflow获取预训练模型某层参数并赋值到当前网络指定层方式

先导入对应的工具包

from tensorflow.python import pywrap_tensorflow

接下来的操作在一个tf.Session中进行

reader = pywrap_tensorflow.NewCheckpointReader(pre_train_model_path)

# 获取当前图可训练变量
trainable_variables = tf.trainable_variables()
# 需要赋值的当前网络层变量,这里只是随便起的名字。
restore_v_target_name = "fc_target"
# 需要的预训练模型中的某层的名字
restore_v_source_name = "fc_source"
for v in trainable_variables:
  if restore_v_target_name == v.name:
   # 回复weights和biases
    sess.run(
      tf.assign(v, reader.get_tensor(restore_v_source_name + "/weights"))) if "weights" in v.name else sess.run(
      tf.assign(v, reader.get_tensor(restore_v_source_name + "/biases")))

以上这篇tensorflow获取预训练模型某层参数并赋值到当前网络指定层方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python设计模式之观察者模式实例
Apr 26 Python
Python中比较特别的除法运算和幂运算介绍
Apr 05 Python
在Python中调用Ping命令,批量IP的方法
Jan 26 Python
python调用外部程序的实操步骤
Mar 04 Python
浅谈Python编程中3个常用的数据结构和算法
Apr 30 Python
cProfile Python性能分析工具使用详解
Jul 22 Python
使用 Python 清理收藏夹里已失效的网站
Dec 03 Python
python求一个字符串的所有排列的实现方法
Feb 04 Python
Python3使用腾讯云文字识别(腾讯OCR)提取图片中的文字内容实例详解
Feb 18 Python
Python semaphore evevt生产者消费者模型原理解析
Mar 18 Python
Python内置异常类型全面汇总
May 28 Python
学会迭代器设计模式,帮你大幅提升python性能
Jan 03 Python
keras获得某一层或者某层权重的输出实例
Jan 24 #Python
浅谈keras的深度模型训练过程及结果记录方式
Jan 24 #Python
关于Keras模型可视化教程及关键问题的解决
Jan 24 #Python
基于keras 模型、结构、权重保存的实现
Jan 24 #Python
Python 文件数据读写的具体实现
Jan 24 #Python
利用keras加载训练好的.H5文件,并实现预测图片
Jan 24 #Python
keras模型可视化,层可视化及kernel可视化实例
Jan 24 #Python
You might like
PHP4中session登录页面的应用
2008/07/25 PHP
使用php计算排列组合的方法
2013/11/13 PHP
PHP静态文件生成类实例
2014/11/29 PHP
php $_SESSION会员登录实例分享
2021/01/19 PHP
JavaScript中令你抓狂的魔术变量
2006/11/30 Javascript
javascript中普通函数的使用介绍
2013/12/19 Javascript
javascript计时器详解
2015/02/28 Javascript
javascript下拉框选项单击事件的例子分享
2015/03/04 Javascript
js手机号批量滚动抽奖实现代码
2020/04/17 Javascript
原生js实现可拖动的登录框效果
2017/01/21 Javascript
jQuery动态追加页面数据以及事件委托详解
2017/05/06 jQuery
JavaScript实现二叉树的先序、中序及后序遍历方法详解
2017/10/26 Javascript
详解JavaScript的BUG和错误
2018/05/07 Javascript
vue实现图片预览组件封装与使用
2019/07/13 Javascript
Vue props中Object和Array设置默认值操作
2020/07/30 Javascript
Js Snowflake(雪花算法)生成随机ID的实现方法
2020/08/26 Javascript
原生JS实现音乐播放器
2021/01/26 Javascript
opencv python 傅里叶变换的使用
2018/07/21 Python
Python实现输入二叉树的先序和中序遍历,再输出后序遍历操作示例
2018/07/27 Python
Python wxpython模块响应鼠标拖动事件操作示例
2018/08/23 Python
利用python和ffmpeg 批量将其他图片转换为.yuv格式的方法
2019/01/08 Python
Python 占位符的使用方法详解
2019/07/10 Python
Python之数据序列化(json、pickle、shelve)详解
2019/08/30 Python
让你的Python代码实现类型提示功能
2019/11/19 Python
浅谈django channels 路由误导
2020/05/28 Python
python实现PDF中表格转化为Excel的方法
2020/06/16 Python
python设置中文界面实例方法
2020/10/27 Python
纯css3实现思维导图样式示例
2018/11/01 HTML / CSS
研究生自荐信
2013/10/09 职场文书
英文简历中的自荐信范文
2013/12/14 职场文书
大学生先进事迹材料
2014/02/16 职场文书
优秀本科毕业生自荐信
2014/07/04 职场文书
吃空饷专项整治方案
2014/10/27 职场文书
药店营业员岗位职责
2015/04/14 职场文书
汤姆叔叔的小屋读书笔记
2015/06/30 职场文书
高中化学教学反思
2016/02/22 职场文书