View source on GitHub |
A context manager for use when defining a Python op.
tf.name_scope(
name
)
This context manager pushes a name scope, which will make the name of all operations added within it have a prefix.
For example, to define a new Python op called my_op
:
def my_op(a, b, c, name=None):
with tf.name_scope("MyOp") as scope:
a = tf.convert_to_tensor(a, name="a")
b = tf.convert_to_tensor(b, name="b")
c = tf.convert_to_tensor(c, name="c")
# Define some computation that uses `a`, `b`, and `c`.
return foo_op(..., name=scope)
When executed, the Tensors a
, b
, c
, will have names MyOp/a
, MyOp/b
,
and MyOp/c
.
Inside a tf.function
, if the scope name already exists, the name will be
made unique by appending _n
. For example, calling my_op
the second time
will generate MyOp_1/a
, etc.
Args | |
---|---|
name
|
The prefix to use on all names created within the name scope. |
Raises | |
---|---|
ValueError
|
If name is not a string. |
Attributes | |
---|---|
name
|
Methods
__enter__
__enter__()
Start the scope block.
Returns | |
---|---|
The scope name. |
__exit__
__exit__(
type_arg, value_arg, traceback_arg
)