超分辨率重建——SAN训练自己数据集及推理测试(详细图文教程)

本文主要是介绍超分辨率重建——SAN训练自己数据集及推理测试(详细图文教程),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • 一、源码包下载
  • 二、数据集准备
  • 三、预训练权重文件
  • 四、训练环境
  • 五、训练
    • 5.1 超参数修改
    • 5.2 训练模型
      • 5.2.1 命令方式训练
      • 5.2.2 Configuration配置参数方式训练
    • 5.3 模型保存
  • 六、推理测试
    • 6.1 超参数修改
    • 6.2 测试
      • 6.2.1 命令方式测试
      • 6.2.2 Configuration配置参数方式测试
    • 6.3 测试结果
    • 6.4 推理速度
  • 七、总结

一、源码包下载

源码包有官网提供的和我自己修改过代码提供的,建议学者直接下载我提供的源码包使用,可以少走很多弯路。

官网源码包下载链接:SAN官网

我提供的源码包:网盘源码包,提取码:0g99

论文地址:论文

我提供的源码包下载并解压后的样子如下:

在这里插入图片描述

二、数据集准备

在我提供的源码包中有部分训练集和测试集,位于根目录下的data_data文件夹中。DIV2K训练集官网提供的有900张图像,我提供的源码包中有100张,学者可以自己去官网下载完整版DIV2K数据集,我这里提供主要是想告诉学者训练集目录结构关系,如下:

在这里插入图片描述

三、预训练权重文件

预训练权重文件子在源码包中已经提供,存放位置如下,分别有超分2倍,3倍,4倍的预训练权重模型。

在这里插入图片描述

四、训练环境

测代码框架必须在低版本的Pytorch中才能运行,安装低版本的Pytorch如果遇到问题,参考我另外一篇博文:_update_worker_pids问题

我自己在Windows环境上训练并测试的,运行环境如下:

在这里插入图片描述

五、训练

5.1 超参数修改

该代码框架所有的路径都必须用绝对路径才能正确读取数据,不信的倔驴试试!

在这里插入图片描述

关于训练的所有超参数修改都在TrainCode文件夹下的option.py文件中,学者自行根据自己情况修改其它超参数。

5.2 训练模型

5.2.1 命令方式训练

先在终端通过下面命令进入到训练脚本路径下:

cd TrainCode

在输入下面命令进行训练:

ython main.py --model san --save save_name --scale 2 --n_resgroups 20 --n_resblocks 10 --n_feats 64 --reset --chop --save_results --patch_size 20 --cpu --batch_size 8

5.2.2 Configuration配置参数方式训练

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

上面两种填写配置参数的方式都可以训练,学者根据个人喜好选择。

配置参数填写好后就可以直接训练了,我自己是在CPU上训练的,因为Pytorch版本太低,牵连到CUDA和CuDNN版本不兼容的问题,要重新配置环境等问题,我懒得折腾了,就直接用CPU训练测试了,学者根据自己情况使用GPU或者CPU,如果要用GPU,把我提供的源码包main.py脚本中的代码注释了,如下:

在这里插入图片描述

5.3 模型保存

运行上面命令后,等待一段时间就开始训练了,如下:

在这里插入图片描述

训练过程的模型权重会自动保存到根目录下的experiment文件夹中,如下:

在这里插入图片描述

六、推理测试

6.1 超参数修改

测试脚本有一个专门对应的配置文件,名字也是option.py,参数很多,自行根据情况修改,如下:

在这里插入图片描述

下面是修改测试结果的保存路径,这部分代码是我自己添加的,官网源码包中没有保存测试结果的脚本,如下:

在这里插入图片描述

6.2 测试

6.2.1 命令方式测试

在终端输入以下命令进入到测试脚本的路径下:

cd TestCode/code

再输入以下命令后回车测试:

python main.py --model san --data_test MyImage --save save_name --scale 4 --n_resgroups 20 --n_resblocks 10 --n_feats 64 --reset --chop --save_results --test_only --testpath F:/Code/Python/SAN/SAN/Test_Images/INF --testset Set5 --pre_train F:/Code/Python/SAN/SAN/experiment/save_name/model/model_best.pt --cpu

上面命令中可以修改超分倍数:–scale参数;测试集路径:–testpath;训练好的模型权重路径:–pre_train;其它参数自行修改

6.2.2 Configuration配置参数方式测试

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

6.3 测试结果

运行过程如下:

在这里插入图片描述

测试保存的结果图像在根目录Result_Images文件夹中,如下:

在这里插入图片描述

6.4 推理速度

我只在CPU上测试了推理速度,图像大小:12090,超分4倍,推理速度:12s/fps。图像大小512512,超分2倍,推理速度:39s/fps。

七、总结

以上就是超分辨率重建——SAN网络训练自己数据集及推理测试的详细图文教程,欢迎留言讨论。

总结不易,多多支持,谢谢!

这篇关于超分辨率重建——SAN训练自己数据集及推理测试(详细图文教程)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/504176

相关文章

VMware9.0详细安装

双击VMware-workstation-full-9.0.0-812388.exe文件: 直接点Next; 这里,我选择了Typical(标准安装)。 因为服务器上只要C盘,所以我选择安装在C盘下的vmware文件夹下面,然后点击Next; 这里我把√取消了,每次启动不检查更新。然后Next; 点击Next; 创建快捷方式等,点击Next; 继续Cont

大语言模型(LLMs)能够进行推理和规划吗?

大语言模型(LLMs),基本上是经过强化训练的 n-gram 模型,它们在网络规模的语言语料库(实际上,可以说是我们文明的知识库)上进行了训练,展现出了一种超乎预期的语言行为,引发了我们的广泛关注。从训练和操作的角度来看,LLMs 可以被认为是一种巨大的、非真实的记忆库,相当于为我们所有人提供了一个外部的系统 1(见图 1)。然而,它们表面上的多功能性让许多研究者好奇,这些模型是否也能在通常需要系

(超详细)YOLOV7改进-Soft-NMS(支持多种IoU变种选择)

1.在until/general.py文件最后加上下面代码 2.在general.py里面找到这代码,修改这两个地方 3.之后直接运行即可

【服务器运维】MySQL数据存储至数据盘

查看磁盘及分区 [root@MySQL tmp]# fdisk -lDisk /dev/sda: 21.5 GB, 21474836480 bytes255 heads, 63 sectors/track, 2610 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical)

Java注解详细总结

什么是注解?         Java注解是代码中的特殊标记,比如@Override、@Test等,作用是:让其他程序根据注解信息决定怎么执行该程序。         注解不光可以用在方法上,还可以用在类上、变量上、构造器上等位置。 自定义注解  现在我们自定义一个MyTest注解 public @interface MyTest{String aaa();boolean bbb()

SQL Server中,查询数据库中有多少个表,以及数据库其余类型数据统计查询

sqlserver查询数据库中有多少个表 sql server 数表:select count(1) from sysobjects where xtype='U'数视图:select count(1) from sysobjects where xtype='V'数存储过程select count(1) from sysobjects where xtype='P' SE

Steam邮件推送内容有哪些?配置教程详解!

Steam邮件推送功能是否安全?如何个性化邮件推送内容? Steam作为全球最大的数字游戏分发平台之一,不仅提供了海量的游戏资源,还通过邮件推送为用户提供最新的游戏信息、促销活动和个性化推荐。AokSend将详细介绍Steam邮件推送的主要内容。 Steam邮件推送:促销优惠 每当平台举办大型促销活动,如夏季促销、冬季促销、黑色星期五等,用户都会收到邮件通知。这些邮件详细列出了打折游戏、

X-AnyLabeling使用教程

1.AI 模型自动分割标注使用教程 2.AI 模型自动目标检测标注使用教程

YOLO v3 训练速度慢的问题

一天一夜出了两个模型,仅仅迭代了200次   原因:编译之前没有将Makefile 文件里的GPU设置为1,编译的是CPU版本,必须训练慢   解决方案: make clean  vim Makefile make   再次训练 速度快了,5分钟迭代了500次

气象站的种类和应用范围可以根据不同的分类标准进行详细的划分和描述

气象站的种类和应用范围可以根据不同的分类标准进行详细的划分和描述。以下是从不同角度对气象站的种类和应用范围的介绍: 一、气象站的种类 根据用途和安装环境分类: 农业气象站:专为农业生产服务,监测土壤温度、湿度等参数,为农业生产提供科学依据。交通气象站:用于公路、铁路、机场等交通场所的气象监测,提供实时气象数据以支持交通运营和调度。林业气象站:监测林区风速、湿度、温度等气象要素,为林区保护和