前言
越来越多的计算机视觉任务论文代码都在使用mmcv和mmseg库,b站、csdn很多都是之前的安装教程,比如需要下载visual stdio安装c++编译器,mmcv-full,或者就是Linux系统下的安装,这篇文章将提供最新的window系统下的mmcv与mmsegmentation的详细安装配置,只需要跟着步骤来即可
1、创建环境
在配置环境之前要确保是n卡且下载好了cuda,这个cuda版本可以是最新的,能向下兼容,我的主机cuda版本为12.8,官方文档写的是11.8依旧能运行。
紧接着就是创建虚拟环境了,直接在Anaconda powershell prompt创建就行了
虚拟环境名为mmseg,python版本选择3.8,比较稳定
conda create -n mmseg python=3.8
2、安装torch
当环境之后,紧接着就是最重要的一步,pytorch版本和mmcv版本问题,也是很多地方没说的,进入mmcv的官方文档Installation — mmcv 2.2.0 文档https://mmcv.readthedocs.io/zh-cn/latest/get_started/installation.html往下翻,找到配置信息
这里我用的是cuda 11.8,torch 2.0.x,mmcv 2.0.0选择这一项,因为mmcv高版本2.1.0,2.2.0会存在兼容性问题,因此这里选择低版本2.0.0
然后去pytorch官网,找到之前版本,链接如下这里Previous PyTorch Versions | PyTorchhttps://pytorch.org/get-started/previous-versions/ 然后找到v2.0.0的版本
直接复制下方命令即可
# CUDA 11.8
conda install pytorch==2.0.0 torchvision==0.15.0 torchaudio==2.0.0 pytorch-cuda=11.8 -c pytorch -c nvidia
3、安装mmcv
复制在第二步里的pip命令下载mmcv
复制如下命令
pip install mmcv==2.0.0 -f https://download.openmmlab.com/mmcv/dist/cu118/torch2.0/index.html
在mmseg环境里安装mmcv
等待安装完Successfully就行了
4、安装mmseg
参考官方文档的步骤安装没什么问题
欢迎来到 MMSegmentation 的文档! — MMSegmentation 1.2.2 文档https://mmsegmentation.readthedocs.io/zh-cn/latest/index.html官方文档里提供了2种方法,这里我讲第2种安装到虚拟环境里
首先安装openmin,这一步为后续安装文件做准备
pip install -U openmim
直接在mmseg虚拟环境里pip安装mmsegmentation,使用命令
pip install "mmsegmentation>=1.0.0"
在Anaconda命令行里cd进入指定的项目文件夹,例如“E:\Deep_learning”
下载测试的模型以及模型权重到项目中,运行下方代码,即可将下载到该项目文件夹
mim download mmsegmentation --config pspnet_r50-d8_4xb2-40k_cityscapes-512x1024 --dest .
之后进入pycharm,将虚拟环境配置导入好,一定要看是否有mmcv以及mmsegmentation,版本号也要检查一下
5、创建demo验证
在本地创建一个demo.py文件,复制下方测试代码
from mmseg.apis import inference_model, init_model, show_result_pyplot
import mmcv
config_file = 'pspnet_r50-d8_4xb2-40k_cityscapes-512x1024.py'
checkpoint_file = 'pspnet_r50-d8_512x1024_40k_cityscapes_20200605_003338-2966598c.pth'
# 根据配置文件和模型文件建立模型
model = init_model(config_file, checkpoint_file, device='cuda:0')
# 在单张图像上测试并可视化
img = 'demo.png' # or img = mmcv.imread(img), 这样仅需下载一次
result = inference_model(model, img)
# 在新的窗口可视化结果
show_result_pyplot(model, img, result, show=True)
# 或者将可视化结果保存到图像文件夹中
# 您可以修改分割 map 的透明度 (0, 1].
show_result_pyplot(model, img, result, show=True, out_file='result.jpg', opacity=0.5)
# 在一段视频上测试并可视化分割结果
video = mmcv.VideoReader('video.mp4')
for frame in video:
result = inference_model(model, frame)
show_result_pyplot(model, frame, result, wait_time=1)
这里还有个问题就是demo.png图片要去GitHub官网上复制下来,并粘贴到文件夹里,图片的链接如下
然后运行程序
5.1 运行报错
此时运行如果出现报错:DLL load failed while importing _imaging: 找不到指定的模块
在anaconda虚拟环境命令行里将pillow卸载
pip uninstall Pillow
然后再安装
pip install Pillow
此时运行如果出现报错:ModuleNotFoundError: No module named 'ftfy'
直接在命令行里安装ftfy即可
pip install ftfy
最后再运行即可,下方的warning忽略不影响结果,界面右边实现了result结果,测试成功!
以上就是关于Windows下mmcv以及mmseg的安装教程