基于知识蒸馏的轻量化高光谱图像分类模型PyTorch版(ResNet18教师模型+注意力机制学生模型)
基于 ResNet18 的教师模型,加上带注意力机制的学生模型,搞了个挺轻量的高光谱图像分类模型,用的是知识蒸馏思路。全套 PyTorch 实现,结构也清晰,重点部分还加了注释,新手老手都能上手。
训练用的数据集也一并打包好了,直接就能跑通。知识蒸馏部分不是走形式,真的能压模型大小还不掉精度,适合放在终端部署。
你要是对注意力机制感兴趣,项目里学生模型这块设计得还挺巧,结合了通道和空间注意力,效果有提升。顺带你也可以看看这些相关的学习资料,像Pytorch 实现注意力机制和pytorch 学习之注意力机制,写得都还行。
整体用的是 PyTorch 生态,多模块用的原生 API,比如torch.nn和torchvision.models里的resnet18。有需要你也可以按自己的项目需求换成更深的主干网络,改动也不算麻烦。
哦对了,别忘了看看这个ResNet 加注意力源码,和项目理念挺接近的,思路也能互通。如果你也想做轻量化的图像分类任务,这套代码还蛮值得参考的。
建议训练的时候注意 batch size 和学习率的配合,小数据集建议用batch_size=16,学习率调成1e-4左右更稳。如果你对图像方向感兴趣,也可以顺手看看这个注意力机制的 PPT,讲得还挺直观。
下载地址
用户评论