Spec-Zone.ru › TensorFlow 2.9

tf.foldl

Просмотреть исходный код на GitHub

foldl по списку тензоров, распакованных из elems по размерности 0. (аргументы устаревшего значения)

tf.foldl(
    fn,
    elems,
    initializer=None,
    parallel_iterations=10,
    back_prop=True,
    swap_memory=False,
    name=None
)
Устарело: НЕКОТОРЫЕ ЗНАЧЕНИЯ АРГУМЕНТОВ УСТАРЕЛИ: (back_prop=False). Они будут удалены в будущей версии. Инструкции по обновлению: back_prop=False устарел. Вместо этого используйте tf.stop_gradient. Вместо: results = tf.foldl(fn, elems, back_prop=False) Используйте: results = tf.nest.map_structure(tf.stop_gradient, tf.foldl(fn, elems))

Этот оператор 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 = 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/versions/r2.9/api_docs/python/tf/foldl

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API