Skip to content

Latest commit

 

History

History
54 lines (36 loc) · 1.58 KB

script_ops.md

File metadata and controls

54 lines (36 loc) · 1.58 KB

Wraps python functions

Note: Functions taking Tensor arguments can also take anything accepted by tf.convert_to_tensor.

[TOC]

Script Language Operators.

TensorFlow provides allows you to wrap python/numpy functions as TensorFlow operators.

Other Functions and Classes


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

Wraps a python function and uses it as a tensorflow op.

Given a python function func, which takes numpy arrays as its inputs and returns numpy arrays as its outputs. E.g.,

def my_func(x):
  # x will be a numpy array with the contents of the placeholder below
  return np.sinh(x)
inp = tf.placeholder(tf.float32, [...])
y = py_func(my_func, [inp], [tf.float32])

The above snippet constructs a tf graph which invokes a numpy sinh(x) as an op in the graph.

Args:
  • func: A python function.
  • inp: A list of Tensor.
  • Tout: A list of tensorflow data types indicating what func returns.
  • stateful: A boolean indicating whether the function should be considered stateful or stateless. I.e. whether it, given the same input, will return the same output and at the same time does not change state in an observable way. Optimizations such as common subexpression elimination are only possible when operations are stateless.
  • name: A name for the operation (optional).
Returns:

A list of Tensor which func computes.