深度学习应用于图像超分的开山之作——SRCNN

 

SRCNN在今天看来是非常简单的。其实就是用了三个卷积层,没有使用池化层和全连接层。网络结构如下图所示。

 

 

现在这个网络在pytorch用几行代码即可实现,看代码也能直接看出网络里的细节。

from torch import nn

class SRCNN(nn.Module):
    def __init__(self, num_channels=1):
        super(SRCNN, self).__init__()
        self.conv1 = nn.Conv2d(num_channels, 64 ,kernel_size=9, padding=9//2)
        self.conv2 = nn.Conv2d(64, 32,kernel_size=5, padding=5//2)
        self.conv3 = nn.Conv2d(32, num_channels,kernel_size=5, padding=5//2)
        self.relu = nn.ReLU(inplace=True)

def forward(self, x):
    x = self.relu(self.conv1(x))
    x = self.relu(self.conv2(x))
    x = self.conv3(x)
    return x

 

posted @ 2023-01-06 18:05  实数集  阅读(92)  评论(0)    收藏  举报