View source on GitHub

A context manager for use when defining a Python op.

    name, default_name=None, values=None

This context manager validates that the given values are from the same graph, makes that graph the default graph, and pushes a name scope in that graph (see tf.Graph.name_scope for more details on that).

For example, to define a new Python op called my_op:

def my_op(a, b, c, name=None):
  with tf.name_scope(name, "MyOp", [a, b, c]) 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)


  • name: The name argument that is passed to the op function.
  • default_name: The default name to use if the name argument is None.
  • values: The list of Tensor arguments that are passed to the op function.


  • name


  • TypeError: if default_name is passed in but not a string.



View source


Start the scope block.


The scope name.


  • ValueError: if neither name nor default_name is provided but values are.


View source

    type_arg, value_arg, traceback_arg