從張量中提取切片

有關詳細資訊,請參閱 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])