tf.slice 是tensorflow的切片用法
定义为:
def slice(input_, begin, size, name=None):
"""
:param input_: 输入数据,切片对象
:param begin: 切片的起始位置, begin.size = input_.shape[0].
:param size: 切片后数据的 shape,size[i] 表示在 input_ 的第 i
个维度中想要保留的数据个数
:param name:
:return:
"""
具体而言,切片就是以 begin 为起始点,size 为大小从 input_ 数据中截取一段内容。
以一种更 pythonic 的方式介绍就是,
tf.slice(input_,[0,1], [1,2]) == foo[0:1, 1:3]
所以这里需要注意的点是:
1. begin[i] + size[i] < input_.shape[i]
对应的维度和需要小于给定数据的维度
举个例子:
import tensorflow as tf
var = [[1,2,3],[4,5,6]]
with tf.Session() as sess:
print(sess.run(tf.slice(var, [0,0], [2,1]))) # [[1], [2]]
print