0. 网络冻结概念:

神经网络模型中存在大量的权重,这些参数在模型训练的过程中通过反向传播来不断更新,所参数使用的是变量。 冻结网络就是将这些变量转换为常量。

Tensorflow的Checkpoint或者SavedModels格式均采用多文件的方式存储,包含了对推理无用的冗余信息。而我们推理时希望模型尽可能的简单。所以就希望冻结(freeze)模型。

Tensorflow提供了冻结脚本。可以把模型转换为冻结网络。

tensorflow/freeze_graph.py at master · tensorflow/tensorflow · GitHub

python3 freeze_graph.py --input_graph=some_graph_def.pb \--input_checkpoint=model.ckpt-8361242 \--output_graph=/tmp/frozen_graph.pb \--output_node_names=softmax

Tensorflow训练的模型可以保存为ckpt格式或SaveModel。其中SaveModel与语言无关。

SavedModel时,将创建一个SavedModel目录,由assets目录,variables目录,saved_model.pb组成。

assets: 用于存放无侧室的辅助信息。

variables:存放变量信息。

saved_model.pb: 存放MaeGraphDef.

在Tensorflow2中,网咯冻结被弃用。但网络冻结的原理依然存在。

在OpenCV3中,加入了DNN模块,实现了一些基本的神经网络Layer。  之后又加入readNetFrom....()来加载模型。 但OpenCV不支持Tensorflow所推荐的SavedModel. 所以若要使用OpenCV DNN加载和推理,则模型首先要Freeze.

Tensorflow 网络冻结相关推荐

  1. pytorch网络冻结的三种方法区别:detach、requires_grad、with_no_grad

    pytorch网络冻结的三种方法区别:detach.requires_grad.with_no_grad 文章目录 pytorch网络冻结的三种方法区别:detach.requires_grad.wi ...

  2. pytorch训练网络冻结某些层

    引言:首先我们应该很清楚地知道冻结网络中的某些层有什么作用?如何进行相关的冻结设置?代码何如呢? 话不多说说,首先我们探讨第一个问题: 1.冻结网络的某些层有什么作用? 这个问题顾名思义就是冻结网络中 ...

  3. tensorflow导出冻结图模型

    导出推理图 python export_inference_graph.py \--alsologtostderr \--dataset_name=autohome \ #自定义数据集的名称--mod ...

  4. tensorflow 网络修剪 剪枝操作

    背景知识 模型剪枝(Model Pruning)是一种模型压缩方法,对深度神经网络的稠密连接引入稀疏性,通过将"不重要"的权值直接置零来减少非零权值数量,其历史可追溯到上世纪 90 ...

  5. 使用TensorFlow.js进行人脸触摸检测第1部分:将实时网络摄像头数据与深度学习配合使用

    目录 起点 将HTML5网络摄像头API与TensorFlow.js结合使用 检测脸部触摸 技术脚注 终点线 下一步是什么?我们是否可以在未经培训的情况下检测到面部触摸? 下载TensorFlowJS ...

  6. 深度学习框架-tensorflow进阶项目

    打算把这篇博客记录完之后,写一篇使用深度学习完成图像风格转换的博客,先立个标志,这篇博客希望能在春节期间完成,年后估计还有的忙. 目录 目录 保存和载入模型,使用谷歌的图像识别网络成立以来,V3进行图 ...

  7. 用TensorFlow训练一个物体检测器(手把手教学版)

    TensorFlow内包含了一个强大的物体检测API,我们可以利用这API来训练自己的数据集实现特殊的目标检测. 作者软硬件环境配置:CPU: i7-6800k (不重要,主流的CPU均可) OS: ...

  8. 简单完整地讲解tensorflow模型的保存和恢复

    http://blog.csdn.net/liangyihuai/article/details/78515913 在本教程主要讲到: 1. 什么是Tensorflow模型? 2. 如何保存Tenso ...

  9. Tensorflow:如何保存/恢复模型?

    在Tensorflow中训练模型后: 您如何保存经过训练的模型? 您以后如何还原此保存的模型? #1楼 对于TensorFlow版本<0.11.0RC1: 保存的检查点包含模型中Variable ...

最新文章

  1. WMI技术介绍和应用——查询桌面信息
  2. lua 访问oracle,lua链接oracle解决方法与步骤
  3. C++ Public, Protected, Private
  4. 17、Java Swing Timer:计时器组件
  5. 2.1、spring属性注入-Set方法注入
  6. 【☆】javascript数据类型拾遗
  7. QT的QAudioProbe类的使用
  8. linux下安装配置oracle
  9. 7-135 二叉搜索树的2层结点统计
  10. python写个验证码
  11. Redis 发布/订阅模式
  12. Python从菜鸟到高手(1):数字的奥秘
  13. promise.all是并发执行吗_你真的会用Volatile了吗?
  14. VC模拟鼠标的两种方式(SendMessage、mouse_event)
  15. OpenAI公开Dota 2论文:胜率99.4%,「手术」工具连续迁移训练
  16. 关于相机(摄相头)的选用
  17. 美学原理-杨宁课堂笔记
  18. 惊!用python将数据存到txt文件中发现顺序乱排或缺斤少两
  19. 4.19 C语言练习(已有一个已正序排好的9个元素的数组,今输入一个数要求按原来排序的规律将它插入数组中)
  20. Ant UI 的表单校验

热门文章

  1. 职称计算机考试系统2010'天宇考王10.0'(盒装)火爆销售!
  2. 1160: 6001 第几天?
  3. 用ExternalInterface实现Flex与外部容器交互
  4. 什么是防火墙的入站规则和出站规则
  5. 写春联:你写上联,AI写下联_副本
  6. ostringstream的用法
  7. 一加10T什么时候发布 一加10T配置如何
  8. [Android4.4.3] Nubia Z5S Mokee4.4.3 RC2.0 by syhost
  9. zephyr驱动介绍
  10. 【Java数据结构】实现双向链表