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
)
Операция — это узел в TensorFlow-графе, который принимает на вход ноль или более объектов-тензоров и генерирует ноль или более объектов-тензоров на выходе. Объекты типа Operation создаются вызовом конструктора Python-операции (например, tf.matmul) или tf.Graph.create_op.
Например, c = tf.matmul(a, b) создаёт операцию типа "MatMul", которая принимает тензоры a и b в качестве входных данных и генерирует тензор c в качестве выходного.
После запуска графа в сессии, операцию можно выполнить, передав её в 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. Список типов тензоров, вычисляемых этой операцией. Длина этого списка указывает количество выходных точек операции. |
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 | Объекты операции, от которых эта операция зависит с точки зрения контроля. Перед выполнением данной операции TensorFlow гарантирует, что операции в |
device | Имя устройства, к которому назначена эта операция, если таковое имеется. |
graph | Граф, содержащий данную операцию. |
inputs | Список объектов тензоров, представляющих входные данные этой операции. |
name | Полное имя этой операции. |
node_def | Возвращает представление этой операции в формате протокола. |
op_def | Возвращает протокол типа этой операции. |
outputs | Список объектов тензоров, представляющих выходные данные этой операции. |
traceback | Возвращает стек вызовов с момента создания этой операции. |
traceback_with_start_lines | То же, что и traceback, но включает начальную строку определения функции. |
type | Тип операции (например, "MatMul"). |
Методы
colocation_groups
colocation_groups()
Возвращает список групп размещения операции.
get_attr
get_attr(
name
)
Возвращает значение атрибута данной операции с указанным именем.
| Аргументы | |
|---|---|
name | Имя атрибута для извлечения. |
| Возвращаемое значение | |
|---|---|
| Значение атрибута в качестве объекта Python. |
| Возможные исключения | |
|---|---|
ValueError | Если у данной операции нет атрибута с указанным именем. |
run
run(
feed_dict=None, session=None
)
Выполняет данную операцию в сессии.
Вызов этого метода выполнит все предшествующие операции, необходимые для получения входных данных для данной операции.
Примечание: Перед вызовомOperation.run()её граф должен быть запущен в сессии, и либо должна быть доступна стандартная сессия, либоsessionдолжна быть явно указана.
| Аргументы | |
|---|---|
feed_dict | Словарь, сопоставляющий объекты тензоров со значениями подмены. См. tf.Session.run для описания допустимых значений подмены. |
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/r1.15/api_docs/python/tf/Operation