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. Корневой type_if этого объекта должен быть 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 недопустимо. |
| Возвращает | |
|---|---|
| Объект Operation. |
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