如何在张量流中遍历张量的每一行

时间:2018-06-25 05:30:03

标签: python tensorflow matrix

我在张量流中有一个二维张量,

比如说一个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()函数非常复杂,无法通过向量化直接使用。

非常感谢!

1 个答案:

答案 0 :(得分:0)

也许您正在寻找的是Tensorflow中的map_fn函数。 map_fn(a, elems)将张量elems沿其第一维解包为切片序列,然后将提供的函数a应用于每个切片,然后通过再次将输出组合为单个张量沿第一维连接。

听起来像你想要的是

Y = map_fn(a, X)
answer = reduce_sum(Y, axis=0)

其中X是您提供的张量。