|View source on GitHub|
Wraps a python function and uses it as a TensorFlow op.
tf.compat.v1.py_func( func, inp, Tout, stateful=True, name=None )
Used in the notebooks
|Used in the tutorials|
Given a python function
func, which takes numpy arrays as its
arguments and returns numpy arrays as its outputs, wrap this function as an
operation in a TensorFlow graph. The following snippet constructs a simple
TensorFlow graph that invokes the
np.sinh() NumPy function as a operation
in the graph:
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)
The body of the function (i.e.
func) will not be serialized in a
GraphDef. Therefore, you should not use this function if you need to serialize your model and restore it in a different environment.
The operation must run in the same address space as the Python program that calls
tf.compat.v1.py_func(). If you are using distributed TensorFlow, you must run a
tf.distribute.Serverin the same process as the program that calls
tf.compat.v1.py_func()and you must pin the created operation to a device in that server (e.g. using