从张量中提取切片

有关详细信息,请参阅 tf.slice(input, begin, size) 文档。

参数:

  • input:Tensor
  • begininput 每个维度的起始位置
  • sizeinput 的每个维度的元素数量,使用 -1 包括所有剩余的元素

Numpy-like 切片:

# x has shape [2, 3, 2]
x = tf.constant([[[1., 2.], [3., 4. ], [5. , 6. ]],
                 [[7., 8.], [9., 10.], [11., 12.]]])

# Extracts x[0, 1:2, :] == [[[ 3.,  4.]]]
res = tf.slice(x, [0, 1, 0], [1, 1, -1])

使用负索引,检索第三维中的最后一个元素:

# Extracts x[0, :, -1:] == [[[2.], [4.], [6.]]]
last_indice = x.get_shape().as_list()[2] - 1
res = tf.slice(x, [0, 1, last_indice], [1, -1, -1])