numpy中repeat和tile用法,区别于torch.repeat()

2022-10-17 14:07:35

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])
])
  • 作者:justtoomuchforyou
  • 原文链接:https://blog.csdn.net/m0_37663482/article/details/101310444
    更新时间:2022-10-17 14:07:35