numpy中repeat和tile用法:
原博:https://blog.csdn.net/henryghx/article/details/16906235
torch.repeat()
文档见:https://pytorch.org/docs/stable/tensors.html?highlight=repeat#torch.Tensor.repeat
PyTorch中的repeat更像numpy的tile的用法,如参数(4, 2)是先横向扩2遍,再扩成4维。
3个参数(a, b, c)是先横向扩c遍,再维数扩成b维,最后整体复制a遍,形成一个3通道二维数组。
torch.repeat可以用来填充图片维数,比如把MNIST的单通道图像填充为3通道显示(借助transforms.Lambda):
transform=T.Compose([
T.Resize(224),
T.CenterCrop(224),
T.ToTensor(),
T.Lambda(lambda x: x.repeat(3,1,1)), # 从单通道图片转化成RGB三通道
T.Normalize(mean=[.5,.5,.5],std=[.5,.5,.5])
])