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

Args
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