news 2026/6/2 22:32:05

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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中的图像路径),需根据本地实际存储路径调整。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/1 23:40:53

Wan2.2-T2V-A14B实现蚕丝织造工艺全流程展示

Wan2.2-T2V-A14B 实现蚕丝织造工艺全流程展示 你有没有想过,一段文字能“长”出一部纪录片? 不是靠剪辑、不是靠动画师一帧帧手绘,而是——输入一句话,AI 自动给你生成丝线在织机上穿梭、蚕茧在热水中缓缓溶解的高清画面。听起来像…

作者头像 李华
网站建设 2026/6/2 13:53:51

交通网络仿真软件:TransModeler_(1).TransModeler软件概述

TransModeler软件概述 1. TransModeler简介 TransModeler是一款强大的交通网络仿真软件,广泛应用于交通规划、设计和管理等领域。它能够模拟各种交通网络和交通流情况,帮助用户评估和优化交通系统的性能。TransModeler的主要功能包括交通网络建模、交通流…

作者头像 李华
网站建设 2026/6/1 23:07:01

5个必学的Conda命令实战案例

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个Jupyter Notebook教程,包含5个Conda命令的实战案例:1. 创建和管理Python虚拟环境;2. 安装特定版本的Python包;3. 导出和共享…

作者头像 李华
网站建设 2026/6/2 20:53:28

F2批量重命名工具终极指南:告别杂乱文件名的7个实战技巧

F2批量重命名工具终极指南:告别杂乱文件名的7个实战技巧 【免费下载链接】f2 F2 is a cross-platform command-line tool for batch renaming files and directories quickly and safely. Written in Go! 项目地址: https://gitcode.com/gh_mirrors/f21/f2 还…

作者头像 李华
网站建设 2026/6/2 4:47:58

5、高级网络分析工具:Wireshark 与 Ettercap 的进阶应用

高级网络分析工具:Wireshark 与 Ettercap 的进阶应用 1. 超越简单捕获的高级 Wireshark 应用 假设你已经对 Wireshark(曾用名 Ethereal)有了一定的使用经验。即使你刚接触渗透测试,在实验环境中也很难避开 Wireshark。如果你对这个出色的数据包分析工具还不熟悉,那你应该…

作者头像 李华
网站建设 2026/6/2 19:50:42

AZ-500云安全架构设计(从Agent部署到实时威胁检测)

第一章:MCP AZ-500 的云 Agent 安全防护在现代云安全架构中,Azure 的 MCP AZ-500 认证所涵盖的云 Agent 安全机制是保障虚拟机工作负载完整性的核心组件。云 Agent 作为运行在 Azure 虚拟机内部的轻量级代理程序,负责与 Azure 控制平面通信&a…

作者头像 李华