Spec-Zone.ru › TensorFlow 1.15

tf.py_func

Оборачивает функцию Python и использует её как операцию TensorFlow.

Просмотр псевдонимов

Псевдонимы совместимости для миграции

См. Руководство по миграции для получения более подробной информации.

tf.compat.v1.py_func

tf.py_func(
    func, inp, Tout, stateful=True, name=None
)

Учитывая функцию Python func, которая принимает массивы NumPy в качестве аргументов и возвращает массивы NumPy в качестве выходных данных, оберните эту функцию в операцию в графе TensorFlow. Следующий фрагмент кода создаёт простой граф TensorFlow, который вызывает функцию NumPy np.sinh() в качестве операции в графе:

def my_func(x):
  # x will be a numpy array with the contents of the placeholder below
  return np.sinh(x)
input = tf.compat.v1.placeholder(tf.float32)
y = tf.compat.v1.py_func(my_func, [input], tf.float32)
Примечание: У операции tf.compat.v1.py_func() есть следующие известные ограничения:
  • Тело функции (т.е. func) не будет сериализовано в GraphDef. Поэтому не следует использовать эту функцию, если вам нужно сериализовать вашу модель и восстановить её в другой среде.

  • Операция должна выполняться в том же адресном пространстве, что и программа Python, которая вызывает tf.compat.v1.py_func(). Если вы используете распределённый TensorFlow, вы должны запустить tf.distribute.Server в том же процессе, что и программа, вызывающая tf.compat.v1.py_func(), и вы должны привязать созданную операцию к устройству в этом сервере (например, используя with tf.device():).

Аргументы
func Функция Python, которая принимает объекты ndarray в качестве аргументов и возвращает список объектов ndarray (или один объект ndarray). Эта функция должна принимать столько аргументов, сколько тензоров в inp, и типы этих аргументов будут соответствовать соответствующим объектам tf.Tensor в inp. Возвращаемые ndarray должны соответствовать числу и типам, определённым Tout. Важное примечание: входящие и исходящие массивы NumPy ndarray для func не гарантируются как копии. В некоторых случаях их основная память будет совмещена с соответствующими тензорами TensorFlow. Изменение на месте или сохранение func входных или возвращаемых значений в структурах данных Python без явного (np.)copy может привести к непредсказуемым последствиям.
inp Список объектов Tensor.
Tout Список или кортеж типов данных TensorFlow, или один тип данных TensorFlow, если их только один, указывающий, что возвращает func.
stateful (Булево.) Если True, функция должна считаться состоятельной. Если функция бессостоятельна, то при одинаковом входе она будет возвращать тот же выход и не будет иметь наблюдаемых побочных эффектов. Оптимизации, такие как исключение общих подвыражений, выполняются только для бессостоятельных операций.
name Имя операции (необязательно).
Возвращаемые значения
Список Tensor или один Tensor, который func вычисляет.

© 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/py_func

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API