700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > PyTorch 版本 SRGAN训练和测试 | 超分重建探讨汇总【CVPR ——详尽教程】

PyTorch 版本 SRGAN训练和测试 | 超分重建探讨汇总【CVPR ——详尽教程】

时间:2020-10-31 01:38:20

相关推荐

PyTorch 版本 SRGAN训练和测试 | 超分重建探讨汇总【CVPR  ——详尽教程】

🥇版权:本文由【墨理】原创、在CSDN首发、本博文禁止转载,敬请理解🎉声明:作为全网 AI 领域 干货最多的博主之一,❤️ 不负光阴不负卿 ❤️

声明:博主当前所做实验基本都是在Linux下运行和测试

Windows 搞清楚环境搭建之后、理论上也基本一直、感谢查阅

❤️ 订阅专栏、可直接进 👋 超分技术交流群❤️ 每增加 10 个订阅、专栏价格波动 10、直至C站专栏上限❤️ 每增加 20 个订阅、博主会抽一个周末、为各位小伙伴更新 当年最新专栏研究领域的 Paper 代码运行教程,并附带运行通过的代码和基本测试数据❤️ 专栏价格波动缘由:撰写时间逐渐久远、回复交流的时间成本变大、和小伙伴交流过程中,遇到特别的问题、一般都会及时去回顾更新博文,这样后面订阅的小伙伴其实、少走更多弯路❤️ 相信所有订阅过博主专栏的小伙伴,都能够很快掌握自行高效、快速把一个论文对应源码按照官方 ReadMe 顺利完成效果验证、基础训练的这些科研搬砖基本技能❤️ 如果文章对你有帮助、感谢三连、欢迎订阅❤️ 更新补充于 -12-16 晚上

文章目录

👋 基础信息🥇 环境搭建💙 数据准备❤️ 训练和测试💛 Train💛 Test Benchmark Datasets 🍖 和小伙伴的一些讨论🔴 关于此博文的一些交流 🎉 相关报错🎉 其他实验补充🚀🚀 探讨【如何开始跑实验】🔵 超分重建分局的一些探讨 💬 关于专栏的一点后续 -- 个人建议 -- 按需订阅

👋 基础信息

本博文运行的代码GitHub链接,弱鸡一枚,向各位前辈大佬致敬
PyTorch implementation of SRGAN – 非官方实现

遇到疑问、可第一时间评论区交流、一些专栏博文下面没什么评论、可能原因如下

文章撰写较早、博主开始认真写作时,粉丝才几百个、没什么阅读量该 Paper 关注的小伙伴比较少博主专栏干货文章足够清晰、按照教程、直接跑通

🥇 环境搭建

Ubuntu 16.04.4 LTS \n \l

2080Ti , cuda10.0

conda create -n torch11 python=3.6.9conda activate torch11 conda install pytorch==1.1.0 torchvision==0.3.0 cudatoolkit=10.0 -c pytorchpip install pillow==5.2.0pip install opencv-pythonpip install scipypip install thoppip install matplotlibpip install pandaspip install tqdm

💙 数据准备

我使用的训练数据:DIV2K,如果不知道如何下载,可参考我的这篇博文

图像超分辨率重建数据集看这篇就够了——训练 + 测试 | 【云盘分享】

测试数据:点击上图 gitHub 提供的下载链接下载数据集存放位置如下

这个代码 训练数据只需要HR图片即可:

train.py中设置 训练数据集、和 评估集 路径;

❤️ 训练和测试

💛 Train

python train.pyoptional arguments:--crop_size training images crop size [default value is 88]--upscale_factor super resolution upscale factor [default value is 4](choices:[2, 4, 8])--num_epochs train epoch number [default value is 100]The output val super resolution images are on `training_results` directory.

💛 Test Benchmark Datasets

python test_benchmark.py --upscale_factor 2 --model_name netG_epoch_2_10.pthoptional arguments:--upscale_factor super resolution upscale factor [default value is 4]--model_name generator model epoch name [default value is netG_epoch_4_100.pth]The output super resolution images are on benchmark_results directory.

🍖 和小伙伴的一些讨论

🔴 关于此博文的一些交流

我训练完之后如何将它的生成模型拿出来,然后单独训练我自己的低分辨率图片

该代码训练出的模型位于 srgan_torch/epochs 目录下,做测试时指定 模型 路径即可

SRGAN pytorch 这个 代码做训练 需要 HR 原图 ;(它会把HR 下采样 得到 配对的 LR )然后进行训练;

test_benchmark.py 是对 Set5 、Set14 等数据集进行测试 并且 计算 psnr ;

test_image.py 这个 代码 就是 指定模型,然后针对一张 图片 来 进行 单独 SR 重建的;

如果 你要使用 模型 来 重建自己的 LR 图片 得到 HR ,那么你写一个 for 循环 ,执行 test_image.py(或者把里面的代码 抽取为一个方法进行调用)就可以了;

test_image.py 文件 是怎么运行的?

这个文件是作者项目中的文件,它的代码可以运行,但是如果想大量重建自己某个目录下的图像;该代码尚有一些缺陷,参考该文件代码,重写一份循环调用代码即可;

运行程序,只需传入对应参数即可 运行命令示例

python test_image.py --upscale_factor 2 --model_name netG_epoch_2_100.pth --test_mode CPU --image_name 4x2.png

输出如下

test_image.py:31: UserWarning: volatile was removed and now has no effect. Use `with torch.no_grad():` instead.image = Variable(ToTensor()(image), volatile=True).unsqueeze(0)cost29.748524s

输入和重建得到的图片位置如下,如果是其它目录,需要修改一下该代码才可行

🎉 相关报错

🟧初次训练会自动下载 pytorch版本的 vgg16 model 用来 计算 loss ,考验网速哈:

Linux 系统下 VGG16 模型的安放位置如下:

Windows 安放到哪里呢??? 哪位大佬看到了,欢迎评论区补充 ,给小白同学安排一下

遇到这个错误,可能是因为 下载的 模型 文件是坏的(Danny 同学补充)

🟨CUDA out of memory报错如下:

RuntimeError: CUDA out of memory. Tried to allocate 1018.00 MiB (GPU 0; 7.79 GiB total capacity; 4.72 GiB already allocated; 853.50 MiB free; 1.52 GiB cached)

解决方法:修改 batch_size=4

🟦test_benchmark.py 测试 ssim 计算报错,处理方法如下:

🎉 其他实验补充

显卡 2080Ti , cuda10.0 ,8G

训练数据:DIV2K

训练命令:python train.py

train.py 中 参数设置如下:

parser = argparse.ArgumentParser(description='Train Super Resolution Models')parser.add_argument('--crop_size', default=96, type=int, help='training images crop size')parser.add_argument('--upscale_factor', default=2, type=int, choices=[2, 4, 8],help='super resolution upscale factor')parser.add_argument('--num_epochs', default=100, type=int, help='train epoch number')

训练时长:2小时20分钟 【100 epochs】

测试时长:57s

🚀🚀 探讨【如何开始跑实验】

没想到PyTorch 版本 SRGAN 的关注的新同学还蛮多哈;看来PyTorch是真香啊;就此我说一下个人对此的看法:

其实呢,SRGAN 官方实现现在用的是tensorflow 2.0 --我也做了环境搭建教程

对于新同学而言:

第一步:正确搭建环境第二步:正确设置数据路径第三步:运行训练和测试第四步:主观和客官评估超分重建效果第五步:改进代码,循环以上步骤

最重要(基础)的就是前两步骤,如果新同学遇到问题,建议按照博文教程认真检查一下自己是否落实好基础工作;

大部分看了这个博文的同学都能够直接顺利运行和测试,说明这个教程总体上是充分够用的;

SRGAN 虽然经典,但是这3 年 过去,它终将成为过去,还是建议大家学习近两年 最新的 SR 相关论文和代码;

超分重建-代码环境搭建–专栏 下有几篇 19、的超分代码也一定可以帮助各位参考学习哈;

嗯,最后,感谢您的耐心查阅,博主本人现在已经从 SR 脱坑到图像修复、目标检测(难瘦)了,不过也还在视觉这个深坑里哈,大家一起学习进步啊;

🔵 超分重建分局的一些探讨

🚀 是否需要购买高配置的 GPU🚀 -11 【超分重建 交流】 🚀 刚开始或者跨专业、换方向做这个领域,如何破局🚀 很强的编码能力吗,对于深度学习研究意味着什么

博主维新:bravePatch

欢迎各位对超分重建感兴趣的小伙伴添加上方维新,加入 SR 讨论组,添加时备注 超分重建 即可

感谢各位读者大大查阅

💬 关于专栏的一点后续 – 个人建议 – 按需订阅

这是今天收到的一个同学关于一片博文的评价以及我当即给出的回复 [ -4-22 ]

非常感谢这位同学的评价,让我进一步认识到自己的不足

很多事情并不是非黑即白,也没有绝对的对错

声明一下:超分重建专栏 博文大多来自自己之前比赛和水论文需要,跑了一些相关论文代码;

整体上,围绕相关论文代码展开模型训练、测试推理 、内容比较基础,侧重实战、逻辑排错;

佛系玩家,各位按需订阅即可

博主本人属一个CV 领域的新晋玩家

把自己的工作和学习内容在空闲时间进行梳理和总结,进而发布成博文,非专业运动员;

不可能 超分重建-代码环境搭建-知识总结——专栏 每篇博文您就刚好需要查阅和关注,敬请理解

写东西,说白了,最开始完全是为了取悦自己,逐渐交流的小伙伴多了,我才由最开始的兴奋,转换为逐渐认识到,自己的一些粗浅的博文记录和梳理总结对于小白同学,很多时候的确就能给予相应的有效参考和帮助;

对于CV 领域大佬,还请轻踩;

专栏升级为付费,自然有博主自己的一些人生规划和考虑,这方面不想解释太多;

能够订阅【墨理学AI】超分重建专栏的大部分是大四、研一、转方向的同学超分重建-代码环境搭建-知识总结——专栏 作为小白玩家超分领域代码实战入门教程,必然不负众望通过查阅本专栏博文,能够帮助各位快速收获相关知识技巧和节省更多宝贵时间

搭合适自己的顺风车,即是真正的高效

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。