172、从论文到代码:如何高效复现超分顶会论文并调试关键模块 172、从论文到代码:如何高效复现超分顶会论文并调试关键模块上周帮实验室师弟调一个EDSR的复现代码,发现他对着论文里的“residual scaling”参数愣是调了三天——论文里写的是“set to 0.1”,他照着写进代码,结果训练Loss直接炸到NaN。我一看,他用的PyTorch版本是1.7,而EDSR原始代码里那个scale操作在旧版本里是in-place的,梯度回传直接崩了。这种坑,复现超分论文的人十有八九都踩过。今天这篇笔记,我就从这类真实调试场景切入,聊聊怎么把一篇超分顶会论文从纸面搬到能跑的代码里,重点说那些论文不会写、但代码里必须处理的关键模块。先拆论文骨架,别急着看公式拿到一篇超分论文,比如RCAN、SwinIR或者最新的HAT,第一件事不是读Introduction,而是翻到Method部分,把网络结构图截下来。然后做一件事:用笔圈出所有带“×”或“+”的模块。这些就是你的代码骨架。举个例子,RCAN里那个RIR(Residual In Residual)结构,论文画了个大圈套小圈。你如果直接照着公式写,很容易把残差连接的维度搞混。我的做法是:先写一个空壳类,把每个模块的输入输出shape用注释标出来。classRIR