Spec-Zone.ru › TensorFlow 2.9

tf.foldr

View source on GitHub

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

tf.foldr(
    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.foldr(fn, elems, back_prop=False) Используйте: results = tf.nest.map_structure(tf.stop_gradient, tf.foldr(fn, elems))

Этот оператор foldr многократно применяет вызываемый объект fn к последовательности элементов с последнего к первому. Элементы состоят из тензоров, распакованных из elems. Вызываемый объект 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]]):.

Args
fn Вызываемый объект, который нужно выполнить.
elems Тензор или (возможно, вложенная) последовательность тензоров, каждый из которых будет распакован вдоль их первой размерности. Вложенная последовательность полученных срезов будет первым аргументом fn.
initializer (необязательно) Тензор или (возможно, вложенная) последовательность тензоров в качестве начального значения для аккумулятора.
parallel_iterations (необязательно) Количество итераций, разрешенных для выполнения параллельно.
back_prop (необязательно) Устарело. False отключает поддержку обратного распространения. Предпочтительнее использовать tf.stop_gradient вместо этого.
swap_memory (необязательно) True включает обмен памятью между GPU и CPU.
name (необязательно) Префикс имени для возвращаемых тензоров.
Returns
Тензор или (возможно, вложенная) последовательность тензоров, полученных путем последовательного применения fn к списку тензоров, распакованных из elems, с последнего к первому.
Raises
TypeError если fn не является вызываемым объектом.

Пример:

elems = [1, 2, 3, 4, 5, 6]
sum = foldr(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/foldr

Spec-Zone.ru

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