View source on GitHub |
Represents a graph node that performs computation on tensors.
tf.Operation( *args, **kwargs ) 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).
Methods
colocation_groups
colocation_groups() -> list[bytes] Returns the list of colocation groups of the op.
experimental_set_type
experimental_set_type( type_proto ) -> None Sets the corresponding node's experimental_type field.
See the description of NodeDef.experimental_type for more info.
| Args | |
|---|---|
type_proto | A FullTypeDef proto message. The root type_if of this object must be TFT_PRODUCT, even for ops which only have a singlre return value. |
from_node_def
@classmethodfrom_node_def( node_def, g, inputs=None, output_types=None, control_inputs=None, input_types=None, original_op=None, op_def=None ) -> OperationType
Creates an Operation.
[A-Za-z0-9.][A-Za-z0-9_.\\-/]* | 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. |
| Returns | |
|---|---|
| Operation object. |
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 ) -> None Runs this operation in a Session.
Calling this method will execute all preceding operations that produce the inputs needed for this operation.
| 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() -> tuple[Any, ...]
View source on GitHub