TensorFlow笔记之变量管理
2017-05-01 22:19
260 查看
TenssorFlow中通过变量名称获取变量,主要通过两个函数:
TensorFlow在创建变量时,它和
例如:
如果想用
另外
总结:
在使用
tf.get_variable和
tf.variable_scope
tf.get_variable
TensorFlow在创建变量时,它和
tf.Variable的功能基本等价的。
例如:
v = tf.get_variable("v", shape = [1], initializer = tf.constant_initializer(1.0)) v = tf.Variable(tf.constant(1.0, shape = [1], name = "v")
tf.get_variable和
tf.Variable最大的区别,在于指定变量名称的参数。对于前者,变量名称是一个必填的参数,它根据这个名字去创建或获取变量;对于后者,变量名称是一个选填的参数,用
name = "v"的形式给出。
tf.variable_scope
如果想用
tf.get_variable来获取一个已经创建的变量,需要通过tf.variable_scope函数来生成一个上下文管理器,并且明确指定在这个上下文管理器中,
tf.get_variable将直接获取已经生成的变量,例如:
#在生成上下文管理器时,将参数reuse设置为True。这样tf.get_variable函数将直接获取已经声明的变量。如果不设置reuse,将报错。 with tf.variable_scope("foo", reuse = True): v1 = tf.get_variable("v", [1])
另外
tf.variable_scope可以使用嵌套,另外,在命名空间内创建的变量名称将会带上这个命名空间名作为前缀。例如:
with tf.variable_scope("foo"): v2 = tf.get_variable("v", [1]) print(v2.name) #输出foo/v:0
总结:
在使用
tf.variable_scope和
tf.get_variable后,就不再需要将所有的变量作为参数传递到不同的函数中,可以理解为全局变量了。当第一次需要创建的时候,令
reuse= False;创建完之后,可以令
reuse= True进行训练更新。当参数很多时候,可以大大提高效率。
相关文章推荐
- Tensorflow学习笔记-变量管理
- Tensorflow语法学习笔记(一):变量:创建、初始化、保存和加载
- 83、Tensorflow中的变量管理
- Tensorflow的变量管理
- TensorFlow的变量管理:变量作用域机制
- TensorFLow变量管理与变量共享
- [RedHat笔记]第二课:时间表示、帮助命令、文本查看命令、实现用户管理及权限、BASH、变量、脚本
- tensorflow代码梳理3——变量管理(重要!)
- 83、Tensorflow中的变量管理
- Tensorflow基础:变量管理
- TensorFlow中的变量管理
- TensorFlow 变量管理
- Tensorflow 的变量管理
- Tensorflow 学习笔记之 共享变量(Sharing Variables)
- tensorflow 学习笔记之 变量的一些操作
- TensorFlow变量管理
- C++学习笔记(六)-- 类和对象 构造函数和析构函数 const成员函数 this指针 对象数组 堆栈管理变量
- UNIX环境编程学习笔记(16)——进程管理之进程环境变量 http://www.cnblogs.com/lienhua34/p/4005367.html
- tensorflow 变量生成 变量管理 tf.Variable & tf.get_variable & tf.variable_scope
- TensorFlow 入门 3 ——变量管理和模型持久化