tf.slice(input,begin,size,name=None)
函数解释:从输入数据input取出切片
input:输入数据
begin:开始取元素的位置,例如,[1,2,3]指的是,取元素时,第一个维度是从1开始,到了第二个维度是从2开始,到了第三个维度是从3开始。
size:根据begin指定的位置开始,取多少个元素,比如begin=[1,2,3],size=[4,5,6],指的是,第一个维度从1开始选,取4个元素;到了第二个维度,从2开始,取5个元素;到了第三个维度,从3开始,取6个元素。
示例:
import tensorflow as tf
sess = tf.Session()
input = tf.constant([[[1, 1, 1], [2, 2, 2]],
[[3, 3, 3], [4, 4, 4]],
[[5, 5, 5], [6, 6, 6]]])
"""input 的shape是[3,2,3]"""
data = tf.slice(input, [1, 0, 0], [1, 1, 3])
print(sess.run(data))
"""[1,0,0]表示第一维从1开始,其他
则是从[[[3, 3, 3], [4, 4, 4]],[[5, 5, 5], [6, 6, 6]]]中选取数据
然后选取第一维的第一个,第二维的第一个数据,第三维的三个数据"""
# [[[3 3 3]]]
data = tf.slice(input, [1, 0, 0], [1, 2, 3])
print(sess.run(data))
# [[[3 3 3]
# [4 4 4]]]