numpy数组拼接函数concatenate与tensorflow的拼接函数concatenate效果应该是一样的,这是我根据这篇博文的推断。为什么推断呢,因为按照该博主的代码不能看到结果,于是改用numpy来输出结果。
当数据是二维数组:
a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]])
c= np.concatenate((a, b), axis=0) #按照行合并,列数不变行数增加
d= np.concatenate((a, b), axis=1) #按照列合并,行数不变列数增加
print(d)
结果是:
这里axis=0时会在第一维进行拼接,其他维度大小不变,同理axis=1时只有第二维上数据会拼接。
当数据是3维时:
import numpy as np
t1 = np.array([[[1, 2], [2, 3]], [[4, 4], [5, 3]]])
t2 = np.array([[[7, 4], [8, 4]], [[2, 10], [15, 11]]])
d0 = np.concatenate([t1, t2], axis=0) #第一维变长,二三维不变
d1 = np.concatenate([t1, t2], axis=1) #第二维变长,一三维不变
d2 = np.concatenate([t1, t2], axis=2) #第axis维变长,其他维不变
d3 = np.concatenate([t1, t2], axis=-1) # axis=-1与axis=2相同,axis=-2与axis=1相同
print(d0)
print(d1)
print(d2)
print(d3)
结果为: