tf.foldl(fn, elems, initializer=None, parallel_iterations=10, back_prop=True, swap_memory=False, name=None)
See the guide: Higher Order Functions > Higher Order Operators
foldl on the list of tensors unpacked from elems
on dimension 0.
This foldl operator repeatedly applies the callable fn
to a sequence of elements from first to last. The elements are made of the tensors unpacked from elems
on dimension 0. The callable fn takes two tensors as arguments. The first argument is the accumulated value computed from the preceding invocation of fn. If initializer
is None, elems
must contain at least one element, and its first element is used as the initializer.
Suppose that elems
is unpacked into values
, a list of tensors. The shape of the result tensor is fn(initializer, values[0]).shape`.
fn
: The callable to be performed.elems
: A tensor to be unpacked on dimension 0.initializer
: (optional) The initial value for the accumulator.parallel_iterations
: (optional) The number of iterations allowed to run in parallel.back_prop
: (optional) True enables support for back propagation.swap_memory
: (optional) True enables GPU-CPU memory swapping.name
: (optional) Name prefix for the returned tensors.A tensor resulting from applying fn
consecutively to the list of tensors unpacked from elems
, from first to last.
TypeError
: if fn
is not callable.elems = [1, 2, 3, 4, 5, 6] sum = foldl(lambda a, x: a + x, elems) # sum == 21
Defined in tensorflow/python/ops/functional_ops.py
.
© 2017 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/api_docs/python/tf/foldl