SegFormer的环境配置包括Windows和Linux系统
segformer的环境配置在于MMCV-full这个库的配置,在Windows下配置这个文件十分的折磨人。但是在我查询的过程中找到了一个别人复现的版本,可以避开MMCV这个库。
首先需要会配置pytorch环境,详细配置步骤见另外一篇文章
pytorch超级详细的安装教程
先不要急于配置,需要根据显卡的版本来确定配置的pytorch的版本。
Windows系统下面的配置(这是在Windows环境下找到的最简单的运行版本)
如果使用mmcv的方法进行配置,配置过程是十分的折磨人,并且经常会出现一些莫名其妙的错误,很是折磨人。但是我在查询的过程中找到了一个别人复现的版本,这个版本很简单就能够运行SegFormer,但是相对的效果可能没有官方版好。(我没有拿来实验,猜的)
这个项目只需要配置torch==1.2.0 ,项目连接如下:
项目地址
因为这个torch版本很早了,现在在官网上面下载的pytorch版本都很高,目前已经出到2.0的版本了,因此这个环境需要下载之前的pytorch版本,具体下载方法看上面链接里面的文章,链接如下:
pytorch以往版本链接
配置好环境之后,直接打开运行项目中的
predict.py
就可以了。按照操作输入图片路径就可以
效果图如下:
Linux系统下环境配置
因为模型版本很早,因此GitHub上面的代码给出的cuda版本是10.2,但是目前服务器显卡有很多是30系列的显卡(3090之类的),,该系列的显卡已经不支持cuda版本是10.x的环境了,需要11.x的环境,博主在踩了居多坑的之后终于运行成功。
segformer-Github地址
首先是环境部分:
- 显卡3090
- 环境:pytorch1.7.0
- CUDA:11.1(安装mmcv的时候按照版本是11.0安装的)
- mmcv-full == 1.2.7(根据网上的方案尝试了1.4.2,1.6.1全部失败,把环境都搞坏了)
- 其他需要安装的包如下:
pip install torchvision==0.8.2
pip install timm==0.3.2
pip install opencv-python==4.5.1.48
pip install IPython
我是先安装的
mmcv-full
在安装的上面的包
mmcv-full版本
如果设置的pytorch和cuda版本与上面的一致,直接运行下面的命令就好
pip install mmcv-full==1.2.7 -f https://download.openmmlab.com/mmcv/dist/cu110/torch1.7.0/index.html
简直不要太方便
安装完这些包之后,需要执行一条命令,
需要注意此时目录应该在Segformer下面
pip install -r requirements.txt
完成上面的步骤之后
需要在再执行一条命令
pip install -e . --user
网上说如果这一步出现错误是mmcv-full配置出现错误的原因,我按照上面的方法进行配置并没有出现错误
然后需要下载权重文件,建议直接下载到
Segformer
文件夹下面下载,我下载这两个,下载链接在GitHub链接里面。
下载完成之后,执行命令就可以看到结果图了
命令如下:
python demo/image_demo.py demo/demo.png local_configs/segformer/B1/segformer.b1.1024x1024.city.160k segformer.b1.1024x1024.city.160k.pth --device cuda:0 --palette cityscapes
注意如果选择ade的模型文件,所有文件都要与ade有关,如果选择city的模型文件,语句中的所有文件都要是city相关的,最后一个参数需要修改为cityscapes,如果选择ade同样
结果图如下: