如何从张量中提取子矩阵?

时间:2017-07-13 13:50:13

标签: python machine-learning tensorflow

我想提取一个张量的前两列。

例如, 考虑这个张量

[[0, 1, -1, -2, -3],

 [1, 0, -8, -2, -3]]

输出应为

[[0,1],
[1,0]]

我玩tf.unstack()但是没能完全成功。

2 个答案:

答案 0 :(得分:2)

使用tensorflow的python切片操作符比Kris Roofe的解决方案更易读:

tensor[:,0:2]

如果您熟悉python的标准切片符号,那么您已经知道如何使用tensorflow了。

答案 1 :(得分:1)

您可以使用tf.slice()

tf.slice(varTensor, [0, 0], [2, 2]);

你可以测试它

import tensorflow as tf
tf.Session().run(tf.slice([[0,1,-1,-2,-3],[1,0,-9, -2, -3]], [0, 0], [2,2]))