Ответ 1
Следующая версия TensorFlow (0.8, которая в настоящее время доступна, если вы создаете источник или загружаете ночную сборку) включает операторов более высокого порядка, включая tf.map_fn()
и tf.scan()
, которые позволяют применить функцию, состоящую из операций TensorFlow, к под-тензорам более крупного тензора.
Функция tf.map_fn(fn, elems, ...)
распаковывает N
-мерный ввод elems
по первому размеру на несколько N-1
-мерных подменсоров и применяет fn
к каждому под-тензору. Это, по-видимому, идеально подходит для вашего использования:
input = tf.Variable([[1.0, 2.0], [3.0, 4.0]])
function_to_map = lambda x: f(x) # Where `f` instantiates myCustomOp.
final_result = tf.map_fn(function_to_map, input)