DRSformer Rain200H 省钱推理复现笔记
DRSformer Rain200H 省钱推理复现笔记论文DRSformer: Efficient Transformer for Image Deraining (CVPR 2023)仓库https://github.com/cschenxiang/DRSformer复现环境AutoDL · RTX 3090 · PyTorch 2.1.2 CUDA 12.1复现日期2026-10-12复现模式零训练 · 仅推理pretrained weights目录摘要一、复现目标与边界1.1 为什么选 Rain200H 作为推理复现目标1.2 边界说明HQ-RAIN 权重未公开二、材料准备与上传策略2.1 需要上传的四件材料2.2 测试集精简打包1095 MB → 106 MB2.3 费用控制无卡模式上传三、环境配置与五个必踩坑四、推理执行4.1 权重路径写死的处理4.2 推理命令与耗时五、评测口径与实现5.1 用 Python 替代 Matlab5.2 官方口径核实六、结果与交叉验证6.1 实测结果6.2 与官方产物逐张交叉验证6.3 论文 32.17 dB 的口径结论七、结论与延伸7.1 三条结论7.2 对综述论点的实证支撑7.3 可选延伸附录 A完整命令速查附录 B文件清单与成本附录 C术语速查摘要AutoDL 零训练复现 DRSformerCVPR 2023加载官方权重对 Rain200H 的 200 对图推理评测GPU 耗时 96 秒、成本不足 1 元实测 Y 通道 PSNR 30.87 dB 与作者官方输出 30.868 dB 逐张一致论文 32.17 dB 系另一测试划分所致。一、复现目标与边界1.1 为什么选 Rain200H 作为推理复现目标官方仓库公开的预训练权重覆盖五个经典基准Rain200L、Rain200H、DID-Data、DDN-Data、SPA-Data。其中 Rain200H 兼具以下三点优势最适合作为省钱复现的切入集考量维度Rain200H 情况说明训练集规模1800 对评测只用 200 对测试图测试集体积小上传快权重体积约 129 MB百度网盘本地下载后上传约 5 分钟架构依赖默认DRSformer_arch.py无需替换架构文件反面对照Rain200L 与 SPA-Data 的权重在训练时未启用 MEFC 模块必须替换架构文件多一步操作DID-Data 测试集 1201 张耗时最长。1.2 边界说明HQ-RAIN 权重未公开需要明确一条边界本文笔记所依托的 TPAMI 2025 综述Towards Unified Deep Image Deraining提出的HQ-RAIN 基准官方并未公开 DRSformer 的对应权重。HQ-RAIN 仓库只提供数据集与评测代码。因此本次复现的目标限定为经典基准的推理结果重建不涉及 HQ-RAIN 上的合成域冠军结论。这一限制不影响复现的方法学价值——它验证的是官方权重 → 官方产物这条链路是否可被完整重建。二、材料准备与上传策略2.1 需要上传的四件材料文件大小用途DRSformer-main.zip9.6 MB源码含test.py、架构定义、Matlab 评测脚本deraining_Rain200H.pth129 MBRain200H 预训练权重Rain200H_test_only.zip105.7 MB精简测试集200 对eval_psnr_ssim.py4 KB指标评测脚本官方test.py不算指标2.2 测试集精简打包1095 MB → 106 MBRain200H 原始压缩包内train955 MB与test106 MB两部分并存而推理阶段完全不需要训练集。上传前先在本地重打包只保留 test 部分上传体积压缩约 10 倍importzipfile srczipfile.ZipFile(rRain200H.zip)dstzipfile.ZipFile(rRain200H_test_only.zip,w,zipfile.ZIP_DEFLATED)forinfoinsrc.infolist():ifinfo.filename.startswith(Rain200H/test/)andnotinfo.is_dir():dst.writestr(info.filename,src.read(info.filename))dst.close()测试集内部结构为Rain200H/test/input/*.png200 张雨图与Rain200H/test/target/*.png200 张真值两侧文件名均为1.png … 200.png与仓库默认路径天然对齐无需重命名。2.3 费用控制无卡模式上传上传期间 GPU 按量计费仍在计费。合理做法是先以无卡模式开机约 ¥0.1/时完成上传与解压再关机切换正常模式跑推理。本机实测上传 4 个文件约 10–30 分钟无卡模式与 3090 模式之间的费用差可达数元。三、环境配置与五个必踩坑环境配置阶段共遇到五个问题逐一记录根因与解法#现象根因解法1pip install报Could not find a version … (from versions: none)先前执行的source /etc/network_turbo残留http_proxy/https_proxy代理劫持了国内 PyPI 镜像请求unset http_proxy https_proxy HTTP_PROXY HTTPS_PROXY或显式指定-i https://pypi.tuna.tsinghua.edu.cn/simple2安装后被依赖解析器警告 numpy 冲突运行时报compiled using NumPy 1.x cannot be run in NumPy 2.xscikit-image连带将 numpy 升级至 2.2.6而镜像自带 PyTorch 是按 numpy 1.x 编译的钉回兼容版本pip install numpy1.26.4 opencv-python-headless4.10.0.843torch.cuda.is_available()返回False无卡模式下实例隐藏 GPUCUDA_VISIBLE_DEVICES被置空关机后以正常模式3090开机环境装在系统盘、数据在数据盘关机不丢4推理进度条显示1/1只处理了 1 张图目标目录已存在同名文件cp -r把 200 张图复制进了test/input/input/子目录而test.py只扫描顶层rm -rf test/input cp -r ../Rain200H/test/input test/input用ls test/input | wc -l确认输出 2005libgomp: Invalid value for environment variable OMP_NUM_THREADS镜像预设的该环境变量取值非法export OMP_NUM_THREADS8仅消除告警不影响结果第 4 条最值得记录它不会报错只会静默地把工作量从 200 张降到 1 张若只看流程是否跑通而不核对张数极易带着错误的评测结论离开。四、推理执行4.1 权重路径写死的处理test.py中的权重路径是硬编码的mkdir-ppretrained_modelsmvderaining_Rain200H.pth pretrained_models/deraining.pth# 必须改名为 deraining.pth未改名会直接报FileNotFoundError: pretrained_models/deraining.pth。4.2 推理命令与耗时python test.py--taskDeraining--input_dir./test/input/--result_dir./test/output/实测结果指标数值处理张数200 / 200耗时1 分 36 秒吞吐2.08 it/s输出目录test/output/Deraining/test.py只负责把去雨结果写入磁盘不计算任何指标——这是官方仓库的设计指标需要用evaluations/下的 Matlab 脚本自行评测。以测试图 1雪地场景为例去雨效果如下图所示五、评测口径与实现5.1 用 Python 替代 Matlab为免在实例上安装 Matlab本次用eval_psnr_ssim.py实现官方的 Matlab 评测等价逻辑按文件名数字编号自动配对1.png ↔ 1.png无需人工对齐逐张计算 PSNR / SSIM末尾输出平均值可选写入 txt 留档默认 RGB 通道--y开关切换 Y 通道BT.601。python eval_psnr_ssim.py--predtest/output/Deraining--gt../Rain200H/test/target--outmetrics_final_rgb.txt5.2 官方口径核实通读官方评测脚本Evalution_Rain200L_Rain200H_SPA-Data/evaluate_PSNR_SSIM.m后确认三点PSNR/SSIM 在rgb2ycbcr后的Y 通道上计算无边界裁剪不做 border shave按目录顺序配对与按编号配对等价。Python 实现与 Matlab 存在约 0.1 dB 量级的差异主要来自 YCbCr 量化范围属正常范围。六、结果与交叉验证6.1 实测结果口径平均 PSNR平均 SSIM本文复现输出 · RGB30.80780.9219本文复现输出 · Y (BT.601)30.86750.9237作者官方输出 · Y (BT.601)30.86760.9237论文 Table 132.170.93306.2 与官方产物逐张交叉验证为判定 32.17 与 30.87 之间约 1.36 dB 的差距成因下载作者放出的官方视觉结果Rain200H200 张并用同一脚本评测与本文输出逐张比对张数一致官方结果同样为 200 张命名为1.png … 200.png均值一致30.8676 与 30.8675相差 0.0001 dB逐张一致单图数值对齐到小数点后第三位残差处于 PNG 编解码量化噪声量级。该结果表明权重加载、数据流、推理管线、评测口径全部与作者官方行为一致本文复现为零偏差重建。6.3 论文 32.17 dB 的口径结论关键推论是连作者自己放出的官方输出在这套 200 对测试集上也只得到 30.87 dB。这说明论文 32.17 dB 并非在这套分发的测试集上测得而是来自另一测试划分最可能是 Yang et al. 的标准 100 对划分或作者内部版本。在正式引用时两组数字必须分开标注本笔记实测30.81 dB (RGB) / 30.87 dB (Y)作者提供的 200 对扩展测试集全量论文报告32.17 dB / 0.9330论文原始测试口径。已排除的其他假设附验证方式假设验证方式结论前 100 张即标准测试集分半统计前半 30.85 / 后半 30.47不成立Y 通道口径差异--y复测Y 相对 RGB 仅 0.06 dB不足以解释评测配对错误检查unmatched计数200 张全部匹配unmatched: 0七、结论与延伸7.1 三条结论复现判定标准应当升级在官方权重可直接下载的场景下与论文数字相差 0.1 dB 以内并不是唯一标准与作者官方产物逐张一致是更强的证据本次复现达到后者差 0.0001 dB而前者反而不成立。基准口径是复现报告的必要信息同一权重、同一套测试文件仅因论文数字所依据的划分不同就能产生 1.36 dB 的系统性差异。任何复现笔记都应显式声明测试集版本与评测通道。成本可控零训练推理复现单个基准Rain200HGPU 占用约 40 分钟总花费不足 1 元。7.2 对综述论点的实证支撑本文的实测结果可视为对合成域表现 ≠ 真实域泛化这一主线论点的一个旁证HQ-RAIN 综述指出合成域冠军模型在真实域上泛化弱于融合领域知识的 CNN。本次复现补充了另一层观察——即使在合成域内部基准划分这一实验设定本身也会显著影响绝对数值。讨论模型优劣时若不锚定统一的评测口径跨论文比较将失去意义。7.3 可选延伸方向操作要点Rain200L / SPA-Data需替换架构文件cp DRSformer_arch_200LSPA.py DRSformer_arch.py这两集训练时未用 MEFCDID-Data / DDN-Data默认架构即可DID 测试集 1201 张耗时最长HQ-RAIN权重未公开只能引用综述数字或自行训练附录 A完整命令速查# ---- 环境准备无卡模式即可 ----cd/root/autodl-tmpunzipDRSformer-main.zipcdDRSformer-main pipinstall-ihttps://pypi.tuna.tsinghua.edu.cn/simple opencv-python-headless scikit-image natsort tqdm einops pipinstallnumpy1.26.4opencv-python-headless4.10.0.84# ---- 摆放权重与数据 ----mkdir-ppretrained_modelsmv../deraining_Rain200H.pth pretrained_models/deraining.pthunzip../Rain200H_test_only.zip-d..mkdir-ptestcp-r../Rain200H/test/input test/inputlstest/input|wc-l# 必须输出 200# ---- 推理切换 3090 正常模式 ----python test.py--taskDeraining--input_dir./test/input/--result_dir./test/output/# ---- 评测 ----python eval_psnr_ssim.py--predtest/output/Deraining--gt../Rain200H/test/target--outmetrics_final_rgb.txt python eval_psnr_ssim.py--predtest/output/Deraining--gt../Rain200H/test/target--y--outmetrics_ours_y.txt# ---- 打包结果并关机 ----cdtest/outputzip-r/root/autodl-tmp/deraining_rain200h_output.zip Derainingcd../..shutdown附录 B文件清单与成本项目数值上传材料总量约 245 MB4 个文件权重文件字节数校验134,971,977 B与本地一致推理耗时1 分 36 秒200 张RTX 3090GPU 总占用约 40 分钟总成本不足 ¥1无卡模式上传 3090 推理留档文件metrics_final_rgb.txt、metrics_ours_y.txt、metrics_official.txt、deraining_rain200h_output.zip。附录 C术语速查术语含义DRSformerCVPR 2023 提出的高效图像去雨 Transformer含 MEFC 模块MEFCMixed Efficient Feed-forward / 多尺度特征协作模块Rain200L 与 SPA 训练时未启用Rain200H含重雨heavy rain的合成去雨基准1800 训练对 200 测试对HQ-RAINTPAMI 2025 综述提出的统一评测基准运动模糊合成雨纹 alpha 融合约 5000 对PSNR峰值信噪比去雨任务主指标越高越好SSIM结构相似度取值 [0,1]越高越好无卡模式AutoDL 的 CPU-only 计费模式约 ¥0.1/时适合上传与评测

相关新闻

网络专业自我鉴定写作指南:从CLI命令到HR认可的技术叙事

网络专业自我鉴定写作指南:从CLI命令到HR认可的技术叙事

简介:本资源是一份面向计算机网络专业应届毕业生的个人自我鉴定范文,适用于求职简历附件、毕业材料整理或思政类课程作业参考。文档内容结构完整,涵盖思想品德、专业学习、实践能力、综合素质与职业展望五大维度,突出网络专业特色…

2026/10/13 3:26:50 阅读更多 →
基于转子磁场定向的飞轮储能机侧PQ控制与网侧恒压双闭环协调策略研究(Simulink仿真实现)

基于转子磁场定向的飞轮储能机侧PQ控制与网侧恒压双闭环协调策略研究(Simulink仿真实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 &#x1f381…

2026/10/13 3:25:49 阅读更多 →
Python控制流进阶:从语法到程序思维的跃迁

Python控制流进阶:从语法到程序思维的跃迁

1. 为什么“选择”和“循环”不是语法题,而是程序思维的分水岭刚带完一批新人项目实训,有位A同学交上来一段代码:用if嵌套了七层判断,每个分支里又塞了三个for循环,最后还加了个while True收尾。他很认真地问我&#x…

2026/10/13 3:25:49 阅读更多 →

最新新闻

基于STM32的GPS导航:从NMEA解析到控制量完整实现

基于STM32的GPS导航:从NMEA解析到控制量完整实现

简介:这是一份基于STM32微控制器与UC/GUI图形库的GPS导航系统相关工程源码,面向嵌入式开发者以及正在学习STM32、GPS应用和GUI编程的学生。资源以STM32为主控芯片,通过UART或SPI接口接收GPS模块的NMEA协议数据,完成经纬度解析、定…

2026/10/13 21:09:59 阅读更多 →
Sa-Token过滤器引发CORS误判:OPTIONS预检被拦截的排查与修复

Sa-Token过滤器引发CORS误判:OPTIONS预检被拦截的排查与修复

这个问题的标题里有一个关键词——“误判”。在绝大多数CORS报错的排查复盘里,大家习惯把锅甩给浏览器,觉得它又在发神经。但实际经历过Sa-Token过滤器引发的CORS误判之后,我才意识到,浏览器这个“判官”其实一丝不苟,…

2026/10/13 21:09:59 阅读更多 →
人格障碍诊断系统毕业设计:从判分引擎到报告可视化完整实现

人格障碍诊断系统毕业设计:从判分引擎到报告可视化完整实现

如果你在毕业设计选题里看到“人格障碍诊断系统”这几个字,先别急着把它归类成普通的增删改查项目。这个题目看起来是典型的SpringBootVueMySQL管理信息系统,但真正做起来,它比学生管理系统、图书管理系统多了一层核心业务逻辑——量表测评、…

2026/10/13 21:09:59 阅读更多 →
MLX90614红外测温实战:发射率、SMBus与标定排错全攻略

MLX90614红外测温实战:发射率、SMBus与标定排错全攻略

简介:这是一份基于51单片机与MXL90614红外测温模块的完整工程代码包,适合单片机初学者、嵌入式爱好者以及需要快速实现非接触测温显示的开发者使用。工程直接面向“读取红外传感器—数据处理—LCD1602显示”的完整链路,能帮助读者直接用现成代…

2026/10/13 21:09:59 阅读更多 →
SDR# x86分发包驱动PlutoSDR:从兼容性到采样率与增益调优

SDR# x86分发包驱动PlutoSDR:从兼容性到采样率与增益调优

简介:软件定义无线电(SDR)的核心价值在于用软件替代固定硬件,能灵活适应多种通信协议和频段,近年来受到无线电爱好者、科研人员与工程师的广泛重视。这里提供的是一份针对Pluto SDR设备优化定制的SDR#接收软件包&#…

2026/10/13 21:09:59 阅读更多 →
鸽哒IM源码:生产级私有化即时通讯系统解析

鸽哒IM源码:生产级私有化即时通讯系统解析

简介:这是一套完整的跨平台即时通讯(IM)系统源码,面向中高级Java/Android/iOS开发者及全栈工程师,用于学习和搭建企业级实时通信服务。资源涵盖Web(WebSocketHTML5)、Android(JavaFC…

2026/10/13 21:08:58 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 21:05:09 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →