变量_作用域和名称_作用域在TensorFlow 2中有什么用途吗?

变量_作用域和名称_作用域在TensorFlow 2中有什么用途吗?,tensorflow,tensorflow2.0,eager-execution,Tensorflow,Tensorflow2.0,Eager Execution,在TensorFlow 2中,急切执行是默认执行。不需要烦人的会话或占位符 例如,在堆栈溢出方面,有很多问题与名称范围,变量范围等有关,因为人们不理解这些函数背后的含义及其用途。本质上,这些函数用于命名基础计算图中的变量 variable\u scope、name\u scope等在TensorFlow 2中是否有任何目的或用途,并具有急切的执行?如果是这样,请提供一个示例?在TensorFlow 2中,您仍然可以使用已移动到TF2的tf.name\u scope 下面是一个例子 with tf

在TensorFlow 2中,急切执行是默认执行。不需要烦人的会话或占位符

例如,在堆栈溢出方面,有很多问题与
名称范围
变量范围
等有关,因为人们不理解这些函数背后的含义及其用途。本质上,这些函数用于命名基础计算图中的变量


variable\u scope
name\u scope
等在TensorFlow 2中是否有任何目的或用途,并具有急切的执行?如果是这样,请提供一个示例?

在TensorFlow 2中,您仍然可以使用已移动到TF2的
tf.name\u scope

下面是一个例子

with tf.name_scope("foo"):
    with tf.name_scope("bar"):
        v = tf.Variable([0], dtype=tf.float32, name="v")
        assert v.name == "foo/bar/v:0" 
但由于变量位于Tensorflow 2中,因此通过解决诸如
变量重用
依赖全局范围等缺点,Tensorflow 2有许多变化和改进
对于变量的这些更改,实际上没有必要使用
变量\u范围

但是如果您仍然需要使用variable_scope,您可以按照以下方式使用它

要控制变量命名,用户可以使用tf.name\u scope+tf.variable


您可以关注社区RFC,以获取有关变量从Tensorflow 1到Tensorflow 2的所有主要更改的详细信息。在Tensorflow 2中,您仍然可以使用已移动到TF2的
tf.name\u scope

下面是一个例子

with tf.name_scope("foo"):
    with tf.name_scope("bar"):
        v = tf.Variable([0], dtype=tf.float32, name="v")
        assert v.name == "foo/bar/v:0" 
但由于变量位于Tensorflow 2中,因此通过解决诸如
变量重用
依赖全局范围等缺点,Tensorflow 2有许多变化和改进
对于变量的这些更改,实际上没有必要使用
变量\u范围

但是如果您仍然需要使用variable_scope,您可以按照以下方式使用它

要控制变量命名,用户可以使用tf.name\u scope+tf.variable

您可以关注社区RFC,了解从Tensorflow 1到Tensorflow 2的变量的所有主要更改的详细信息