tensorflow的变量命名空间问题

Posted jianglinliu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tensorflow的变量命名空间问题相关的知识,希望对你有一定的参考价值。

参考:https://blog.csdn.net/legend_hua/article/details/78875625

在tensorflow中,tf.get_variable函数的命名空间与tf.variable_scope()有关,与tf.name_space()无关。但是如果tf.name_space命名了某个变量,tf.get_variable()获取时会有冲突,他们在一个全局空间中,类似于c++的namespace。注意:在同一个scope中,同样名字的name_scope被声明第二次时, scope的名字并不会直接被复用出现,而是改名创建一个全新的scope。代码:

with tf.name_scope(‘a_1‘):
  with tf.name_scope(‘a_2‘):
    with tf.variable_scope(‘a_3‘):
      d = tf.Variable(1, name=‘d‘)
      print(d.name)    #输出a_1/a_2/a_3/d:0


    with tf.variable_scope(‘a_3‘):
      e = tf.Variable(1, name=‘e‘)
      print(e.name)    #输出a_1/a_2/a_3_1/d:0

以上是关于tensorflow的变量命名空间问题的主要内容,如果未能解决你的问题,请参考以下文章

为啥 TensorFlow 会在 TensorBoard 可视化中为我的变量创建额外的命名空间?

Tensorflow命名空间与计算图可视化

Tcl学习之--命名空间

Tcl学习之--命名空间

Python 命名空间与LEGB规则

C++ 项目相关知识命名空间