import torch
import torch.nn as nn
import torch
a = torch.randn(1, 32, 1024, 2048) # 创建一个1x32x1024x2048的输入,BNWH格式
conv3x1 = torch.nn.Conv2d(32, 32, (3, 1),padding=0) # 3x1卷积
conv1x3 = torch.nn.Conv2d(32, 32, (1, 3),padding=1) # 1x3卷积
conv3x3 = torch.nn.Conv2d(32, 32, (3, 3),padding=1) # 1x3卷积
out = conv3x1(a)
print(out.shape) # 进行了3x1后的output的形状
out = conv1x3(out)
print(out.shape)
out = conv3x3(a)
print(out.shape)
# torch.Size([1, 32, 1022, 2048])
# torch.Size([1, 32, 1024, 2048])
# torch.Size([1, 32, 1024, 2048])
注意非对称卷积只可以有一个卷积使用padding,不然与普通卷积输出的尺寸不一致