這篇文章主要介紹了Tensorflow之Saver的用法詳解,現在分享給大家,也給大家做個參考。一起來看看吧
Saver的用法
1. Saver的背景介紹
我們經常在訓練完一個模型之後希望保存訓練的結果,這些結果指的是模型的參數,以便下次迭代的訓練或用作測試。 Tensorflow針對此需求提供了Saver類別。
Saver類別提供了向checkpoints檔案保存和從checkpoints檔案中復原變數的相關方法。 Checkpoints檔案是一個二進位文件,它把變數名稱映射到對應的tensor值 。
只要提供一個計數器,當計數器觸發時,Saver類別可以自動的產生checkpoint檔案。這讓我們可以在訓練過程中保存多個中間結果。例如,我們可以儲存每一步訓練的結果。
為了避免填滿整個磁碟,Saver可以自動的管理Checkpoints檔案。例如,我們可以指定儲存最近的N個Checkpoints檔案。
2. Saver的實例
下面以範例來敘述如何使用Saver類別
import tensorflow as tf import numpy as np x = tf.placeholder(tf.float32, shape=[None, 1]) y = 4 * x + 4 w = tf.Variable(tf.random_normal([1], -1, 1)) b = tf.Variable(tf.zeros([1])) y_predict = w * x + b loss = tf.reduce_mean(tf.square(y - y_predict)) optimizer = tf.train.GradientDescentOptimizer(0.5) train = optimizer.minimize(loss) isTrain = False train_steps = 100 checkpoint_steps = 50 checkpoint_dir = '' saver = tf.train.Saver() # defaults to saving all variables - in this case w and b x_data = np.reshape(np.random.rand(10).astype(np.float32), (10, 1)) with tf.Session() as sess: sess.run(tf.initialize_all_variables()) if isTrain: for i in xrange(train_steps): sess.run(train, feed_dict={x: x_data}) if (i + 1) % checkpoint_steps == 0: saver.save(sess, checkpoint_dir + 'model.ckpt', global_step=i+1) else: ckpt = tf.train.get_checkpoint_state(checkpoint_dir) if ckpt and ckpt.model_checkpoint_path: saver.restore(sess, ckpt.model_checkpoint_path) else: pass print(sess.run(w)) print(sess.run(b))
isTrain:用來區分訓練階段和測試階段,True表示訓練,False表示測試
train_steps:表示訓練的次數,例子中使用100
checkpoint_steps:表示訓練多少次保存一下checkpoints,例子中使用50
checkpoint_dir:表示checkpoints檔案的保存路徑,範例中使用目前路徑
2.1 訓練階段
#使用Saver.save()方法儲存模型:
sess:表示目前會話,目前會話記錄了目前的變數值
checkpoint_dir 'model.ckpt':表示儲存的檔案名稱
global_step:表示目前是第幾步
訓練完成後,目前目錄底下會多出5個檔案。
開啟名為「checkpoint」的文件,可以看到儲存記錄,和最新的模型儲存位置。
2.1測試階段
測試階段使用saver.restore()方法還原變數:
sess:表示目前會話,先前儲存的結果將會載入這個會話
ckpt.model_checkpoint_path:表示模型儲存的位置,不需要提供模型的名字,它會去查看checkpoint文件,看看最新的是誰,叫做什麼。
運行結果如下圖所示,載入了先前訓練的參數w和b的結果
相關推薦:
#tensorflow1.0學習之模型的儲存與復原(Saver)_python
以上是Tensorflow之Saver的用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

安装步骤:1、下载和安装Miniconda,根据操作系统选择适合的Miniconda版本,并按照官方指南进行安装;2、使用“conda create -n tensorflow_env python=3.7”命令创建一个新的Conda环境;3、激活Conda环境;4、使用“conda install tensorflow”命令安装最新版的TensorFlow;5、验证安装即可。

在本文中,我们将使用TensorFlow和Keras创建一个图像分类器,可以区分猫和狗的图像。为了做到这一点,我们将使用TensorFlow数据集中的cats_vs_dogs数据集。该数据集由25000张打过标签的猫和狗的图像组成,其中80%的图像用于训练,10%用于验证,10%用于测试。加载数据我们从使用TensorFlowDatasets加载数据集开始。将数据集拆分为训练集、验证集和测试集,分别占数据的80%、10%和10%,并定义一个函数来显示数据集中的一些样本图像。importtenso

Python函数介绍:abs函数的用法和示例一、abs函数的用法介绍在Python中,abs函数是一个内置函数,用于计算给定数值的绝对值。它可以接受一个数字参数,并返回该数字的绝对值。abs函数的基本语法如下:abs(x)其中,x是要计算绝对值的数值参数,可以是整数或浮点数。二、abs函数的示例下面我们将通过一些具体的示例来展示abs函数的用法:示例1:计算

安装步骤:1、确保已经安装了Python和pip;2、打开命令提示符或终端窗口,输入“pip install tensorflow”命令安装TensorFlow;3、若想安装CPU版本的TensorFlow,可以使用“pip install tensorflow-cpu”命令;4、安装完成后,即可在Python中使用TensorFlow。

Python函数介绍:isinstance函数的用法和示例Python是一门功能强大的编程语言,提供了许多内置函数,使得编程变得更加方便和高效。其中一个非常有用的内置函数是isinstance()函数。本文将介绍isinstance函数的用法和示例,并提供具体的代码示例。isinstance()函数用于判断一个对象是否是指定的类或类型的实例。该函数的语法如下

windows10常用快捷键可以为我们省去很多的时间,今天给大家介绍一些常用的快捷键用法,非常的方便快捷,下面一起来看看具体的使用方法吧。Win10快捷键用法介绍复制、粘贴和其他常规键盘快捷方式按此键执行此操作Ctrl+X剪切选定项Ctrl+C(或Ctrl+Insert)复制选定项Ctrl+V(或Shift+Insert)粘贴选定项Ctrl+Z撤消操作Alt+Tab在打开的应用之间切换Alt+F4关闭活动项,或者退出活动应用Windows徽标键+L锁定电脑Windows徽标键+D显示和隐藏桌面F

在机器学习飞速发展的今天,各种机器学习平台层出不穷,为了满足不同业务场景的需求,可以将机器学习的模型分别部署到 Android、iOS、Web 浏览器,让模型在端侧能够进行推演,从而发挥模型的潜能。其中TensorFlow.js 是 TensorFlow 的 JavaScript 版本,支持 GPU 硬件加速,可以运行在 Node.js 或浏览器环境中。它不但支持完全基于JavaScript 从头开发、训练和部署模型,也可以用来运行已有的 Python 版 TensorFlow 模型,或者基于现

随着人工智能和机器学习的日益发展,越来越多的开发者开始探索使用不同的技术构建机器学习算法和应用程序。而PHP作为一门通用性语言,也逐渐应用于人工智能领域。本文将介绍如何使用PHP和TensorFlow创建机器学习模型和神经网络应用程序,帮助开发者更好的掌握这项技术。PHP、TensorFlow简介PHP是一门脚本语言,适用于Web开发,可用于服务器端脚本,也


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

SublimeText3 Linux新版
SublimeText3 Linux最新版