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 объектов. Входные данные для этой операции. |
output_types | список DType объектов. Список типов Tensors данных, вычисляемых данной операцией. Длина списка определяет количество выходных точек операции. |
control_inputs | список операций или тензоров, для которых требуется зависимость от выполнения. |
input_types | список DType объектов, представляющих типы тензоров, принимаемых операцией. По умолчанию использует [x.dtype.base_dtype for x in inputs]. Операции, ожидающие входных данных ссылочного типа, должны явно указывать их. |
original_op | Необязательно. Используется для ассоциации новой операции с существующей копией (например, репликой с реплицированной операцией). |
op_def | Необязательно. Протокол op_def_pb2.OpDef, описывающий тип операции, которую представляет данная операция. |
| Возможные исключения | |
|---|---|
TypeError | если входные данные управления не являются операциями или тензорами, или если node_def не является NodeDef, или если g не является Graph, или если inputs не являются тензорами, или если inputs и input_types несовместимы. |
ValueError | если имя операции недопустимо. |
| Атрибуты | |
|---|---|
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()
Возвращает список групп совмещения операция.
experimental_set_type
experimental_set_type(
type_proto
)
Устанавливает соответствующее поле experimental_type узла.
См. описание NodeDef.experimental_type для получения дополнительной информации.
| Аргументы | |
|---|---|
type_proto | Сообщение-протокол FullTypeDef. Корневой тип_если этого объекта должен быть TFT_PRODUCT, даже для операций, у которых только один возвращаемый результат. |
get_attr
get_attr(
name
)
Возвращает значение атрибута этой операции с заданным именем.
| Аргументы | |
|---|---|
name | Имя атрибута для извлечения. |
| Возвращаемое значение | |
|---|---|
| Значение атрибута в виде объекта Python. |
| Возможные исключения | |
|---|---|
ValueError | Если у этой операции нет атрибута с заданным именем. |
run
run(
feed_dict=None, session=None
)
Выполняет эту операцию в сессии.
Вызов этого метода выполнит все предшествующие операции, необходимые для получения входных данных для этой операции.
Примечание: Перед вызовомOperation.run(), её граф должен быть запущен в сессии, и либо должна быть доступна сессия по умолчанию, либоsessionдолжна быть указана явно.
| Аргументы | |
|---|---|
feed_dict | Словарь, отображающий объекты Tensor на значения обратной связи. См. tf.Session.run для описания допустимых значений обратной связи. |
session | (Необязательно.) Сессия, используемая для выполнения операции. Если None, используется сессия по умолчанию. |
values
values()
© 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/versions/r2.9/api_docs/python/tf/Operation