当前位置: 首页 > news >正文

Restormer 去雨(Deraining)任务代码运行全流程

本文将系统梳理基于 Restormer 模型实现图像去雨(Deraining)任务的完整流程,涵盖代码执行逻辑、核心文件架构及关键操作步骤,为实验的理解与复现提供清晰指引。若需获取适配新版环境的 Restormer 配置教程(含避坑要点),可参考链接:https://blog.csdn.net/m0_73969619/article/details/155617054?spm=1001.2014.3001.5501

一、核心运行指令解析

执行去雨任务的核心启动指令如下:

cd Restormer ./train.sh Deraining/Options/Deraining_Restormer.yml

该指令的本质是调用训练主程序并传入配置参数,等价于直接运行:

python basicsr/train.py -opt Deraining/Options/Deraining_Restormer.yml

其中train.sh是封装好的启动脚本,仅用于简化指令执行;所有训练所需的参数(如数据集路径、模型超参数、训练轮次等)均定义在Deraining/Options/Deraining_Restormer.yml配置文件中,最终实际运行的是basicsr/train.py训练主程序。

二、核心文件夹结构说明

1. basicsr 文件夹(核心代码目录)

该文件夹包含模型训练、测试的核心逻辑及网络架构定义,关键文件 / 子文件夹如下:

  • train.py:模型训练主程序,负责加载配置、构建网络、执行训练流程,最终生成预训练的.pth模型文件。
  • test.py:模型测试主程序,训练完成后用于执行标准评估流程,加载预训练模型对测试集图像进行去雨处理。
  • models/archs/restormer_arch.py:Restormer 网络架构实现文件,严格复现论文中提出的 Restormer 网络结构,是模型的核心组成部分。

2. experiments 文件夹(训练结果存储目录)

该文件夹与basicsr文件夹同级,训练过程中自动生成,用于保存训练相关结果,以去雨任务为例:

  • Deraining_Restormer/models:存放不同迭代次数下生成的.pth模型文件(如每 1000 轮保存一次模型)。
  • Deraining_Restormer/training_states:保存训练状态信息(如当前迭代数、优化器参数、学习率等),用于中断后恢复训练,避免从头开始训练。

3. Deraining 文件夹(去雨任务专属目录)

该文件夹包含去雨任务的数据集、预训练模型、测试结果及评估脚本,具体如下:

  • Datasets:存放去雨任务的训练 / 测试数据集,目录结构:
    Datasets/ ├── train/ │ └── Rain13K/ # 训练数据集 │ ├── input/ # 带雨图像 │ └── target/ # 无雨标签图像 └── test/ # 测试数据集 ├── Rain100H ├── Rain100L ├── Test100 ├── Test1200 └── Test2800
  • download_data.py:数据集下载脚本,内置各数据集的下载链接,可通过该脚本自动下载上述训练 / 测试数据集。
  • pretrained_models:预训练模型存放目录,可存放官方提供的预训练模型(如deraining.pth)或自己训练得到的.pth模型。
  • results:测试结果存储目录,需手动创建,用于存放test.py运行后生成的去雨修复图像。
  • evaluate_PSNR_SSIM.m:MATLAB 评估脚本,用于计算去雨后的图像(Deraining/results/下)与原始无雨图像(Deraining/Datasets/test/下)的 PSNR 和 SSIM 指标(需根据实际路径调整脚本中的文件路径)。
  • test.py:去雨任务专属测试脚本,加载预训练模型,读取Deraining/Datasets/test下的带雨测试图像,执行去雨处理后,将修复图像保存至Deraining/results目录。

三、完整代码运行流程

1. 模型训练流程

# 1. 进入项目根目录 cd Restormer # 2. 激活conda环境(根据实际环境名称调整) conda activate pytorch118 # 3. 执行训练脚本,生成预训练模型 ./train.sh Deraining/Options/Deraining_Restormer.yml

核心目标:完成模型训练,在experiments/Deraining_Restormer/models下生成预训练.pth文件。

2. 模型测试与评估流程

# 1. 进入项目根目录 cd Restormer # 2. 激活conda环境 conda activate pytorch118 # 3. 执行测试脚本,生成去雨修复图像(保存至Deraining/results) python test.py # 4. 运行MATLAB脚本,计算PSNR/SSIM评估指标 matlab -nodisplay -batch "evaluate_PSNR_SSIM"

核心目标:第一步生成去雨修复图像,第二步计算修复图像与真实无雨图像的 PSNR/SSIM,完成模型性能评估。

注意:所有涉及文件路径的地方(如evaluate_PSNR_SSIM.m中的图像路径),需根据本地实际存储路径调整。

http://www.jsqmd.com/news/73224/

相关文章:

  • 机器学习基础(线性,逻辑回归)
  • 程序员转行到大模型开发领域,以下是几个推荐的方向、推荐原因以
  • 游戏三子棋
  • Windows11制作docker linux-arm64镜像
  • Wsappx进程异常占用的深度解析与修复方案
  • Windows11安装docker
  • 2025年12月乌兹别克斯坦EAC认证,SGR认证,OTTC认证公司推荐,综合服务能力与资质解析 - 品牌鉴赏师
  • Cameralink采集软件-Espeedgrab软件应用【2.存储图片和视频】
  • 容器化部署在软件许可优化中的应用:跨部门资源共享实践
  • 2025年可观测平台选型指南:头部厂商综合测评与推荐
  • AcWing 846:树的重心 ← 类似“东方博宜OJ 2190:树的重心”代码
  • 2025年12月海关联盟GOST认证,PAC认证,工业安全认证公司推荐:合规服务测评与选择指南 - 品牌鉴赏师
  • VS2022二次元背景板痛改教程!
  • docker启动mysql及部分命令回顾
  • 狮子关的绿,藏着风与猕猴的悄悄话
  • 山西临汾卤制品制作技艺的技术路径分析
  • 12月11日日记
  • 2025最新的电子实验记录本软件,引领科研数字化变革的智能中枢
  • 【量子机器学习调试终极指南】:手把手教你用VSCode攻克QML代码难题
  • Teams Agent开发避坑指南,90%新手都会忽略的3大陷阱
  • Java学习日志--常见类库(上)
  • 浩辰CAD看图王电脑版:轻松解决CAD转PDF方向问题
  • 5个必学的Conda命令实战案例
  • 直播带货APP开发的核心流程:推流端、观看端与运营端后台搭建指南
  • 电子书免费 下载 网站 哪些
  • AI工具整体查看代码工程并给出建议
  • 2025 最新广州RYT200培训机构评测!市场主流五大瑜伽馆深度解析,权威认证 + 资深导师团榜单发布,引领专业瑜伽教学新生态 - 全局中转站
  • 用循环神经网络生成0^n 1^n形式的简单序列
  • AcWing 846:树的重心 ← 链式前向星 or 邻接表
  • PyMe是一款面向大众的可视化低代码Python开发工具