Tensorflow---Saver和restore的用法

Saver的作用是将我们训练好的模型的参数保存下来,以便下一次继续用于训练或测试;Restore的用法是将训练好的参数提取出来。

1.Saver类训练完后,是以checkpoints文件形式保存。提取的时候也是从checkpoints文件中恢复变量。Checkpoints文件是一个二进制文件,它把变量名映射到对应的tensor值 。

2.通过for循环,Saver类可以自动的生成checkpoint文件。这样我们就可以保存多个训练结果。例如,我们可以保存每一步训练的结果。但是为了避免填满整个磁盘,Saver可以自动的管理Checkpoints文件。例如,我们可以指定保存最近的N个Checkpoints文件。

应用实例:

#保存变量import tensorflow as tf
# 创建两个变量
v1= tf.Variable(tf.random_normal([784, 200], stddev=0.35), name="v_1")
v2= tf.Variable(tf.zeros([200]), name="v_2")

# 添加用于初始化变量的节点
init_op = tf.global_variables_initializer()

# Create a saver.
saver = tf.train.Saver(tf.global_variables())

# 运行,保存变量
with tf.Session() as sess:
    tf.global_variables_initializer().run()
    for step in range(5000):
        sess.run(init_op)
        if step % 1000 == 0:       saver.save(sess,basicpath+‘my-model‘, global_step=step)
    print("v1 = ", v1.eval())
    print("v2 = ", v2.eval())

print_tensors_in_checkpoint_file(basicpath+"my-model-0", None, True) #通过这个方法,我们可以打印出保存了什么变量和值。        

恢复变量:

saver = tf.train.Saver()
with tf.Session() as sess:
    #tf.global_variables_initializer().run()
    module_file = tf.train.latest_checkpoint(‘C:/Users/defadiannao/Desktop/saver/‘)
    saver.restore(sess, module_file)
    #print("w1:", sess.run(v3))
    #print("b1:", sess.run(v4))
    print("w1:", sess.run(v1))
    print("b1:", sess.run(v2))
时间: 2024-07-31 00:29:35

Tensorflow---Saver和restore的用法的相关文章

TensorFlow Saver 保存最佳模型 tf.train.Saver Save Best Model

TensorFlow Saver 保存最佳模型 tf.train.Saver Save Best Model Checkmate is designed to be a simple drop-in solution for a very common Tensorflow use-case: keeping track of the best model checkpoints during training. The BestCheckpointSaver is a wrapper arou

莫烦tensorflow(9)-Save&Restore

import tensorflow as tfimport numpy as np ##save to file#rember to define the same dtype and shape when restore# W = tf.Variable([[1,2,3],[3,4,5]],dtype=tf.float32,name='Weights')# b = tf.Variable([[1,2,3]],dtype=tf.float32,name='biases') # init = tf

TensorFlow Saver的使用方法

我们经常在训练完一个模型之后希望保存训练的结果,这些结果指的是模型的参数,以便下次迭代的训练或者用作测试.Tensorflow针对这一需求提供了Saver类. Saver类提供了向checkpoints文件保存和从checkpoints文件中恢复变量的相关方法.Checkpoints文件是一个二进制文件,它把变量名映射到对应的tensor值 . 只要提供一个计数器,当计数器触发时,Saver类可以自动的生成checkpoint文件.这让我们可以在训练过程中保存多个中间结果.例如,我们可以保存每一

canvas 中save和restore的用法

在创建新的控件或修改现有的控件时,我们都会涉及到重写控件或View的onDraw方法. onDraw方法会传入一个Canvas对象,它是你用来绘制控件视觉界面的画布. 在onDraw方法里,我们经常会看到调用save和restore方法,它们到底是干什么用的呢? ? save:用来保存Canvas的状态.save之后,可以调用Canvas的平移.放缩.旋转.错切.裁剪等操作. ? restore:用来恢复Canvas之前保存的状态.防止save后对Canvas执行的操作对后续的绘制有影响. sa

11g RMAN Restore archivelog用法

I.备份所有归档日志文件 RMAN> BACKUP FORMAT '/u01/backup/arch_%U_%T' skip inaccessible filesperset 5 ARCHIVELOG ALL DELETE INPUT; II.使用RMAN方式清除 RMAN清除方式会自动清除磁盘上的归档日志文件,同时会释放控制文件中对应的归档日志的归档信息. 可以基于不同的条件来清除归档日志,如基于SCN,基于SEQUENCE,基于TIME等方式. 对于上述的三种方式又可以配合from, unt

Tensorflow define · Dyting's Blog

Tensorflow 概念 Tensor Tensor是TensorFlow中主要的数据结构,是一个多维数组.例如可以讲一小组图像集表示成一个四维的浮点数数组,这四个维度分别是[batch,height,width,channels]. 创建tensor有两种方式,一是直接用tensorflow自带的函数创建,二是用Python的numpy库创建. 第一种如下: 1 2 import tensorflow as tf tf.zeros([row_dim,col_dim]) 第二种方式: 1 2

TensorFlow 生成 .ckpt 和 .pb

原文:https://www.cnblogs.com/nowornever-L/p/6991295.html 1. TensorFlow  生成的  .ckpt 和  .pb 都有什么用? The .ckpt is the model given by tensorflow which includes all the weights/parameters in the model. The .pb file stores the computational graph. To make ten

tensorflow之freeze_gragh

主要了解下freeze_graph的用法 以及了解下freeze_graph_test的一些相关知识(据说具有很好的学习价值) freeze_graph.py源码链接: https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/tools/freeze_graph.py freeze_graph_test.py源码链接: https://github.com/tensorflow/tensorflow/blob/

机器学习之TensorFlow介绍

TensorFlow的概念很简单:使用python定义一个计算图,然后TensorFlow根据计算图生成高性能的c++代码. 如上图所示,使用图的方式实现了函数$f(x,y)=x^2y+y+2$的计算,在图中可以定义操作符和输入输出变量,基于此特性,TensorFlow能够实现分布式的计算,可以实现大量特征和实例的训练任务. 上图,显示了多个GPU计算的过程,TensorFlow有一下几个优点: 支持多平台,Windows, Linux,macOS,iOS,Android 提供了简单的pytho