A NodeDef names its operation in the
op field and sets the op’s attributes in attr, by name. The
file holds only those names; what they mean is fixed by TensorFlow’s op registry. This
page lists all 1,604 ops a graph can name from TensorFlow’s master branch in November
2026: the 1,563 ops registered under tensorflow/core/ops and the 41 XLA ops
registered under tensorflow/compiler/tf2xla. For each op it gives a summary,
its inputs and outputs, and for each attribute its meaning, its type, its default if it
has one, and the values or minimum the registration allows. The viewer shows the same
notes when it opens a graph.
Where the entries come from
- Op names, inputs, outputs, attribute types, defaults, allowed values, minimums and
deprecations are those of
tensorflow/core/ops/ops.pbtxt, the registry as one text file, and oftensorflow/compiler/tf2xla/ops/xla_ops.ccfor the XLA ops. - Most summaries, and the meanings of most attributes that have a default, follow
TensorFlow’s own documentation of each op as published in its Go bindings
(
tensorflow/go/op/wrappers.go). - The Go bindings leave out about 390 ops: the TensorFlow 1 forms that take
reference-typed variables (
Assign,ApplyAdam,ScatterAdd), ops that take functions (If,While,PartitionedCall, many tf.data datasets) and internal ops. Their summaries were written for this site from their definitions and the documented ops they are forms of. A few common ops, such asConst, have a summary written for this site. - An attribute that only names the type of some inputs or outputs
(
T,Tidx), counts them (N) or lists their types (Tin,output_types) is explained from the signature: the entry says which inputs and outputs it governs. - The other attributes the Go bindings do not document were given meanings for this
site from TensorFlow’s op documentation; where many ops share a name in the same
sense (
container,shared_name,use_locking,metadataon tf.data datasets), they share the meaning. Every attribute of every op has a meaning. - An op that was deprecated gives the GraphDef version (the graph’s producer version) from which TensorFlow refuses it.
A node may also name an op this list does not hold:
- a function in the graph’s library, which the viewer shows as a call;
- an internal op whose name starts with an underscore, such as
_Arg,_Retvalor the Grappler fusions_FusedConv2Dand_FusedMatMul, which ops.pbtxt leaves out; the viewer names the common ones; - an op registered elsewhere in TensorFlow, such as the XLA JIT’s
XlaLaunchor TF-TRT’sTRTEngineOp, which the viewer names without listing their attributes; - a custom op, or one newer than this list. A SavedModel’s
stripped_op_listholds the definition of every op its graphs use.
Ops
The table is built in the browser from the same tables the viewer uses, so it needs
scripts; without them this page shows only the text above. Each op has an anchor,
#op- followed by its name, such as
#op-Conv2D.
| Op | Summary, inputs and outputs | Attributes: meaning, type, default and allowed values |
|---|