import torch
from torch import nn
def c_conv2d(conv2d,x):
x= x.reshape((1,1)+x.shape)#增加批量大小和通道数
y = conv2d(x)
return y.reshape(y.shape[2:])##返回y矩阵
conv2d = nn.Conv2d(1,1,kernel_size=3,padding=1)##两边各填充1列
x=torch.rand(size=(8,8))
# print(c_conv2d(conv2d,x).shape)
conv2d = nn.Conv2d(1,1,kernel_size=(3,5),padding=(1,2))
x=torch.rand(size=(8,8))
# print(c_conv2d(conv2d,x).shape)
conv2d = nn.Conv2d(1,1,kernel_size=3,padding=1,stride=2)##步幅为2
x=torch.rand(size=(8,8))
# print(c_conv2d(conv2d,x).shape)
conv2d = nn.Conv2d(1,1,kernel_size=(3,5),padding=(0,1),stride=(3,4))#(8-5+1*2+4)/4 = 2取整
x=torch.rand(size=(8,8))
print(c_conv2d(conv2d,x).shape)