tf.compat.v1.foldr
foldr по списку тензоров, распакованных из elems по размерности 0.
tf.compat.v1.foldr(
fn,
elems,
initializer=None,
parallel_iterations=10,
back_prop=True,
swap_memory=False,
name=None
)
Этот оператор 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 | (необязательно) True включает поддержку обратного распространения. |
swap_memory | (необязательно) True включает обмен памятью между GPU и CPU. |
name | (необязательно) Префикс имени для возвращаемых тензоров. |
| Возвращаемое значение | |
|---|---|
Тензор или (возможно, вложенная) последовательность тензоров, полученные в результате последовательного применения fn к списку тензоров, распакованных из elems, от последнего к первому. |
| Исключения | |
|---|---|
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/compat/v1/foldr