126、SwinIR实战:基于Swin Transformer的高效图像超分模型训练与调优一、从一次诡异的训练崩溃说起上个月调SwinIR,跑了一周的数据,突然在第47个epoch loss炸了——从0.008直接跳到0.5,然后模型输出全是灰蒙蒙的噪声。排查了半天,发现是学习率调度器的warmup阶段结束后,lr从1e-4跳到了1e-3,而SwinIR的window attention对lr突变极其敏感。这个坑让我意识到,SwinIR虽然结构优雅,但训练细节比传统CNN模型要讲究得多。二、SwinIR的核心结构:别被论文的图骗了SwinIR的架构其实就三块:浅层特征提取、深层特征提取(Swin Transformer blocks)、重建模块。但实际实现时有个容易忽略的点——深层特征提取部分用的是残差连接堆叠的Swin Transformer blocks,而不是简单的串联。每个block内部包含window-based multi-head self-attention (W-MSA)和shifted window multi-head self-attention (SW-MSA),交替使用。代码里我习惯这样写:classSwinTransformerBl