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/api_docs/python/tf/compat/v1/foldr