【发布时间】:2017-07-20 22:34:46
【问题描述】:
我想按所有列的行范围选择一个张量。
类似:
x[10:20,:]
第 10 到 20 行,所有列。
我试过用:
tf.gather_nd
这样做的方法是什么?
【问题讨论】:
标签: python indexing tensorflow
我想按所有列的行范围选择一个张量。
类似:
x[10:20,:]
第 10 到 20 行,所有列。
我试过用:
tf.gather_nd
这样做的方法是什么?
【问题讨论】:
标签: python indexing tensorflow
Tensorflow 支持 numpy 样式索引:x[10:20,:]。
一个例子:
x = tf.Variable(tf.truncated_normal(shape=(100, 100)))
y = x[10:20,]
sess = tf.InteractiveSession()
tf.global_variables_initializer().run()
y.eval().shape
#output
#(10, 100)
【讨论】:
相信你在找tf.slice
因此,假设您的示例似乎表明您有一个 2D 张量,要获得第一个维度的 10:20,您将执行以下操作:
tf.slice(x, begin = [10,0], size = [10, x.get_shape().as_list()[1]])
注意:begin 是 0 索引,size 是 1 索引。所以我放的尺寸会给你从起点/起点开始的长度为 10 的维度 1 和所有维度 2。
【讨论】: