对tensorflow 的模型保存和调用实例讲解

yipeiwu_com6年前Python基础

我们通常采用tensorflow来训练,训练完之后应当保存模型,即保存模型的记忆(权重和偏置),这样就可以来进行人脸识别或语音识别了。

1.模型的保存

# 声明两个变量
v1 = tf.Variable(tf.random_normal([1, 2]), name="v1")
v2 = tf.Variable(tf.random_normal([2, 3]), name="v2")
init_op = tf.global_variables_initializer() # 初始化全部变量
saver = tf.train.Saver() # 声明tf.train.Saver类用于保存模型
with tf.Session() as sess:
 sess.run(init_op)
 print("v1:", sess.run(v1)) # 打印v1、v2的值一会读取之后对比
 print("v2:", sess.run(v2))
  #定义保存路径,一定要是绝对路径,且用‘/ '分隔父目录与子目录
 saver_path = saver.save(sess, "C:/Users/Administrator/Desktop/tt/model.ckpt") # 将模型保存到save/model.ckpt文件
 print("Model saved in file:", saver_path)

2.模型的读取

直接读取模型时,可能会报错,我是用Spyder编译的,可以把Spyder关掉,再重新打开,就可以读取数据了。原因可能是:在模型保存时将变量初始化了。

import tensorflow as tf

# 使用和保存模型代码中一样的方式来声明变量
v1 = tf.Variable(tf.random_normal([1, 2]), name="v1")
v2 = tf.Variable(tf.random_normal([2, 3]), name="v2")
saver = tf.train.Saver() # 声明tf.train.Saver类用于保存模型
with tf.Session() as sess:
 saver.restore(sess, "C:/Users/Administrator/Desktop/tt/model.ckpt") # 即将固化到硬盘中的Session从保存路径再读取出来
 print("v1:", sess.run(v1)) # 打印v1、v2的值和之前的进行对比
 print("v2:", sess.run(v2))
 print("Model Restored")

以上这篇对tensorflow 的模型保存和调用实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python中使用ConfigParser解析ini配置文件实例

ini文件是windows中经常使用的配置文件,主要的格式为: 复制代码 代码如下: [Section1] option1 : value1 option2 : value2 pyth...

利用python和ffmpeg 批量将其他图片转换为.yuv格式的方法

由于跑编码的需要,所以需要制作一个.yuv格式的图片数据集,但是手头只有.jpg格式的,故记录下转换过程。其他图片格式也可以,代码里修改一下就行。 ①安装ffmpeg 官网(各种版本):...

在Django框架中编写Contact表单的教程

虽然我们一直使用书籍搜索的示例表单,并将起改进的很完美,但是这还是相当的简陋: 只包含一个字段,q。这简单的例子,我们不需要使用Django表单库来处理。 但是复杂一点的表单就需要多方面...

Python实现螺旋矩阵的填充算法示例

Python实现螺旋矩阵的填充算法示例

本文实例讲述了Python实现螺旋矩阵的填充算法。分享给大家供大家参考,具体如下: afanty的分析: 关于矩阵(二维数组)填充问题自己动手推推,分析下两个下表的移动规律就很容易咯。...

numpy中loadtxt 的用法详解

numpy中有两个函数可以用来读取文件,主要是txt文件, 下面主要来介绍这两个函数的用法 第一个是loadtxt, 其一般用法为 numpy.loadtxt(fname, dtype=...