tensorflow 变量空间

tf.Variable 和 tf.get_variable 区别

使用tf.Variable时,如果检测到命名冲突,系统会自己处理。使用tf.get_variable()时,系统不会处理冲突,而会报错
所以还是用tf.get_variable()好

name_scope 和 variable_scope

get_variable只看variable_scope, variable都看

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
In [47]: with tf.name_scope('nsc1'):
...: v1 = tf.Variable([1], name="v1")
...: with tf.variable_scope("vsc1"):
...: v2 = tf.Variable([1], name="v2")
...: v3 = tf.get_variable(name="v3", shape=[])
...:

In [48]: print v1.name
nsc1/v1:0

In [49]: print v2.name
nsc1/vsc1/v2:0

In [50]: print v3.name
vsc1/v3:0

请作者喝一杯咖啡☕️