tf.Operation
Представляет узел графа, который выполняет вычисления с тензорами.
tf.Operation(
*args, **kwargs
)
Operation — это узел в tf.Graph, который принимает ноль или более объектов Tensor в качестве входных данных и генерирует ноль или более объектов Tensor в качестве выходных данных. Объекты типа Operation создаются путем вызова конструктора Python-операции (например, tf.matmul) в контексте tf.function или в контексте менеджера tf.Graph.as_default.
Например, в tf.function c = tf.matmul(a, b) создает Operation типа "MatMul", который принимает тензоры a и b в качестве входных данных и генерирует c в качестве выходного.
Если используется tf.compat.v1.Session, Operation tf.Graph может быть выполнен путём передачи его в tf.Session.run. op.run() — это сокращение для вызова tf.compat.v1.get_default_session().run(op).
| Атрибуты | |
|---|---|
control_inputs | Объекты Operation, на которые эта операция имеет зависимость контроля. Перед выполнением этой операции TensorFlow гарантирует, что операции в |
device | Имя устройства, которому назначена эта операция, если таковое имеется. |
graph | |
inputs | Последовательность объектов Tensor, представляющих входные данные данных этой операции. |
name | |
node_def | |
op_def | |
outputs | |
traceback | Возвращает стек вызовов с момента создания этой операции. |
type | |
Методы
colocation_groups
colocation_groups() -> list[bytes]
Возвращает список групп размещения операции.
experimental_set_type
experimental_set_type(
type_proto
) -> None
Устанавливает соответствующее поле experimental_type узла.
См. описание NodeDef.experimental_type для получения дополнительной информации.
| Аргументы | |
|---|---|
type_proto | Сообщение прото FullTypeDef. Корневой тип_если этого объекта должен быть TFT_PRODUCT, даже для операций, у которых есть только один возвращаемый результат. |
from_node_def
@classmethod
from_node_def(
node_def,
g,
inputs=None,
output_types=None,
control_inputs=None,
input_types=None,
original_op=None,
op_def=None
) -> OperationType
Создаёт Operation.
Примечание: Этот конструктор проверяет имяOperation(переданное какnode_def.name). Действительные именаOperationсоответствуют следующему регулярному выражению:
[A-Za-z0-9.][A-Za-z0-9_.\\-/]*
| Аргументы | |
|---|---|
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 недействительно. |
| Возвращаемое значение | |
|---|---|
| Объект операции. |
get_attr
get_attr(
name
)
Возвращает значение атрибута этой операции с заданным name.
| Аргументы | |
|---|---|
name | Имя атрибута для извлечения. |
| Возвращаемое значение | |
|---|---|
| Значение атрибута как объект Python. |
| Исключения | |
|---|---|
ValueError | Если у этой операции нет атрибута с заданным name. |
run
run(
feed_dict=None, session=None
) -> None
Выполняет эту операцию в Session.
Вызов этого метода выполнит все предыдущие операции, которые генерируют входные данные, необходимые для этой операции.
Примечание: Перед вызовомOperation.run()его граф должен быть запущен в сессии, и либо должна быть доступна стандартная сессия, либоsessionдолжна быть указана явно.
| Аргументы | |
|---|---|
feed_dict | Словарь, сопоставляющий объекты Tensor с входными значениями. См. tf.Session.run для описания допустимых входных значений. |
session | (Необязательно.) Session, который будет использоваться для выполнения этой операции. Если нет, будет использована стандартная сессия. |
values
values() -> tuple[Any, ...]
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/Operation