import tensorflow as tf
#tf.concat#拼接
#tf.stack#堆叠
#分割
#tf.split
#tf.unstack
#数据格式说明
#[class1-4,students,scores]
#[class5-6,students,scores]
a = tf.ones([4,35,8])
b = tf.ones([2,35,8])
#合并操作
#concat方法中,只要要拼接的维度不用相等,其他必须相等
#选择第0列进行合并
c = tf.concat([a,b],axis = 0)
print(c.shape)
a = tf.ones([4,32,8])
b = tf.ones([4,3,8])
#选择第1列进行合并
c = tf.concat([a,b],axis = 1)
#以上的操作都是在原有的维度上进行累加,若要扩展维度,需要使用stack方法
#[school,class,students,scores]
#在stack里,所有的维度都是必须相等的
a.shape
b.shape
c = tf.concat([a,b],axis = -1).shape
#在第0轴创造一个新的维度
d = tf.stack([a,b],axis = 0).shape
#在第3轴创造一个新的维度
e = tf.stack([a,b],axis = 3).shape
aa,bb = tf.unstack(d,axis = 0)#注意,结合前面的形状,如果axis = 8那么会d会被拆解为8个对应的tensor
aa.shape,bb.shape
#split,指定打散的tensor的数量
#把第三轴的tensor打散为2两个
res = tf.split(c,axis =3,num_or_size_split =2 )
#指定具体的打散的长度
res = tf.split(c,axis =3,num_or_size_split =[2,2,4])
res[0].shape,res[2].shape
tensorflow2.0基本操作六数据的合并与切割
最新推荐文章于 2022-03-12 18:14:16 发布