tf.foldr
| Просмотр исходного кода на GitHub |
foldr на списке тензоров, распакованных из elems по размерности 0. (устаревшие аргументы)
tf.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 | (необязательно) Устарел. False отключает поддержку обратного распространения. Вместо этого предпочтительнее использовать tf.stop_gradient. |
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
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/foldr