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文本操作相关模块
Jun 22 Python
NumPy 数学函数及代数运算的实现代码
Jul 18 Python
python中字符串内置函数的用法总结
Sep 13 Python
Python重新加载模块的实现方法
Oct 16 Python
python实现将文件夹下面的不是以py文件结尾的文件都过滤掉的方法
Oct 21 Python
详解重置Django migration的常见方式
Feb 15 Python
在Pytorch中使用样本权重(sample_weight)的正确方法
Aug 17 Python
Python 多线程,threading模块,创建子线程的两种方式示例
Sep 29 Python
Python中求对数方法总结
Mar 10 Python
基于python的opencv图像处理实现对斑马线的检测示例
Nov 29 Python
anaconda升级sklearn版本的实现方法
Feb 22 Python
pytorch查看网络参数显存占用量等操作
May 12 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中基本符号及使用方法
2010/03/23 PHP
php通过字符串调用函数示例
2014/03/02 PHP
php数组添加与删除单元的常用函数实例分析
2015/02/16 PHP
php同时使用session和cookie来保存用户登录信息的实现代码
2016/05/13 PHP
几款极品的javascript压缩混淆工具
2007/05/16 Javascript
javascript数字格式化通用类 accounting.js使用
2012/08/24 Javascript
js与C#进行时间戳转换
2014/11/14 Javascript
详解JavaScript中的客户端消息框架设计原理
2015/06/24 Javascript
JQuery组件基于Bootstrap的DropDownList(完整版)
2016/07/05 Javascript
Angular2表单自定义验证器的实现
2016/10/19 Javascript
nodejs+websocket实时聊天系统改进版
2017/05/18 NodeJs
AngularJS的$location使用方法详解
2017/10/19 Javascript
webpack打包node.js后端项目的方法
2018/03/10 Javascript
解决vue数组中对象属性变化页面不渲染问题
2018/08/09 Javascript
Vue动画事件详解及过渡动画实例
2019/02/09 Javascript
vscode中eslint插件的配置(prettier配置无效)
2019/09/10 Javascript
原生js实现商品筛选功能
2019/10/28 Javascript
javascript实现简单搜索功能
2020/03/26 Javascript
nodejs各种姿势断点调试的方法
2020/06/18 NodeJs
小程序实现tab标签页
2020/11/16 Javascript
Python中尝试多线程编程的一个简明例子
2015/04/07 Python
Python实现单词拼写检查
2015/04/25 Python
TensorFlow实现卷积神经网络CNN
2018/03/09 Python
使用NumPy和pandas对CSV文件进行写操作的实例
2018/06/14 Python
PyQt5内嵌浏览器注入JavaScript脚本实现自动化操作的代码实例
2019/02/13 Python
Python3.5面向对象程序设计之类的继承和多态详解
2019/04/24 Python
解决pyPdf和pyPdf2在合并pdf时出现异常的问题
2020/04/03 Python
CSS3的文字阴影—text-shadow的使用方法
2012/12/25 HTML / CSS
类、抽象类、接口的差异
2016/06/13 面试题
大学新生欢迎词
2014/01/10 职场文书
2014年商场超市庆元旦活动方案
2014/02/14 职场文书
元旦晚会感言
2014/03/12 职场文书
优秀团员事迹材料2000字
2014/08/20 职场文书
2015年小学校长工作总结
2015/05/19 职场文书
少年派的奇幻漂流观后感
2015/06/08 职场文书
Redis集群节点通信过程/原理流程分析
2022/03/18 Redis