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