提前说明,安装MMSegmentation,需要配置:pytorch,cuda,mmcv,MMSegmentation
找到一套适合的版本是关键,首先根据mmcv安装文档确定:

然后再根据自己电脑的显卡驱动确定cuda版本:找到显卡控制面板,打开

点左下角"系统信息"

点击"组件",查看电脑最高支持的cuda版本,不高于显示的即可

那我就暂时确定,安装pytorch2.3,cuda12.1,mmcv2.2.0
一.安装PyTorch
1.确定pytorch安装命令
基础条件:已有Anaconda
方法一:
在pytorch官网找安装命令:以往的 PyTorch 版本 - PyTorch 框架
找到对应版本的命令

bash
pip install torch==2.3.0 torchvision==0.18.0 torchaudio==2.3.0 --index-url https://download.pytorch.org/whl/cu121
方法二:
也可以在镜像网站: pytorch-wheels-cu121安装包下载-开源镜像站-阿里云
找到对应安装包(torch==2.3.0 torchvision==0.18.0 torchaudio==2.3.0),复制链接

bash
https://mirrors.aliyun.com/pytorch-wheels/cu121/torch-2.3.0+cu121-cp39-cp39-win_amd64.whl
https://mirrors.aliyun.com/pytorch-wheels/cu121/torchaudio-2.3.0+cu121-cp39-cp39-win_amd64.whl
https://mirrors.aliyun.com/pytorch-wheels/cu121/torchvision-0.18.0+cu121-cp39-cp39-win_amd64.whl
安装命令
bash
pip install "https://mirrors.aliyun.com/pytorch-wheels/cu121/torch-2.3.0+cu121-cp39-cp39-win_amd64.whl" "https://mirrors.aliyun.com/pytorch-wheels/cu121/torchaudio-2.3.0+cu121-cp39-cp39-win_amd64.whl" "https://mirrors.aliyun.com/pytorch-wheels/cu121/torchvision-0.18.0+cu121-cp39-cp39-win_amd64.whl"
2.创建conda环境,安装pytorch
确定好pytorch安装命令之后,首先打开conda终端

bash
conda create -n mmsegmentation python=3.10

创建成功激活conda环境
bash
conda activate mmsegmentation
安装pytorch

出现successfully表示安装成功

查看pytorch安装情况:
bash
python -c 'import torch;print(torch.__version__)'
成功:

一条命令查看cuda,pytorch,显卡是否可用
bash
python -c "import torch; print('PyTorch:', torch.__version__); print('CUDA:', torch.version.cuda); print('显卡可用:', torch.cuda.is_available()); print('显卡型号:', torch.cuda.get_device_name(0) if torch.cuda.is_available() else '无')"
成功:

查看cudnn,安装 PyTorch 的 GPU 版本时,PyTorch 已经自带了对应版本的 cuDNN 动态链接库,这里只是检查一下:
bash
python -c "import torch; print(f'cuDNN是否可用: {torch.backends.cudnn.is_available()}'); print(f'cuDNN版本: {torch.backends.cudnn.version()}')"
成功:

如果出现NumPy 版本太新了(2.2.6)的问题,降级即可,pip install "numpy<2.0",没有问题则忽略.
二.安装mmcv
在官网Installation --- mmcv 2.2.0 documentation选好版本,复制安装命令

bash
pip install mmcv==2.2.0 -f https://download.openmmlab.com/mmcv/dist/cu121/torch2.3/index.html


出现successfully表示安装成功
三.安装 MMSegmentation
参考官网:mmsegmentation/docs/zh_cn/get_started.md at main · open-mmlab/mmsegmentation
我这里选择情况a

在电脑上合适位置新建文件夹,cd切换到这个文件夹,然后用下面命令下载mmsegmentation,mmsegmentation会被下载到我切换到的这个目录(MMSegmentation)中
bash
git clone -b main https://github.com/open-mmlab/mmsegmentation.git


继续安装:
bash
cd mmsegmentation
pip install -v -e .


出现successfully表示安装成功
检查:
bash
python -c "import mmseg; import torch; print(f'MMSeg版本: {mmseg.__version__}');"
报错:

根据报错信息,找到报错的文件D:\MMSegmentation\mmsegmentation\mmseg\init.py,以及对应的行,第61行

报错原因:mmcv_max_version最大版本是2.2.0,我们的版本是2.2.0,比较的时候,没有等号,导致报错
解决:加上等号即可

成功:

四.验证是否安装成功

官网测试写的是用mim下载配置文件,这里也可以手动在官网下载配置文件:
mmsegmentation/configs/pspnet at main · open-mmlab/mmsegmentation

下载链接
在项目目录下新建文件夹,讲.pth文件下载到该文件夹中


验证推理demo
bash
python demo/image_demo.py demo/demo.png configs/pspnet/pspnet_r50-d8_4xb2-40k_cityscapes-512x1024.py checkpoints/pspnet_r50-d8_512x1024_40k_cityscapes_20200605_003338-2966598c.pth --device cuda:0 --out-file result.jpg
注意在项目根目录下运行命令,方便配置文件以及模型参数文件能找到
报错1:

解决:
bash
pip install "numpy<2.0"
报错2:

解决:
bash
pip install ftfy
成功:

在当前目录生成result.jpg文件
