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/时适合上传与评测