[超分辨率重建]ESRGAN算法训练自己的数据集过程

2024-02-08 08:36

本文主要是介绍[超分辨率重建]ESRGAN算法训练自己的数据集过程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、下载数据集及项目包

1. 数据集

1.1 文件夹框架的介绍,如下图所示:主要有train和val,分别有高清(HR)和低清(LR)的图像。

1.2 原图先通过分割尺寸的脚本先将数据集图片处理成两个相同的图像组(HR和LR)。

如训练x4的ESRGAN模型,那么我们需要将HR的图像尺寸与LR的图像尺寸比例是4:1。在我的训练中,我将HR的图像尺寸分割成了480x480,LR的图像分割成了120x120。如下图所示。

随后将分割好的图像按照train和val的分类,分成如1.1图中的文件结构。

2.  项目包

在我的下载资源中有SR项目包的下载,后续上链接。也可以在我上传的资源中下载。

二、训练ESRGAN

ESRGAN模型包括生成模型的训练和判别模型的训练。

2.1 配置RRDBNet_train.py(生成模型)的参数及训练

2.1.1 训练的图像路径设置:dataroot_gt为HR图像的路径、dataroot_lq为LR图像的路径。

2.1.2 batch_size_per_gpu为batchsize的设置,根据显存大小相应设置,显存越大可以设置的值越大,但是训练时间也会增大。

2.1.3 val的数据集路径设置,dataroot_gt为HR的图像路径、dataroot_lq为LR图像的路径。

2.1.4 训练迭代次数的设置,可以设置到10万或者更大

2.1.5 训练结果指标的计算psnr和ssim。val_freq参数为保存结果的频率。下图中我的设置为1e3即1000轮保存一次。

2.1.6 保存训练权重的频率设置。下图中我的设置为1e3,即为1000次保存一次训练权重。

2.1.7 RRDBNet_train.py的训练
python basicsr/train.py -opt options\train\ESRGAN\train_RRDBNet_PSNR_x4.yml

2.2 配置ESRGAN_train.py(判别模型)的参数及训练

2.2.1 ESRGAN_train.py的参数设置

ESRGAN_train.py的参数设置与RRDBNet_train.py相同,但是多了一个pretrain_network_g参数的设置,即填RRDBNet_train.py训练完以后最好的那次权重路径。

2.2.2 ESRGAN_train.py的训练
python basicsr/train.py -opt options\train\ESRGAN\train_RRDBNet_PSNR_x4.yml

三、测试

3.1 测试图片路径的设置

包括HR和LR的路径,分别为dataroot_gt和dataroot_lq。

3.2 ESRGAN模型权重的路径导入

在pretrain_network_g参数中导入ESRGAN模型训练完后生成的权重路径。

四、训练中断后,继续训练

只需要在训练代码后加上--auto_resume

python basicsr/train.py -opt options\train\ESRGAN\train_RRDBNet_PSNR_x4.yml --auto_resume


------------------     今天不学习,明天变垃圾。    ---------------------

这篇关于[超分辨率重建]ESRGAN算法训练自己的数据集过程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

SQL Server修改数据库名及物理数据文件名操作步骤

《SQLServer修改数据库名及物理数据文件名操作步骤》在SQLServer中重命名数据库是一个常见的操作,但需要确保用户具有足够的权限来执行此操作,:本文主要介绍SQLServer修改数据... 目录一、背景介绍二、操作步骤2.1 设置为单用户模式(断开连接)2.2 修改数据库名称2.3 查找逻辑文件名

canal实现mysql数据同步的详细过程

《canal实现mysql数据同步的详细过程》:本文主要介绍canal实现mysql数据同步的详细过程,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的... 目录1、canal下载2、mysql同步用户创建和授权3、canal admin安装和启动4、canal

MySQL存储过程之循环遍历查询的结果集详解

《MySQL存储过程之循环遍历查询的结果集详解》:本文主要介绍MySQL存储过程之循环遍历查询的结果集,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言1. 表结构2. 存储过程3. 关于存储过程的SQL补充总结前言近来碰到这样一个问题:在生产上导入的数据发现

SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程

《SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程》LiteFlow是一款专注于逻辑驱动流程编排的轻量级框架,它以组件化方式快速构建和执行业务流程,有效解耦复杂业务逻辑,下面给大... 目录一、基础概念1.1 组件(Component)1.2 规则(Rule)1.3 上下文(Conte

使用SpringBoot整合Sharding Sphere实现数据脱敏的示例

《使用SpringBoot整合ShardingSphere实现数据脱敏的示例》ApacheShardingSphere数据脱敏模块,通过SQL拦截与改写实现敏感信息加密存储,解决手动处理繁琐及系统改... 目录痛点一:痛点二:脱敏配置Quick Start——Spring 显示配置:1.引入依赖2.创建脱敏

Spring Boot 整合 Apache Flink 的详细过程

《SpringBoot整合ApacheFlink的详细过程》ApacheFlink是一个高性能的分布式流处理框架,而SpringBoot提供了快速构建企业级应用的能力,下面给大家介绍Spri... 目录Spring Boot 整合 Apache Flink 教程一、背景与目标二、环境准备三、创建项目 & 添

详解如何使用Python构建从数据到文档的自动化工作流

《详解如何使用Python构建从数据到文档的自动化工作流》这篇文章将通过真实工作场景拆解,为大家展示如何用Python构建自动化工作流,让工具代替人力完成这些数字苦力活,感兴趣的小伙伴可以跟随小编一起... 目录一、Excel处理:从数据搬运工到智能分析师二、PDF处理:文档工厂的智能生产线三、邮件自动化:

Python数据分析与可视化的全面指南(从数据清洗到图表呈现)

《Python数据分析与可视化的全面指南(从数据清洗到图表呈现)》Python是数据分析与可视化领域中最受欢迎的编程语言之一,凭借其丰富的库和工具,Python能够帮助我们快速处理、分析数据并生成高质... 目录一、数据采集与初步探索二、数据清洗的七种武器1. 缺失值处理策略2. 异常值检测与修正3. 数据

pandas实现数据concat拼接的示例代码

《pandas实现数据concat拼接的示例代码》pandas.concat用于合并DataFrame或Series,本文主要介绍了pandas实现数据concat拼接的示例代码,具有一定的参考价值,... 目录语法示例:使用pandas.concat合并数据默认的concat:参数axis=0,join=

pytest+allure环境搭建+自动化实践过程

《pytest+allure环境搭建+自动化实践过程》:本文主要介绍pytest+allure环境搭建+自动化实践过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、pytest下载安装1.1、安装pytest1.2、检测是否安装成功二、allure下载安装2.