tf.autograph.to_graph
| Просмотреть исходный код на GitHub |
Преобразует Python-сущность в граф TensorFlow.
tf.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 | Если сущность не может быть преобразована. |
© 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/autograph/to_graph