gpt4 book ai didi

python - TensorFlow中有没有相当于python的reduce函数?

转载 作者:行者123 更新时间:2023-11-30 09:03:50 25 4
gpt4 key购买 nike

我想要 TensorFlow 中的函数与 Pythion reduce() 具有相同的效果

例如,如果我有一个值为 [a1, a2, a3] 的张量 a 和一个函数 func(),我想要[func(a1, a2), func(func(a1, a2), a3)]。如果 a 是一个 Python 列表,我可以简单地执行

from functools import reduce
# a = [a1, a2, a3]
A = reduce(func, a)

如果a是TF对象的张量(不是Python列表!)并且我想要相同的A怎么办?如果没有替代的 TF 功能,我该如何有效地做到这一点?

最佳答案

如果你实际上指的是减少,那么相当于 tensorflow 是 tf.foldltf.foldr 。示例:

elems = tf.constant(["hello", "my", "name", "is", "inigo", "montoya"])
tf.foldl(lambda a, x: a +" " + x, elems)
#<tf.Tensor: shape=(), dtype=string, numpy=b'hello my name is inigo montoya'>
tf.foldr(lambda a, x: a +" " + x, elems)
#<tf.Tensor: shape=(), dtype=string, numpy=b'montoya inigo is name my hello'>

但是,根据您的示例,您可能需要 tf.scan :

tf.scan(lambda a, x: a +" " + x, elems)
<tf.Tensor: shape=(6,), dtype=string, numpy=
([b'hello', b'hello my', b'hello my name', b'hello my name is',
b'hello my name is inigo', b'hello my name is inigo montoya'], dtype=object)>

关于python - TensorFlow中有没有相当于python的reduce函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57943944/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com