tf.Operation
| Просмотреть исходный код на GitHub |
Представляет узел графа, выполняющий вычисления над тензорами.
tf.Operation(
node_def, g, inputs=None, output_types=None, control_inputs=None,
input_types=None, original_op=None, op_def=None
)
Операция — это узел в tf.Graph графе, который принимает ноль или более Tensor объектов в качестве входных данных и генерирует ноль или более Tensor объектов в качестве выходных. Объекты типа Operation создаются путем вызова конструктора Python-операции (например, tf.matmul) в пределах tf.function или в контексте tf.Graph.as_default.
Например, в пределах tf.function, c = tf.matmul(a, b) создает операцию типа "MatMul", которая принимает тензоры a и b в качестве входных данных и генерирует c в качестве выходного.
Если используется tf.compat.v1.Session, операцию tf.Graph можно выполнить, передав её в tf.Session.run. op.run() — это сокращение для вызова tf.compat.v1.get_default_session().run(op).
| Аргументы | |
|---|---|
node_def | node_def_pb2.NodeDef. NodeDef для Operation. Используется для атрибутов node_def_pb2.NodeDef, обычно name, op, и device. Атрибут input здесь не имеет значения, так как он будет вычислен при генерации модели. |
g | Graph. Родительский граф. |
inputs | список объектов Tensor. Входные данные для данной Operation. |
output_types | список объектов DType. Список типов Tensors , вычисляемых этой операцией. Длина этого списка указывает на количество выходных точек Operation. |
control_inputs | список операций или тензоров, для которых требуется зависимость от управления. |
input_types | список объектов DType, представляющих типы тензоров, принимаемых Operation. По умолчанию используется [x.dtype.base_dtype for x in inputs]. Операции, ожидающие входные данные ссылочного типа, должны явно указать их. |
original_op | Необязательно. Используется для связывания новой Operation с существующей Operation (например, реплики с операцией, которая была реплицирована). |
op_def | Необязательно. Протокол op_def_pb2.OpDef , описывающий тип операции, которую представляет эта Operation. |
| Возможные исключения | |
|---|---|
TypeError | если входные данные управления не являются операциями или тензорами, или если node_def не является NodeDef, или если g не является Graph, или если inputs не являются тензорами, или если inputs и input_types несовместимы. |
ValueError | если имя node_def некорректно. |
| Атрибуты | |
|---|---|
control_inputs | Объекты Operation, на которые у данной операции есть зависимость по управлению. Перед выполнением этой операции TensorFlow гарантирует, что операции в |
device | Имя устройства, которому назначена данная операция, если таковое имеется. |
graph | Graph, содержащий данную операцию. |
inputs | Последовательность объектов Tensor, представляющих входные данные данных для этой операции. |
name | Полное имя данной операции. |
node_def | Возвращает представление NodeDef этой операции. |
op_def | Возвращает протокол OpDef , представляющий тип этой операции. |
outputs | Список объектов Tensor, представляющих выходные данные данной операции. |
traceback | Возвращает стек вызовов, из которого была создана эта операция. |
type | Тип операции (например, "MatMul"). |
Методы
colocation_groups
colocation_groups()
Возвращает список групп размещения для операции.
get_attr
get_attr(
name
)
Возвращает значение атрибута данной операции с заданным name.
| Аргументы | |
|---|---|
name | Название атрибута для извлечения. |
| Возвращаемое значение | |
|---|---|
| Значение атрибута, как объект Python. |
| Возможные исключения | |
|---|---|
ValueError | Если у данной операции нет атрибута с заданным name. |
run
run(
feed_dict=None, session=None
)
Выполняет эту операцию в Session.
Вызов этого метода выполнит все предыдущие операции, необходимые для получения входных данных для этой операции.
Примечание: Перед вызовомOperation.run(), её граф должен быть запущен в сессии, и либо должна быть доступна сессия по умолчанию, либоsessionдолжна быть явно указана.
| Аргументы | |
|---|---|
feed_dict | Словарь, сопоставляющий объекты Tensor с значениями подмены. См. tf.Session.run для описания допустимых значений подмены. |
session | (Необязательно.) Session, которая будет использоваться для выполнения данной операции. Если не указано, будет использована сессия по умолчанию. |
values
values()
УСТЕРЕЖДАЕТСЯ: Используйте 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