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实现的摇骰子猜大小功能小游戏示例
Dec 18 Python
python利用socketserver实现并发套接字功能
Jan 26 Python
详解pandas的外部数据导入与常用方法
May 01 Python
python里运用私有属性和方法总结
Jul 08 Python
10分钟教你用python动画演示深度优先算法搜寻逃出迷宫的路径
Aug 12 Python
Numpy对数组的操作:创建、变形(升降维等)、计算、取值、复制、分割、合并
Aug 28 Python
Numpy将二维数组添加到空数组的实现
Dec 05 Python
在Sublime Editor中配置Python环境的详细教程
May 03 Python
Python中有几个关键字
Jun 04 Python
2021年的Python 时间轴和即将推出的功能详解
Jul 27 Python
使paramiko库执行命令时在给定的时间强制退出功能的实现
Mar 03 Python
Python中的变量与常量
Nov 11 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
php中设置index.php文件为只读的方法
2013/02/06 PHP
关于php支持分块与断点续传文件下载功能代码
2014/05/09 PHP
php操作xml入门之xml基本介绍及xml标签元素
2015/01/23 PHP
菜鸟学习JavaScript小实验之函数引用
2010/11/17 Javascript
javascript中节点的最近的相关节点访问方法
2013/03/20 Javascript
Jquery获取复选框被选中值的简单方法
2013/07/04 Javascript
setTimeout()与setInterval()方法区别介绍
2013/12/24 Javascript
JQuery EasyUI 日期控件如何控制日期选择区间
2014/05/05 Javascript
jQuery自动添加表单项的方法
2015/07/13 Javascript
javascript伸缩菜单栏实现代码分享
2015/11/12 Javascript
基于Jquery代码实现支持PC端手机端幻灯片代码
2015/11/17 Javascript
BootStrap Table对前台页面表格的支持实例讲解
2016/12/22 Javascript
基于node.js依赖express解析post请求四种数据格式
2017/02/13 Javascript
jquery仿微信聊天界面
2017/05/06 jQuery
基于JavaScript实现图片连播和联级菜单实例代码
2017/07/28 Javascript
vue.js内置组件之keep-alive组件使用
2018/07/10 Javascript
JavaScript基础之this和箭头函数详析
2019/09/05 Javascript
vue接通后端api以及部署到服务器操作
2020/08/13 Javascript
python代码制作configure文件示例
2014/07/28 Python
Python使用numpy实现BP神经网络
2018/03/10 Python
简单了解Python matplotlib线的属性
2019/06/29 Python
Python帮你识破双11的套路
2019/11/11 Python
pyCharm 实现关闭代码检查
2020/06/09 Python
Python更改pip镜像源的方法示例
2020/12/01 Python
Python3中的tuple函数知识点讲解
2021/01/03 Python
Python实现王者荣耀自动刷金币的完整步骤
2021/01/22 Python
18-35岁旅游团的全球领导者:Contiki
2017/02/08 全球购物
KIKO MILANO西班牙官网:意大利领先的化妆品和护肤品品牌
2019/05/03 全球购物
联想印度官方网上商店:Lenovo India
2019/08/24 全球购物
zooplus德国:便宜地订购动物用品、动物饲料、动物食品
2020/05/06 全球购物
家长会学生家长演讲稿
2013/12/29 职场文书
学习雷锋活动总结
2014/04/29 职场文书
如何书写授权委托书?
2019/06/25 职场文书
导游词之江西赣州
2019/10/15 职场文书
创业计划书之熟食店
2019/10/16 职场文书
PYTHON InceptionV3模型的复现详解
2022/05/06 Python