torch:
import torch
# 两个输入矩阵
matrix1 = torch.tensor([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
matrix2 = torch.tensor([[1, 1, 1],
[2, 2, 2],
[3, 3, 3]])
m=matrix1.repeat(3,1) # torch.repeat(通道倍数 行倍数 列倍数) 通道倍数默认1 整体复制几遍
n = matrix2.repeat_interleave(3,dim=0) # (复制次数,按哪个维度进行复制)每行复制完再复制下一行
print(m)
print(n)
输出:
tensor([[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
tensor([[1, 1, 1],
[1, 1, 1],
[1, 1, 1],
[2, 2, 2],
[2, 2, 2],
[2, 2, 2],
[3, 3, 3],
[3, 3, 3],
[3, 3, 3]])
numpy:
import numpy as np
a = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
b = np.array([[1, 1, 1],
[2, 2, 2],
[3, 3, 3]])
print(a)
print(b)
a1 = np.tile(a,(3,1)) # (行倍数,列倍数)
print(a1)
b1 = np.repeat(b,3,axis=0) # (次数,轴)
print(b1)
[[1 2 3]
[4 5 6]
[7 8 9]]
[[1 1 1]
[2 2 2]
[3 3 3]]
[[1 2 3]
[4 5 6]
[7 8 9]
[1 2 3]
[4 5 6]
[7 8 9]
[1 2 3]
[4 5 6]
[7 8 9]]
[[1 1 1]
[1 1 1]
[1 1 1]
[2 2 2]
[2 2 2]
[2 2 2]
[3 3 3]
[3 3 3]
[3 3 3]]