On this page
tf.Operation
Represents a graph node that performs computation on tensors.
tf.Operation(
node_def, g, inputs=None, output_types=None, control_inputs=None,
input_types=None, original_op=None, op_def=None
)
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 |
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. |
type |
The type of the op (e.g. "MatMul" ). |
Methods
colocation_groups
colocation_groups()
Returns the list of colocation groups of the op.
get_attr
get_attr(
name
)
Returns the value of the attr of this op with the given name
.
Args | |
---|---|
name |
The name of the attr to fetch. |
Returns | |
---|---|
The value of the attr, as a Python object. |
Raises | |
---|---|
ValueError |
If this op does not have an attr with the given name . |
run
run(
feed_dict=None, session=None
)
Runs this operation in a Session
.
Calling this method will execute all preceding operations that produce the inputs needed for this operation.
Note: Before invokingOperation.run()
, its graph must have been launched in a session, and either a default session must be available, orsession
must be specified explicitly.
Args | |
---|---|
feed_dict |
A dictionary that maps Tensor objects to feed values. See tf.Session.run for a description of the valid feed values. |
session |
(Optional.) The Session to be used to run to this operation. If none, the default session will be used. |
values
values()
DEPRECATED: Use outputs.
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/Operation