Spec-Zone.ru › TensorFlow

tf.foldl

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 = 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

Spec-Zone.ru

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