TensorFlow预训练模型在新图中权重部分加载
首先对预训练模型的scope一定要做好定义,不然恢复起来会比较麻烦。
这里使用tf.get_collection()
1、tf.get_collection(tf.GraphKeys.GLOBAL_VARIABLES,scope='name')
tf.get_collection(key,scope=None
)
Args:
key
: The key for the collection. For example, theGraphKeys
class contains many standard names for collections.scope
: (Optional.) If supplied, the resulting list is filtered to include only items whosename
attribute matches usingre.match
. Items without aname
attribute are never returned if a scope is supplied and the choice orre.match
means that ascope
without special tokens filters by prefix.
Returns:
The list of values in the collection with the given name
, or an empty list if no value has been added to that collection. The list contains the values in the order under which they were collected.
tf.get_collection(tf.GraphKeys.GLOBAL_VARIABLES)用于获取当前图下,给定指定name的所有变量,并返回由这些变量构成的list。
2、申请saver
saver = tf.train.Saver(var_list=var)
这里表示当前的这个saver只对var中的变量进行恢复,其余的不管
3、载入之前预训练的ckpt
saver.restore(sess,MODELPATH)
这里表示指定恢复的变量的权重是从MODELPATH里面来的,MODELPATH是之前预训练模型的ckpt
如果有多个这样的scope需要恢复的话可以多次重复上述步骤
最后,代码总结
var = tf.get_collection(tf.GraphKeys.GLOBAL_VARIABLES,scope='name1')
saver.restore(sess,MODELPATH1)var = tf.get_collection(tf.GraphKeys.GLOBAL_VARIABLES, scope='name2')
saver = tf.train.Saver(var_list=var)
TensorFlow预训练模型在新图中权重部分加载相关推荐
- OpenCV调用TensorFlow预训练模型
OpenCV调用TensorFlow预训练模型 [尊重原创,转载请注明出处]https://panjinquan.blog.csdn.net/article/details/80570120 强大Op ...
- 他山之石 | 预训练模型在华为推荐中的应用与探索
经过多年的技术进步,推荐系统场景已经从最开始的协同过滤,发展到了现在的深度学习为核心的阶段.随着深度学习模型的体量逐渐变大后,其优化的难度也在增大,特别在推理性能上的限制下,最后模型的效果提升受到了很 ...
- 5.1 Tensorflow:图与模型的加载与存储
这里写目录标题 前言 快速应用 存储与加载,简单示例 存储的文件 tf.train.Saver与存储文件的讲解 核心定义 存储文件的讲解 保存图与模型进阶 按迭代次数保存 按时间保存 更详细的解释 前 ...
- 在TensorFlow中使用pipeline加载数据
正文共2028个字,6张图,预计阅读时间6分钟. 前面对TensorFlow的多线程做了测试,接下来就利用多线程和Queue pipeline地加载数据.数据流如下图所示: 首先,A.B.C三个文件通 ...
- 插件化中Activity的加载
插件化中Activity的加载 前面一系列的文章中我们介绍了Android系统资源加载流程,最后引出插件化中资源加载的方法,完成了『资源动态加载』这一大块的介绍.本系列文章将重点介绍『代码动态加载』, ...
- PowerPoint 中缺少think-cell 加载项丨解决方案丨使用教程
若在 PowerPoint 中无法找到 think-cell,存在多种可能的原因.请循序尝试以下解决方案: 检查 think-cell 是否已在运行中 若 PowerPoint 功能区的插入选项卡中显 ...
- Python图片转gif(将静态图转化为分块加载的动态图)
简介 将静态图转化为分块加载的动态图 方案 1. PIL: 1. 创建背景图2. 将原图拆分成N块并依次合成到背景图的相应位置, 得到N张素材图3. 将N张素材图合成GIF2. pygifsicle对 ...
- Pytorch中的数据加载
Pytorch中的数据加载 1. 模型中使用数据加载器的目的 在前面的线性回归模型中,使用的数据很少,所以直接把全部数据放到模型中去使用. 但是在深度学习中,数据量通常是都非常多,非常大的,如此大量的 ...
- 浏览器中Javascript的加载和执行
在刚学习Javascript时曾对该问题在小组内做个一次StudyReport,发现其中的基础还是值得分析的. 从标题分析,可以加个Javascript的加载和执行分为两个阶段:加载.执行.而加载即浏 ...
最新文章
- 干货|python基础知识总结
- matlab选择结构
- C语言 malloc动态申请内存,存放数组
- 幽灵交易策略_幽灵交易者策略(附源代码)
- ide快捷键_一款好用的IDE怎么可以没有代码提示?
- IDEA2018部署jeesite3完美运行教程
- JetBrains:更改webstrom、IDEA等主题
- git 创建和合并分支
- wireshark display reference: https://www.wireshark.org/docs/dfref/
- 全国大学生数学竞赛学习笔记
- 重装系统备份找不到镜像文件_如何从Windows 7系统映像备份中提取单个文件
- [iOS] 组件化之一:MGJRouter的简单实用
- [M1]Daily Scum 9.26
- Objective-C 理解之方括号[ ]的使用
- ES5 ES6相关内容 day15
- 敏捷宣言的第五项原则
- 7-2 求π的近似值
- 浙江大学计算机学院足球队,男足校队|浙大男子普通生足球队荣获2020年浙江省青少年校园足球联赛(大学男子校园A组)冠军...
- Ubuntu折腾--优化wine 微信小黑框处理
- 洒水车问题(路线有单向有双向)