# tf.get_current_name_scope

<br />

|---|
| [![](https://www.tensorflow.org/images/GitHub-Mark-32px.png) View source on GitHub](https://github.com/tensorflow/tensorflow/blob/v2.13.1/tensorflow/python/framework/ops.py#L6349-L6381) |

Returns current full name scope specified by [`tf.name_scope(...)`](https://www.tensorflow.org/versions/r2.13/api_docs/python/tf/name_scope)s.

    tf.get_current_name_scope()

For example,

    with tf.name_scope("outer"):
      tf.get_current_name_scope()  # "outer"

      with tf.name_scope("inner"):
        tf.get_current_name_scope()  # "outer/inner"

In other words, [`tf.get_current_name_scope()`](https://www.tensorflow.org/versions/r2.13/api_docs/python/tf/get_current_name_scope) returns the op name prefix that
will be prepended to, if an op is created at that place.

Note that [`@tf.function`](https://www.tensorflow.org/versions/r2.13/api_docs/python/tf/function) resets the name scope stack as shown below.

    with tf.name_scope("outer"):

      @tf.function
      def foo(x):
        with tf.name_scope("inner"):
          return tf.add(x * x)  # Op name is "inner/Add", not "outer/inner/Add"