这两个函数在大部分情况下是等价的,唯一的区别是在使用tf.get_variable函数时。
tf.get_variable函数不受tf.name_scope的影响。
# tf.variable_scope
with tf.variable_scope('foo'):
a = tf.get_variable('bar',[1])
print(a.name)#结果为foo/bar:0
# tf.name_scope
with tf.name_scope('a'):
a=tf.Variable([1])
print(a.name)#结果为a/Variable:0
b=tf.get_variable('b',[1])
print(b.name)#结果为b:0
两者结果比较:tf.get_variable创建的变量并不是a/b:0,而是b:0。这就表示了在tf.name_scope函数下,tf.get_variable不受其约束。
参考:https://www.cnblogs.com/MY0213/p/9270864.html