Spec-Zone.ru › TensorFlow 2.4

tf.compat.v1.py_func

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

tf.compat.v1.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/r2.3/api_docs/python/tf/compat/v1/py_func

Spec-Zone.ru

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