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

Python 如何从张量中提取子矩阵?,python,machine-learning,tensorflow,Python,Machine Learning,Tensorflow,我想提取张量的前两列 比如说,, 考虑这个张量 [[0, 1, -1, -2, -3], [1, 0, -8, -2, -3]] 输出应该是 [[0,1], [1,0]] 我使用了tf.unstack(),但未能完全成功。您可以使用 你可以测试一下 import tensorflow as tf tf.Session().run(tf.slice([[0,1,-1,-2,-3],[1,0,-9, -2, -3]], [0, 0], [2,2])) 你可以用 你可以测试一下 import

我想提取张量的前两列

比如说,, 考虑这个张量

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

 [1, 0, -8, -2, -3]]
输出应该是

[[0,1],
[1,0]]
我使用了tf.unstack(),但未能完全成功。

您可以使用

你可以测试一下

import tensorflow as tf
tf.Session().run(tf.slice([[0,1,-1,-2,-3],[1,0,-9, -2, -3]], [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]))

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

tensor[:,0:2]

如果您熟悉python的标准切片表示法,您已经知道如何使用tensorflow。使用tensorflow的python切片运算符,比Kris Roote的解决方案可读性稍高一些:

tensor[:,0:2]

如果您熟悉python的标准切片表示法,那么您已经知道如何使用tensorflow。

该tensor是什么类型的对象?
列表
?你可以做
res=[x[:2]来表示x的张量]
这是一个张量流变量。变量(…)那个张量是什么样的对象?
列表
?你可以做
res=[x[:2]来表示x的张量]
这是一个张量流变量。变量(…)谢谢。当行数动态时,是否可以应用tf.slice(varTensor[0,0],-1,2])?谢谢。当行数是动态的时,是否可以应用tf.slice(varTensor[0,0],-1,2])?