repeat函数功能:对数组中的元素进行连续重复复制
用法有两种:
1) numpy.repeat(a, repeats, axis=None)
2) a.repeat(repeats, axis=None)
self.user_emb.shape
Out[16]: (512,)
目标shape(13214, 512)
#先增加一个维度
user_emb_dims = np.expand_dims(self.user_emb, axis=0)
user_emb_dims.shape
Out[18]: (1, 512)
#然后再对矩阵进行重复
user_emb_arr = np.repeat(user_emb_dims, 13214, axis=0)
user_emb_arr.shape
Out[20]: (13242, 512)
# 时间 0.017989158630371094
# 方法二:
user_emb_arr2 = user_emb_dims.repeat(13242, axis=0)
时间: 0.01998972892761230
tile函数功能:对整个数组进行复制拼接
用法:numpy.tile(a, reps)
其中a为数组,reps为重复的次数
user_emb_arr4 = np.tile(user_emb_dims,(13242,1))
时间: 0.020986557006835938
>>> a=np.array([10,20])
>>>a
array([10,20])
>>>np.tile(a, (3,2)) #构造3*2个copy
array([[10, 20, 10, 20],
[10, 20, 10, 20],
[10, 20, 10, 20]])
---------------------
作者:悟乙己
来源:CSDN
原文:https://blog.csdn.net/sinat_26917383/article/details/52290505
版权声明:本文为博主原创文章,转载请附上博文链接!
参考文章:https://blog.csdn.net/sinat_26917383/article/details/52290505