(EDSR论文实现)pytorch复现1

这篇博客介绍了使用PyTorch复现EDSR(Enhanced Deep Residual Networks)论文的过程,重点讲解了残差模块、上采样模块和模型结构。同时提到了图像增强操作,如随机旋转和翻转,并探讨了计算PSNR和SSIM的方法。在训练模型部分,作者遇到了关于裁剪操作的理解困惑。
摘要由CSDN通过智能技术生成

EDSR 

EDSR

残差模块

常见的残差模块如下图左边,是由两个卷积层组成 。右边是瓶颈残差模块。这里的1*1的卷积是用来进行升维和降维的。

class ResBlock(nn.Module):
    def __init__(self, in_channel=256, out_channel=256, kernel_size=3, stride=1, padding=1,
                 bias=True):
        super(ResBlock, self).__init__()
        layers = [nn.Conv2d(in_channel, out_channel, kernel_size=kernel_size,
EDSR是一种用于图像超分辨率的深度神经网络模型,可以通过增加图像的分辨率来提高图像的质量。以下是使用PyTorch实现EDSR的代码: ```python import torch import torch.nn as nn class ResBlock(nn.Module): def __init__(self, channels): super(ResBlock, self).__init__() self.conv1 = nn.Conv2d(channels, channels, kernel_size=3, stride=1, padding=1, bias=True) self.relu = nn.ReLU(inplace=True) self.conv2 = nn.Conv2d(channels, channels, kernel_size=3, stride=1, padding=1, bias=True) def forward(self, x): residual = x out = self.conv1(x) out = self.relu(out) out = self.conv2(out) out += residual return out class EDSR(nn.Module): def __init__(self, scale_factor, num_resblocks=32, num_filters=256): super(EDSR, self).__init__() self.scale_factor = scale_factor self.sub_mean = MeanShift(1) self.add_mean = MeanShift(1, sign=1) self.head = nn.Conv2d(3, num_filters, kernel_size=3, stride=1, padding=1, bias=True) self.body = nn.Sequential(*[ResBlock(num_filters) for _ in range(num_resblocks)]) self.tail = nn.Conv2d(num_filters, 3 * scale_factor ** 2, kernel_size=3, stride=1, padding=1, bias=True) self.pixel_shuffle = nn.PixelShuffle(scale_factor) def forward(self, x): x = self.sub_mean(x) x = self.head(x) residual = x x = self.body(x) x += residual x = self.tail(x) x = self.pixel_shuffle(x) x = self.add_mean(x) return x ``` 其中,ResBlock是EDSR中的残差块,EDSR是整个模型。在EDSR中,我们使用了MeanShift来对图像进行预处理和后处理,使用了PixelShuffle来进行上采样。在训练过程中,我们可以使用MSE损失函数来计算预测图像与真实图像之间的差异。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一壶浊酒..

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值