tf.foldl
foldl для списка тензоров, распакованных из elems по измерению 0. (устаревшие значения аргументов)
tf.foldl(
fn,
elems,
initializer=None,
parallel_iterations=10,
back_prop=True,
swap_memory=False,
name=None
)
Этот оператор foldl последовательно применяет вызываемый объект fn к последовательности элементов от первого до последнего. Элементы состоят из тензоров, распакованных из elems по измерению 0. Вызываемый объект fn принимает два тензора в качестве аргументов. Первый аргумент — это накопленное значение, вычисленное при предыдущем вызове fn, а второй — значение в текущей позиции elems. Если initializer равно None, elems должен содержать как минимум один элемент, и его первый элемент используется в качестве начального значения.
Предположим, что elems распакован в values — список тензоров. Форма результирующего тензора — fn(initializer, values[0]).shape`.
Этот метод также поддерживает elems с несколькими аргументами и вывод fn. Если elems — это (возможно, вложенный) список или кортеж тензоров, каждый из этих тензоров должен иметь совпадающее первое (распаковываемое) измерение. Сигнатура fn может соответствовать структуре elems. То есть, если elems — это (t1, [t2, t3, [t4, t5]]), подходящая сигнатура для fn будет такой: fn = lambda (t1, [t2, t3, [t4, t5]]):.
| Аргументы | |
|---|---|
fn | Вызываемый объект, который необходимо выполнить. |
elems | Тензор или (возможно, вложенная) последовательность тензоров, каждый из которых будет распакован вдоль первого измерения. Вложенная последовательность полученных срезов будет первым аргументом для fn. |
initializer | (Необязательно) Тензор или (возможно, вложенная) последовательность тензоров в качестве начального значения аккумулятора. |
parallel_iterations | (Необязательно) Количество итераций, которые могут выполняться параллельно. |
back_prop | (Необязательно) Устарело. Значение False отключает поддержку обратного распространения. Вместо этого рекомендуется использовать tf.stop_gradient. |
swap_memory | (Необязательно) Значение True включает обмен памятью между GPU и CPU. |
name | (Необязательно) Префикс имени для возвращаемых тензоров. |
| Возвращает | |
|---|---|
Тензор или (возможно, вложенную) последовательность тензоров, полученную в результате последовательного применения fn к списку тензоров, распакованных из elems, от первого до последнего. |
| Вызывает исключения | |
|---|---|
TypeError | если fn не является вызываемым объектом. |
| Пример | |
|---|---|
elems = tf.constant([1, 2, 3, 4, 5, 6]) sum = tf.foldl(lambda a, x: a + x, elems) # sum == 21 |
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/foldl