tf.compat.v1.autograph.to_graph
Преобразует сущность Python в граф TensorFlow.
tf.compat.v1.autograph.to_graph(
entity,
recursive=True,
arg_values=None,
arg_types=None,
experimental_optional_features=None
)
См. также: tf.autograph.to_code, tf.function.
В отличие от tf.function, to_graph — это низкоуровневый транспилятор, который преобразует код Python в код графа TensorFlow. Он не реализует кэширование и управление переменными, а также не создает никаких фактических операций; его лучше использовать, когда требуется более гибко управлять создаваемым графом TensorFlow. Еще одно отличие от tf.function заключается в том, что to_graph не оборачивает граф в функцию TensorFlow или вызываемый объект Python. Внутри tf.function используется to_graph.
Пример использования
def foo(x):
if x > 0:
y = x * x
else:
y = -x
return y
converted_foo = to_graph(foo)
x = tf.constant(1)
y = converted_foo(x) # converted_foo is a TensorFlow Op-like.
assert is_tensor(y)
Поддерживаются следующие сущности Python:
- функции
- классы
- методы объектов
Функции преобразуются в новые функции с преобразованным кодом.
Для преобразования классов создается новый класс, методы которого используют преобразованный код.
Методы преобразуются в несвязанные функции с дополнительным первым аргументом, называемым self.
| Аргументы | |
|---|---|
entity | Вызываемый объект Python или класс для преобразования. |
recursive | Следует ли рекурсивно преобразовывать все функции, которые может вызывать преобразуемая функция. |
arg_values | Устарело. |
arg_types | Устарело. |
experimental_optional_features | None, кортеж или отдельное значение tf.autograph.experimental.Feature. |
| Возвращает | |
|---|---|
То же, что и entity: преобразованную функцию Python или класс. |
| Вызывает исключение | |
|---|---|
ValueError | Если сущность не удалось преобразовать. |
© 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/compat/v1/autograph/to_graph