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如何获取系统iops示例代码
Sep 06 Python
Python解析excel文件存入sqlite数据库的方法
Nov 15 Python
python的Crypto模块实现AES加密实例代码
Jan 22 Python
Python模块文件结构代码详解
Feb 03 Python
Python统计单词出现的次数
Apr 04 Python
python实现AES加密和解密
Mar 27 Python
了解不常见但是实用的Python技巧
May 23 Python
使用pyinstaller打包PyQt4程序遇到的问题及解决方法
Jun 24 Python
Python进程Multiprocessing模块原理解析
Feb 28 Python
详解Pycharm安装及Django安装配置指南
Sep 15 Python
python实现三壶谜题的示例详解
Nov 02 Python
python 统计代码耗时的几种方法分享
Apr 02 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性能优化准备篇图解PEAR安装
2011/12/05 PHP
php使用标签替换的方式生成静态页面
2015/05/21 PHP
PHP使用preg_split()分割特殊字符(元字符等)的方法分析
2017/02/04 PHP
baidu博客的编辑友情链接的新的层窗口!经典~支持【FF】
2007/02/09 Javascript
js+FSO遍历文件夹下文件并显示
2007/03/07 Javascript
很酷的javascript loading效果代码
2008/06/18 Javascript
ExtJS 下拉多选框lovcombo
2010/05/19 Javascript
HTML中setCapture、releaseCapture 使用方法浅析
2016/09/25 Javascript
简单理解js的prototype属性及使用
2016/12/07 Javascript
js实现自动图片轮播代码
2017/03/22 Javascript
基于jquery实现二级联动效果
2017/03/30 jQuery
JS实现二叉查找树的建立以及一些遍历方法实现
2017/04/17 Javascript
从源码看angular/material2 中 dialog模块的实现方法
2017/10/18 Javascript
JS实现调用本地摄像头功能示例
2018/05/18 Javascript
vue指令只能输入正数并且只能输入一个小数点的方法
2018/06/08 Javascript
js实现轮播图的完整代码
2020/10/26 Javascript
vue组件传值的实现方式小结【三种方式】
2020/02/05 Javascript
[02:42]决战东方!DOTA2亚洲邀请赛重启荣耀之争
2017/03/17 DOTA
python使用xpath中遇到:到底是什么?
2018/01/04 Python
儿童编程python入门
2018/05/08 Python
pytorch训练imagenet分类的方法
2018/07/27 Python
python 自定义对象的打印方法
2019/01/12 Python
浅谈PySpark SQL 相关知识介绍
2019/06/14 Python
18个Python脚本可加速你的编码速度(提示和技巧)
2019/10/17 Python
关于Flask项目无法使用公网IP访问的解决方式
2019/11/19 Python
python filecmp.dircmp实现递归比对两个目录的方法
2020/05/22 Python
如何用Python 实现全连接神经网络(Multi-layer Perceptron)
2020/10/15 Python
Python3 用matplotlib绘制sigmoid函数的案例
2020/12/11 Python
Mountain Warehouse波兰官方网站:英国户外品牌
2019/08/29 全球购物
专业幼师实习生自我鉴定范文
2013/12/08 职场文书
优秀民警事迹材料
2014/01/29 职场文书
创意广告词
2014/03/17 职场文书
升学宴主持词
2014/04/02 职场文书
未受刑事制裁公证证明
2014/09/20 职场文书
MySQL Innodb索引机制详细介绍
2021/11/23 MySQL
Java实现HTML转为Word的示例代码
2022/06/28 Java/Android