np.tile()
仔细观察数据前后的shape,便可知晓该函数的用法。
在原始数据shape基础上,对应轴扩展几倍。
例如,原始数据x的shape是(2, 3),np.tile(x, [1,2])表示扩展后的数据shape为(2x1, 3x2),即行数不变,列数扩展为之前的两倍,因此shape为(2, 6)。
类似地,tf.tile()也是对tensor做同样的扩展操作。
# shape为(2, 3)
x = np.array([[1, 2, 3], [4, 5, 6]]) # => [[1, 2, 3], [4, 5, 6]]
# shape为(2, 6)
tile_x = np.tile(x, [1, 2]) # => [[1, 2, 3, 1, 2, 3], [4, 5, 6, 4, 5, 6]]
# shape为(4, 3)
tile_x = np.tile(x, [2, 1]) # => [[1, 2, 3], [4, 5, 6], [1, 2, 3], [4, 5, 6]]