【mmseg—关于mmcv安装问题】

目录

  • 1. 查看你的mmseg版本及各种依赖的版本
    • (1)问题及原因
    • (2)检查版本
  • 2. 安装
    • (1)mmcv与mmcv-full的区别
    • (2)卸载及安装

1. 查看你的mmseg版本及各种依赖的版本

(1)问题及原因

  • 问题
    之前训练过的模型,后来论文大修需要加实验,增加了数据集,但是模型用不了,
  • 原因
    mmseg当时的版本是0.26.0,然后出问题,就下载了升级版的依赖包,结果有些参数就加载不了,而且过的时间比较长,自己也忘了当时下载的是什么版本的mmseg,导致依赖包总是对不上。

(2)检查版本

  • mmseg版本
    【mmseg】文件夹➨【version.py】文件
    在这里插入图片描述
    我的mmseg版本是0.26.0版本,现在我看mmseg最新是1.0.0。
  • mmcv版本
    【mmseg】文件夹 ➨【_init.py】文件
    【mmseg—关于mmcv安装问题】_第1张图片
    可以看到我的MMCV版本要求。

2. 安装

我在加载原来模型的时候,发现mmcv包版本不对,让安装更高版本的,结果安装后,还是不对,显示如下错误。

ImportError: cannot import name ‘revert_sync_batchnorm’ from ‘mmcv.cnn.utils’ (/home/wanghui/anaconda3/envs/mmseg/lib/python3.8/site-packages/mmcv/cnn/utils/init.py)

说明版本不对。因为我安装的mmcv和mmcv-full都比较乱,也不对应。具体看下他俩的区别。

(1)mmcv与mmcv-full的区别

包名 包版本<2.0 包版本>=2.0
mmcv-full 包含 CUDA 算子
mmcv 不包含 CUDA 算子 包含 CUDA 算子
mmcv-lite 不包含 CUDA 算子

(2)卸载及安装

刚开始我是没卸载,都是直接安装对应版本,但是安装后还是不对,出现错误(这个错误有人用方法未引入“mmcv._ext”模块,但是我没用,我用的是下面的方法解决的,其实根本原因还是mmcv的版本问题):

ModuleNotFoundError: No module named ‘mmcv._ext’

以及错误:

AssertionError: MMCV==1.7.0 is used but incompatible. Please install mmcv>=1.3.8, <=1.7.0.

原因大概是我没有卸载干净,主要是每次只卸载mmcv或mmcv-full,后来参考 AssertionError (推荐

  • 卸载mmcv和mmcv-full
# 两个都卸载
pip uninstall mmcv
pip uninstall mmcv-full

  • 安装mmcv版本为1.7.0
pip install mmcv==1.7.0

说明: mmcv的版本既要看

你可能感兴趣的:(pytorch)