我在张量流中有一个二维张量,
比如说一个2 * 4张量[[1.,2.,3.,4。],[2.,4.,5.,6。]]。
我有一个函数a()让张量中的每一行都通过,然后对a()的所有结果求和。怎么做(在会话中不做)?
输出应该是a([1.,2.,3.,4。])+ a([2.,4.,5.,6。]),实际上我有一个非常大的张量多行。
这与reduce_sum不同,因为此处的a()函数非常复杂,无法通过向量化直接使用。
非常感谢!
答案 0 :(得分:0)
也许您正在寻找的是Tensorflow中的map_fn函数。 map_fn(a, elems)
将张量elems
沿其第一维解包为切片序列,然后将提供的函数a
应用于每个切片,然后通过再次将输出组合为单个张量沿第一维连接。
听起来像你想要的是
Y = map_fn(a, X)
answer = reduce_sum(Y, axis=0)
其中X
是您提供的张量。