tf.get_variable 和tf.variable_scope
2017-03-27 21:06
309 查看
变量共享主要涉及到两个函数:
1
先来看第一个函数: tf.get_variable。
tf.get_variable 和tf.Variable不同的一点是,前者拥有一个变量检查机制,会检测已经存在的变量是否设置为共享变量,如果已经存在的变量没有设置为共享变量,TensorFlow 运行到第二个拥有相同名字的变量的时候,就会报错。
为了解决这个问题,TensorFlow 又提出了 tf.variable_scope 函数:它的主要作用是,在一个作用域 scope 内共享一些变量,可以有如下几种用法:
1)
2
3
4
5
1
2
3
4
5
需要注意的是:最好不要设置 reuse 标识为 False,只在需要的时候设置 reuse 标识为 True。
2)
tf.get_variable(<name>, <shape>, <initializer>) 和 tf.variable_scope(<scope_name>)。1
1
先来看第一个函数: tf.get_variable。
tf.get_variable 和tf.Variable不同的一点是,前者拥有一个变量检查机制,会检测已经存在的变量是否设置为共享变量,如果已经存在的变量没有设置为共享变量,TensorFlow 运行到第二个拥有相同名字的变量的时候,就会报错。
为了解决这个问题,TensorFlow 又提出了 tf.variable_scope 函数:它的主要作用是,在一个作用域 scope 内共享一些变量,可以有如下几种用法:
1)
with tf.variable_scope("image_filters") as scope: result1 = my_image_filter(image1) scope.reuse_variables() # or #tf.get_variable_scope().reuse_variables() result2 = my_image_filter(image2)1
2
3
4
5
1
2
3
4
5
需要注意的是:最好不要设置 reuse 标识为 False,只在需要的时候设置 reuse 标识为 True。
2)
with tf.variable_scope("image_filters1") as scope1: result1 = my_image_filter(image1) with tf.variable_scope(scope1, reuse = True) result2 = my_image_filter(image2)
相关文章推荐
- tensorflow variable_scope,tf.name_scope, tf.variable, tf.get_varible
- tf.get_variable() vs tf.Variable(),tf.name_scope() vs tf.variable_scope()
- tf.variable和tf.get_Variable以及tf.name_scope和tf.variable_scope的区别
- tf.get_variable 和tf.variable_scope
- tensorflow学习之路(2-2):tf.variable_scope(),tf.name_scope(),tf.get_variable()的认识(补充)
- tensorflow 变量生成 变量管理 tf.Variable & tf.get_variable & tf.variable_scope
- tensorflow中使用tf.variable_scope和tf.get_variable的ValueError
- TensorFlow 学习(一)—— tf.get_variable() vs tf.Variable(),tf.name_scope() vs tf.variable_scope()
- tf.get_variable tf.variable_scope tf.name_scope
- TensorFlow 学习(一)—— tf.get_variable() vs tf.Variable(),tf.name_scope() vs tf.variable_scope()
- 【tensorflow】scope的使用以及tf.Variable()和tf.get_variable()的区别
- Tensorflow中tf.get_variable和tf.variable_scope的使用
- tf.get_variable() vs tf.Variable(),tf.name_scope() vs tf.variable_scope()
- tensorflow的共享变量,tf.Variable(),tf.get_variable(),tf.Variable_scope(),tf.name_scope()联系与区别
- tf.get_variable 和tf.variable_scope
- tensorflow学习之路(2-1):tf.variable_scope(), tf.name_scope(), tf.get_variable()的认识
- [Tensorflow]Sharing Variables 共享权值【tf.get_variable 和 tf.variable_scope】
- tf.variable_scope()和tf.name_scope(),tf.Variable()和tf.get_variable()
- tensorflow的共享变量,tf.Variable(),tf.get_variable(),tf.Variable_scope(),tf.name_scope()联系与区别
- tf.get_variable 和tf.variable_scope