转载请注明出处:

http://www.cnblogs.com/darkknightzh/p/7198773.html

参考网址:

http://stackoverflow.com/questions/41265035/tensorflow-why-there-are-3-files-after-saving-the-model

1. 保存模型

tensorflow中saver使用如下代码保存模型时(假设程序位于/home/xxx/test,模型保存在/home/xxx/test/model。下面是简化的代码),使用下面的代码:

saver = tf.train.Saver(tf.trainable_variables(), max_to_keep=3)

saver.save(sess, 'model/model.ckpt', global_step=step, write_meta_graph=False)
if not os.path.exists(' model/model.meta'):
saver.export_meta_graph(metagraph_filename)

会保存下面这些文件:

每次都会保存.meta(可以判断是否有该文件,如果没有才保存)。

每次都会保存.ckpt-step.index和.ckpt-step.data-00000-of-00001文件(模型太大不清楚是否会有.ckpt-number.data-00000-of-00002等等文件)。

checkpoint文件内,会有下面的内容:

model_checkpoint_path: "/home/xxx/test/model/model.ckpt-16000"
all_model_checkpoint_paths: "/home/xxx/test/model/model.ckpt-12000"
all_model_checkpoint_paths: "/home/xxx/test/model/model.ckpt-14000"

2. 恢复模型参数,继续训练

当需要恢复某个模型的参数,继续进行训练时,可以使用下面的代码:

saver.restore(sess, ‘model/model.ckpt-16000’)

这样便可以恢复训练时的最后一个模型参数。

不需要加上后缀.index或者.data-00000-of-00001。

3. 直接载入meta graph及模型参数

在测试时,可以通过下面的代码直接通过meta graph构建网络、载入训练时得到的参数,并使用默认的session:

saver = tf.train.import_meta_graph(‘model/model.meta’)
saver.restore(tf.get_default_session(),’ model/model.ckpt-16000’)

(原)tensorflow保存模型及载入保存的模型的更多相关文章

  1. Keras保存模型并载入模型继续训练

    我们以MNIST手写数字识别为例 import numpy as np from keras.datasets import mnist from keras.utils import np_util ...

  2. TensorFlow 训练好模型参数的保存和恢复代码

    TensorFlow 训练好模型参数的保存和恢复代码,之前就在想模型不应该每次要个结果都要重新训练一遍吧,应该训练一次就可以一直使用吧. TensorFlow 提供了 Saver 类,可以进行保存和恢 ...

  3. (原+译)使用numpy.savez保存字典后读取的问题

    转载请注明出处: http://www.cnblogs.com/darkknightzh/p/7608928.html 参考网址; https://stackoverflow.com/question ...

  4. dedecms新建内容模型“把数据保存到数据库附加表时出错‘xxx’出错”错误的原因分析和解决方案(转)

    把数据保存到数据库附加表 `bc_addonarticle17` 时出错,请把相关信息提交给DedeCms官方.INSERT INTO `bc_addonarticle17`(aid,typeid,r ...

  5. 《逐梦旅程 WINDOWS游戏编程之从零开始》笔记10——三维天空的构建&三维粒子的实现&多游戏模型的载入

    第23章 三维天空的构建 目前描述三维天空的技术主要包括三种类型,直接来介绍使用最广泛的模拟技术,详细的描述可以见作者的博文. 天空盒(Sky Box),即放到场景的是一个立方体.它是目前使用最广泛的 ...

  6. Tensorflow object detection API 搭建物体识别模型(四)

    四.模型测试 1)下载文件 在已经阅读并且实践过前3篇文章的情况下,读者会有一些文件夹.因为每个读者的实际操作不同,则文件夹中的内容不同.为了保持本篇文章的独立性,制作了可以独立运行的文件夹目标检测. ...

  7. Tensorflow object detection API 搭建物体识别模型(一)

    一.开发环境 1)python3.5 2)tensorflow1.12.0 3)Tensorflow object detection API :https://github.com/tensorfl ...

  8. Tensorflow object detection API 搭建物体识别模型(二)

    二.数据准备 1)下载图片 图片来源于ImageNet中的鲤鱼分类,下载地址:https://pan.baidu.com/s/1Ry0ywIXVInGxeHi3uu608g 提取码: wib3 在桌面 ...

  9. Tensorflow 使用slim框架下的分类模型进行分类

    Tensorflow的slim框架可以写出像keras一样简单的代码来实现网络结构(虽然现在keras也已经集成在tf.contrib中了),而且models/slim提供了类似之前说过的object ...

随机推荐

  1. 如何回收vRealize Automation里被分配出去了的IP地址

    在vRealize里写代码部署虚机,时间长了,便出现了很多虚机在vCenter里不存在,但在vRealize里还存在的这台虚机的注册信息的现象.最直接的后果是,这些影子虚机会占着IP池里的IP地址不放 ...

  2. C# Win32控制台应用程序忽略 Ctrl + C,阻止程序退出

    C# Win32控制台应用程序忽略 Ctrl + C,阻止程序退出,这里使用到了Windows API SetConsoleCtrlHandler函数 注意:在VS中调试执行时,在处理程序例程中设置断 ...

  3. JAVA的Split小技巧

    在日常的开发中截取字符串必不可少,但是在JAVA中的Split截取有点特点的地方是         例如:            String str=1,2,3,; 那么  str.split(&q ...

  4. Docker创建虚机和swarm

    创建虚机: First, quickly create a virtual switch for your virtual machines (VMs) to share, so they will ...

  5. 迅为4412开发板Linux驱动教程——编写简单应用调用驱动

    Linux驱动教程:http://pan.baidu.com/s/1c0hljUS 编写简单应用调用驱动--头文件 • 打印头文件 – include <stdio.h>调用打印函数pri ...

  6. GPUImage简单滤镜使用(二)

    GPUImage中,提供了许多简单的的常用的滤镜.在上一篇文章讲了如何调节图像的亮度这片文章讲一下如何通过GPUImage调节图像的对比度,饱和度,曝光度,和白平衡(美图秀秀中的色温). 原图像 调整 ...

  7. windows 环境变量

    1.考虑下面的需求,进入cmd之后,我就想执行mysql客户端命令,而这需要转到mysql安装目录,找到mysql可执行文件,在这个目录下执行mysql命令.这样太麻烦,有没有好的解决办法? 2.使用 ...

  8. C++ 构造与析构的执行顺序

    1.代码如下:class A{public: int _Id; A():_Id(0) { printf("A[%d]\n",_Id); } ~A() { printf(" ...

  9. Vim的行号、语法显示等设置(.vimrc文件的配置)以及乱码解决

    在终端下使用vim进行编辑时,默认情况下,编辑的界面上是没有显示行号.语法高亮度显示.智能缩进 等功能的.为了更好的在vim下进行工作,需要手动设置一个配置文件:.vimrc.在启动vim时,当前用户 ...

  10. [转]Maven介绍,包括作用、核心概念、用法、常用命令、扩展及配置

    转自:http://www.trinea.cn/android/maven/ 两年半前写的关于Maven的介绍,现在看来都还是不错的,自己转下.写博客的一大好处就是方便自己以后查阅,自己总结的总是最靠 ...