ShuffleNet-UNet图像分割模型设计与优化
深度学习里的图像分割模型其实千篇一律,但这个基于ShuffleNet和UNet混搭出来的版本,还挺有点意思的。
PyTorch 写的代码,结构比较清晰,编码器和解码器分工明确,还能自由切换用普通的DoubleConv
还是轻量化的ShuffleNetBlock
。如果你想试试模型加速,又不想太折腾,这套代码还蛮适合的。
重点来了,ShuffleNetBlock
不光是卷积搞得花里胡哨,像什么逐点卷积、通道混洗、深度可分离卷积,都整进来了。跑起来速度快,资源占用也少,适合部署场景玩一下。
解码器这边也不复杂,ConvTranspose2d
搞上采样,再加跳跃连接,熟悉的UNet 结构套路都在。输出层预测图,你可以自己试试测试流程,代码里也写好了,调试比较顺。
如果你搞过图像分割,对 PyTorch 有点基础,想深入折腾下模型优化方案,尤其对比看看轻量化网络和传统模块的差别,那可以花点时间研究下。
哦对了,如果你想扩展下思路,下面这些资源也能帮你搭配着看:
建议你在跑代码时,记得查看每个模块的输出维度,能更快理解整个结构怎么串起来的。
下载地址
用户评论