An Operation is a node in a tf.Graph that takes zero or more Tensor
objects as input, and produces zero or more Tensor objects as output.
Objects of type Operation are created by calling a Python op constructor
(such as tf.matmul) within a tf.function or under a tf.Graph.as_default
context manager.
For example, within a tf.function, c = tf.matmul(a, b) creates an
Operation of type "MatMul" that takes tensors a and b as input, and
produces c as output.
If a tf.compat.v1.Session is used, an Operation of a tf.Graph can be
executed by passing it to tf.Session.run. op.run() is a shortcut for
calling tf.compat.v1.get_default_session().run(op).
Args
node_def
node_def_pb2.NodeDef. NodeDef for the Operation. Used for
attributes of node_def_pb2.NodeDef, typically name, op, and
device. The input attribute is irrelevant here as it will be
computed when generating the model.
g
Graph. The parent graph.
inputs
list of Tensor objects. The inputs to this Operation.
output_types
list of DType objects. List of the types of the Tensors
computed by this operation. The length of this list indicates the
number of output endpoints of the Operation.
control_inputs
list of operations or tensors from which to have a control
dependency.
input_types
List of DType objects representing the types of the tensors
accepted by the Operation. By default uses [x.dtype.base_dtype for x
in inputs]. Operations that expect reference-typed inputs must specify
these explicitly.
original_op
Optional. Used to associate the new Operation with an
existing Operation (for example, a replica with the op that was
replicated).
op_def
Optional. The op_def_pb2.OpDef proto that describes the op type
that this Operation represents.
Raises
TypeError
if control inputs are not Operations or Tensors,
or if node_def is not a NodeDef,
or if g is not a Graph,
or if inputs are not tensors,
or if inputs and input_types are incompatible.
ValueError
if the node_def name is not valid.
Attributes
control_inputs
The Operation objects on which this op has a control dependency.
Before this op is executed, TensorFlow will ensure that the
operations in self.control_inputs have finished executing. This
mechanism can be used to run ops sequentially for performance
reasons, or to ensure that the side effects of an op are observed
in the correct order.
device
The name of the device to which this op has been assigned, if any.
graph
The Graph that contains this operation.
inputs
The sequence of Tensor objects representing the data inputs of this op.
name
The full name of this operation.
node_def
Returns the NodeDef representation of this operation.
op_def
Returns the OpDef proto that represents the type of this op.
outputs
The list of Tensor objects representing the outputs of this op.
traceback
Returns the call stack from when this operation was constructed.