Spec-Zone.ru › TensorFlow 1.15

tf.contrib.framework.py_func

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

tf.contrib.framework.py_func(
    func, args=(), kwargs=None, output_types=None, output_shapes=None,
    stateful=True, name=None
)

Эта функция является оболочкой вокруг tf.compat.v1.py_func и улучшает её с помощью аргументов kwargs и output_shapes. Кроме того, были изменены некоторые имена аргументов.

Учитывая функцию 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)
inp = tf.compat.v1.placeholder(tf.float32)
y = tf.compat.v1.py_func(my_func, [inp], 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, которая принимает список объектов NumPy ndarray с типами элементов, соответствующими соответствующим объектам tf.Tensor в inp, и возвращает список объектов ndarray (или один объект ndarray) с типами элементов, соответствующими соответствующим значениям в Tout.
args Список объектов Tensor.
kwargs Словарь со значениями в виде объектов Tensor.
output_types Вложенная структура типов данных TensorFlow или один тип данных TensorFlow, если их только один, указывающий, что возвращает func.
output_shapes То же, что и output_types, только типы заменены на формы (необязательно).
stateful (Булево.) Если True, функция должна считаться состоятельной. Если функция бессостоятельная, при одинаковых входных данных она будет возвращать одинаковые выходные данные и не будет иметь наблюдаемых побочных эффектов. Оптимизации, такие как устранение общих подвыражений, выполняются только для бессостоятельных операций.
name Имя операции (необязательно).
Возвращаемое значение
Операция TensorFlow, которая оборачивает входную функцию Python.

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

Spec-Zone.ru

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