标签:swin-transformer
作者:炼己者
本博客所有内容以学习、研究和分享为主,如需转载,请联系本人,标明作者和出处,并且是非商业用途,谢谢!
1、Swin-Transformer分类源码(已跑通)
2、关于swin transformer原理的一些补充理解
3、Swin-Unet(分割改编)
一. 概要
- 之前Swin-transformer关于分类的源码跑通了,感兴趣的点击上面的链接即可。然后现在又跑通了分割的源码。在这里给大家分享一下。这个坑明显比分类的多。
二. 正文
1、官方swin-transformer源码
戳右边:Swin-Transformer分割源码
这里给个中文版的操作步骤
配置环境
- 1 戳右边:get_started.md
进去之后,按照他说的去操作即可。只需要注意一个点,安装mmcv,这个很重要,没安装好后面跑代码就会各种报错。
安装mmcv我是参照的这篇 https://github.com/open-mmlab/mmcv 。
介绍下我用的命令
pip install mmcv-full==1.2.4 -f https://download.openmmlab.com/mmcv/dist/cu101/torch1.6.0/index.html
两个注意的点,看上面的链接。
A:"cu101",这个指的是cuda的版本,我这边是10.1,所以写101
# 查找cuda的版本方法
cat /usr/local/cuda/version.txt
B:"torch1.6.0",这个很明显,torch的版本
# 查找torch的版本
# 进入到python环境
import torch
print(torch.__version__)
mmcv安装链接改这两个地方就可以了!!!
其他如果安装环境过程提醒你缺少什么什么安装包,直接pip install 招呼即可
比如这个:
# 报这个错误
ImportError: No module named terminaltables
# 那就转手
pip install terminaltables
数据集
环境搞定之后,就是数据集,数据集我下面会分享网盘(5毛9买到,csdn下载还得要币,来,我这儿直接开放出来),官方用的数据集是ADEChallengeData2016这个。大家也可以用自己的数据集,操作操作!
代码
- 把这份代码clone到你的服务器上,或者本地
git clone https://github.com/SwinTransformer/Swin-Transformer-Semantic-Segmentation.git
- 创建运行环境,并进入环境
conda activate open-mmlab
运行代码
有了数据,有了代码,那就运行了
首先是训练的运行方式:
CUDA_VISIBLE_DEVICES=4,5 tools/dist_train.sh configs/swin/upernet_swin_tiny_patch4_window7_512x512_160k_ade20k.py 2 --options model.pretrained="./pth/swin_tiny_patch4_window7_224.pth"
官方给的操作是8张卡,这边两张卡就可以跑了。注意用两张卡,后面是2,8张卡就是8了。就是 --options前面的那个数字!!!不改的话,你直接会报内存溢出错误。
model.pretrained 用的模型并没有和它那个相匹配,不过没影响跑。
然后是测试的运行方式:
我的是训练过程没跑完,给他断掉了,看结果输出文件也没有输出啥模型什么的,这个待定吧。
好了!!!这样操作下来大概率是可以跑通的
数据集以及相关资料分享
ADE2016就是咱们分割要用的数据集
链接:https://pan.baidu.com/s/1OOKj0Ws2BBR29nRMUXFVBQ
提取码:o33w
复制这段内容后打开百度网盘手机App,操作更方便哦--来自百度网盘超级会员V4的分享
3、小结
如果跑的还是有问题,大家可以下面留言,我们交流。接下来我也打算分享自己关于swin-transformer的理解体会,尽可能把过程中收集的资料,文献都分享在这里,大家共同进步。
希望可以帮助到大家,如果你觉得这篇文章对你有一定的帮助,那就点个赞支持一下吧!如果有什么问题的话也可以在文章下面评论,我们一起交流解决问题!
以下是我所有文章的目录,大家如果感兴趣,也可以前往查看
戳右边:打开它,也许会看到很多对你有帮助的文章