Spec-Zone.ru › TensorFlow

tf.foldr

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]]):.

Аргументы
fn Вызываемый объект, который необходимо выполнить.
elems Тензор или (возможно, вложенная) последовательность тензоров, каждый из которых будет распакован вдоль первого измерения. Вложенная последовательность полученных срезов будет первым аргументом для fn.
initializer (необязательно) Тензор или (возможно, вложенная) последовательность тензоров, используемые в качестве начального значения аккумулятора.
parallel_iterations (необязательно) Количество итераций, которые могут выполняться параллельно.
back_prop (необязательно) Устарело. Значение False отключает поддержку обратного распространения. Вместо этого рекомендуется использовать tf.stop_gradient.
swap_memory (необязательно) Значение True включает обмен данными между памятью GPU и CPU.
name Префикс имени для возвращаемых тензоров (необязательно).
Возвращает
Тензор или (возможно, вложенную) последовательность тензоров, полученную в результате последовательного применения fn к списку тензоров, распакованных из elems, от последнего к первому.
Вызывает исключение
TypeError если fn не является вызываемым объектом.
Пример
elems = [1, 2, 3, 4, 5, 6]
sum = tf.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/api_docs/python/tf/foldr

Spec-Zone.ru

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