变量的保存重载和打印

我们通过tf.train.Saver()来保存和重载变量

实现是保存

# Create some variables.
v1 = tf.get_variable("v1", shape=[3], initializer = tf.zeros_initializer)
v2 = tf.get_variable("v2", shape=[5], initializer = tf.zeros_initializer)

inc_v1 = v1.assign(v1+1)
dec_v2 = v2.assign(v2-1)

# Add an op to initialize the variables.
init_op = tf.global_variables_initializer()

# Add ops to save and restore all the variables.
saver = tf.train.Saver()

# Later, launch the model, initialize the variables, do some work, and save the
# variables to disk.
with tf.Session() as sess:
  sess.run(init_op)
  # Do some work with the model.
  inc_v1.op.run()
  dec_v2.op.run()
  # Save the variables to disk.
  save_path = saver.save(sess, "/tmp/model.ckpt")
  print("Model saved in path: %s" % save_path)

通过调用saver的save方法来保存,返回一个str,代表了路径。

然后展示的是我们保存部分变量和重载:

tf.reset_default_graph()
# Create some variables.
v1 = tf.get_variable("v1", [3], initializer = tf.zeros_initializer)
v2 = tf.get_variable("v2", [5], initializer = tf.zeros_initializer)

# Add ops to save and restore only `v2` using the name "v2"
saver = tf.train.Saver({"v2": v2})

# Use the saver object normally after that.
with tf.Session() as sess:
  # Initialize v1 since the saver will not.
  v1.initializer.run()
  saver.restore(sess, "/tmp/model.ckpt")

  print("v1 : %s" % v1.eval())
  print("v2 : %s" % v2.eval())

如果Saver中不传入参数,则会将所有的变量都保存。传入字典,则会按照字典中的key-value对变量进行保存。

对于不需要feed数据就可以获取的值,比如Variable。我们可以直接使用variable.eval()将变量的值打印出来。

它相当于:

tf.get_default_session().run(t)

原文地址:https://www.cnblogs.com/superxuezhazha/p/9535265.html

时间: 2024-08-02 23:57:20

变量的保存重载和打印的相关文章

程序在运行过程中变量的保存位置与生命周期

本例说明了一个程序在运行的时候,各种变量所保存的位置.因为位置不同,自然,变量的生命周期也各不相同. 代码示例: #include <iostream> using namespace std; int nGNum1; void showStackAddress(){    cout<<"address of showStackAddress() is:\t["<<(void*)&showStackAddress<<"]

windows环境变量如何在cmd中打印

在windows的cmd下,用"set"命令可以得到全部的环境变量,如何想得到某个环境变量,直接这样"set path"就可以了. set不仅如何,还有其他功能,有机会再补充上来. windows环境变量如何在cmd中打印

matlab工作空间,变量的保存和载入

对于工作空间中变量的保存和载入可以使用save和load命令,详细的使用方法通过help指令获取(help save,help load). ?两条指令最常用的情况为: 1.% 保存整个工作空间至指定的mat文件FILE_PATH_NAME,如E:workspace.mat % 若已经存在同名的mat文件,该文件会被覆盖重写而不是追加 save FILE_PATH_NAME 2.% 保存指定的变量至指定的mat文件FILE_PATH_NAME % 若已经存在同名的mat文件,该文件会被覆盖重写而

JavaScript 变量类型 保存内存中的位置 和 引用

1. JavaScript变量 基本类型值在内存中占据固定大小的空间 因此被保存在栈内存中. 从一个变量向另一个变量复制基本来下的值 会创建这个值得一个副本. 引用类型的值是对象 保存在堆内存中. 包含引用类型值得变量实际上包含的并不是对象本身 而是一个指向该对象的指针. 从一个变量向另一个变量复制引用类型的值 复制的其实是指针 因此两个变量最终都指向同一个对象 2. 堆和栈 堆栈在数据结构里面的含义就是一组数据的存放方式 后进先出 push: 在最顶层加入数据 pop: 返回并移除最顶层的数据

Effective JavaScript Item 24 使用一个变量来保存arguments的引用

本系列作为Effective JavaScript的读书笔记. 假设需要一个API用来遍历若干元素,像下面这样: var it = values(1, 4, 1, 4, 2, 1, 3, 5, 6); it.next(); // 1 it.next(); // 4 it.next(); // 1 相应的实现可以是: function values() { var i = 0, n = arguments.length; return { hasNext: function() { return

C++静态成员函数,静态成员变量,运算符重载

当一个函数不属于某个具体的实例而属于整个类,那么这个函数最好写成静态成员函数,这样就可以直接用类名调用 Class::Func() 对于一般成员函数当用obj.Func()调用函数时,编译器会将其编译成TypeOf(obj)::Func()的样式,所以静态成员函数不能这么调用 友元函数和静态成员函数都不属于类,调用时都不会传入this,所以不可以使用 只让本类对象共享数据,让成员变量声明为static,静态数据成员的初始化要放在外面,class::name = value;因为其属于类,所以分配

JS达到Web指定保存的和打印功能的内容

背景 首先,说说文章的背景.近期手中的一个项目,因为需求中要求提供Web界面的打印功能.当然假设没有打印机,还能够提供保存到本地.项目组长把这个"小任务"分给了我.本着努力为组长分忧解难的思想,领了任务之后,就立即開始了工作. 问题 刚開始的时候.组长给了一个工具(jatoolsprinter)让我研究.我用了一个多小时的时间,做出了一个简单的Demo,然后就是各种的測试,因为 web 打印须要浏览器安装 ActiveX 组件.在随后的測试中,我用了几款浏览器.甚至把安全级别都调到了最

window.onbeforeunload 如果取消, 那么javascript变量会保存

function confirmQuit1() { if (ischanged) return 'it is changed !! '; else return 'no change .. '; } function why() { alert(ischanged ? "1" : "0"); } window.onbeforeunload = confirmQuit1; 1. 如果弹出窗口点击取消,那么ischanged值不会变化. 2. Firefox出于安全原因

关于在for循环中绑定事件打印变量i是最后一次。

其实函数引用的外部变量都是最后一次的值. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> #box{ width:100px; height:100px; background-color:pink; } </style> <