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解析发往本机的数据包示例 (解析数据包)
Jan 16 Python
Python编程中运用闭包时所需要注意的一些地方
May 02 Python
python密码错误三次锁定(实例讲解)
Nov 14 Python
Python RabbitMQ消息队列实现rpc
May 30 Python
pycharm的console输入实现换行的方法
Jan 16 Python
使用PyQtGraph绘制精美的股票行情K线图的示例代码
Mar 14 Python
PyQt QCombobox设置行高的方法
Jun 20 Python
Python split() 函数拆分字符串将字符串转化为列的方法
Jul 16 Python
python的mysql数据库建立表与插入数据操作示例
Sep 30 Python
15款Python编辑器的优缺点,别再问我“选什么编辑器”啦
Oct 19 Python
python如何在word中存储本地图片
Apr 07 Python
python 如何做一个识别率百分百的OCR
May 29 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下intval()和(int)转换使用与区别
2008/07/18 PHP
curl和libcurl的区别简介
2015/07/01 PHP
php进行ip地址掩码运算处理的方法
2016/07/11 PHP
php脚本守护进程原理与实现方法详解
2017/07/20 PHP
PHP实现的DES加密解密类定义与用法示例
2020/11/02 PHP
Ajax+PHP实现的删除数据功能示例
2019/02/12 PHP
更快的异步执行(setTimeout多浏览器)
2014/08/12 Javascript
基于NodeJS的前后端分离的思考与实践(三)轻量级的接口配置建模框架
2014/09/26 NodeJs
js实现完美兼容各大浏览器的人民币大小写相互转换
2015/10/29 Javascript
JavaScript时间操作之年月日星期级联操作
2016/01/15 Javascript
AngularJS基础 ng-readonly 指令简单示例
2016/08/02 Javascript
JS在Chrome浏览器中showModalDialog函数返回值为undefined的解决方法
2016/08/03 Javascript
深入理解React Native原生模块与JS模块通信的几种方式
2017/07/24 Javascript
解决JQuery全选/反选第二次失效的问题
2017/10/11 jQuery
学习Vue组件实例
2018/04/28 Javascript
JS使用Prim算法和Kruskal算法实现最小生成树
2019/01/17 Javascript
小程序如何支持使用 async/await详解
2019/09/12 Javascript
js中Function引用类型常见有用的方法和属性详解
2019/12/11 Javascript
微信小程序仿通讯录功能
2020/04/09 Javascript
Vue+element-ui添加自定义右键菜单的方法示例
2020/12/08 Vue.js
[02:44]完美大师赛主赛事淘汰赛第二日观众采访
2017/11/24 DOTA
Python实现的一个自动售饮料程序代码分享
2014/08/25 Python
Python语言实现将图片转化为html页面
2017/12/06 Python
使用python Telnet远程登录执行程序的方法
2019/01/26 Python
浅谈pytorch池化maxpool2D注意事项
2020/02/18 Python
Python编程快速上手——疯狂填词程序实现方法分析
2020/02/29 Python
Python新手如何理解循环加载模块
2020/05/29 Python
基于python计算滚动方差(标准差)talib和pd.rolling函数差异详解
2020/06/08 Python
康帕斯酒店预订:Compass Hospitality(支持中文)
2018/08/23 全球购物
英国电视和家用电器购物网站:rlrdistribution.co.uk
2018/11/20 全球购物
中西医结合临床医学专业大学生自荐信
2013/09/28 职场文书
《识字五》教学反思
2014/03/01 职场文书
征婚广告词
2014/03/17 职场文书
起诉离婚协议书样本
2014/11/25 职场文书
2015教师节通讯稿
2015/07/20 职场文书
读《瓦尔登湖》有感:每个人都需要一个瓦尔登湖
2019/10/17 职场文书