news 2026/5/30 12:45:40

MMCV包的安装教程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
MMCV包的安装教程

首先找到conda create -n mmsegmention python=3.8 -y #

找到对应的pytorch与cuda版本

简洁的告诉我,如果我的电脑gpu的cuda版本是12.8,那我在不同的虚拟环境中能不能安装不同的cuda版本,为什么可以安装不同的,而不是12.8?

答案:可以,而且很常见。


🎯 为什么可以

CUDA 有两层:

  1. GPU驱动的CUDA(12.8)
    • 你电脑GPU安装的,不能改
    • 是硬件层面的
  2. PyTorch打包的CUDA(可以任选)
    • 是软件包内部的
    • 只要 ≤ GPU驱动CUDA版本就行
    • 跟GPU驱动的CUDA可以不一样

查看对应的mmcv官网查找对应的mmcv安装:

https://mmcv.readthedocs.io/zh-cn/latest/get_started/installation.html#install-mmcv

https://download.openmmlab.com/mmcv/dist/cu102/torch1.8.0/index.html可查看cu102-torch1.8.0支持的mmcv版本号https://download.openmmlab.com/mmcv/dist/cu102/torch1.8.0/index.html

现在我下载了"D:\download\mmcv_full-1.3.0-cp36-cp36m-manylinux1_x86_64.whl",请问怎么安装到我的虚拟环境中?(swin)

xieqihang@xie666 MINGW64 /d/github/Swin-Transformer-Semantic-Segmentation-main

🎯 cp 是什么

cp = CPython版本号


📋 对应表

cp36 → Python 3.6 cp37 → Python 3.7 cp38 → Python 3.8 cp39 → Python 3.9 cp310 → Python 3.10

📌 你的文件名解析

以这个为例:

mmcv_full-1.4.3-cp38-cp38-win_amd64.whl ^^^^ Python 3.8

⚠️ 重要

你必须下载与你的Python版本匹配的wheel

检查你的Python版本:

python --version

假设输出是Python 3.8.x,那就要下载cp38的wheel:

mmcv_full-1.4.3-cp38-cp38-win_amd64.whl ✓

1.conda create -n swin python3.7

2. https://pytorch.org/get-started/previous-versions/

conda install pytorch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0 cudatoolkit=10.2 -c pytorch

3.export HTTP_PROXY="http://127.0.0.1:7897"
export HTTPS_PROXY="http://127.0.0.1:7897"

4.pip install ./mmcv_full-1.4.0-cp37-cp37m-win_amd64.whl -i https://pypi.tuna.tsinghua.edu.cn/simple

这个报错不是你代码的问题,而是一个非常典型、而且很“致命”的 OpenMMLab 版本冲突问题
我先给你一句话结论,再一步步解释,最后给你必成功的修复方案


❌ 一句话结论(先记住)

你同时安装了mmcv 2.xmmcv-full 1.4.0
而你的项目是基于「老版 mmcv 1.x API」的,
两套 API 完全不兼容,直接导致print_log找不到。


🔍 报错核心是什么?

报错信息

ImportError: cannot import name 'print_log' from 'mmcv'

出错位置

from mmcv import print_log

实际情况

你当前环境里:

mmcv 2.0.0rc1 ❌(新架构) mmcv-full 1.4.0 ❌(老架构) mmengine 0.10.7 ❌(新架构)

👉mmcv 2.x 已经把print_log移走 / 删除了
👉 老代码还在用mmcv.print_log
👉 于是直接炸


🧠 为什么会这样?(原理讲清楚)

OpenMMLab 有一次大重构

时代核心组件
老版(你这个项目)mmcv 1.x + mmcv-full
新版mmcv 2.x + mmengine
老版代码(你的项目在用)
from mmcv import print_log from mmcv.runner import BaseRunner
新版架构(你现在装的)
mmcv 2.x → 只保留 utils / ops mmengine → runner / logging / hooks

👉API 不兼容是“设计层面的”,不是小 bug


🚨 你现在环境里的致命问题(必须修)

❌ 同时存在:

  • mmcv==2.0.0rc1

  • mmcv-full==1.4.0

  • mmengine==0.10.7

这是100% 错误组合


✅ 必成功修复方案(强烈推荐)

🎯 目标版本组合(与你的代码 100% 匹配)

组件版本
Python3.7
torch1.8.0
torchvision0.9.0
mmcv-full1.4.0
mmcv❌ 不单独装
mmengine❌ 不装
mmsegmentation0.29.x / 0.30.x(老版)

🛠️ 修复步骤(一步一步照做)

① 卸载所有冲突包(关键)

pip uninstall mmcv mmcv-full mmengine mmsegmentation -y

确认干净:

pip list | findstr mmcv

👉 不应该再看到 mmcv / mmengine


② 重新安装mmcv-full 1.4.0(只装这一个)

你已经有 wheel,对 Windows 很好:

pip install ./mmcv_full-1.4.0-cp37-cp37m-win_amd64.whl

验证:

python - <<EOF import mmcv print(mmcv.__version__) print(mmcv.print_log) EOF

✅ 应该能 import 成功


③ 安装「老版」mmsegmentation(必须)

pip install mmsegmentation==0.29.1

(如果项目 README 指定了版本,用它)


④ 再跑你的训练命令

python tools/train.py configs/swin/upernet_swin_tiny_224x224_160k_hanfeng.py

❌ 千万不要做的事(重要)

  • ❌ 不要装mmcv==2.x

  • ❌ 不要装mmengine

  • ❌ 不要混用新老 mmseg

  • ❌ 不要 pip install mmcv(会覆盖 mmcv-full)


🧠 一句话总结(你可以拿去给别人解释)

这个错误是由于项目基于 mmcv 1.x,而环境中误装了 mmcv 2.x 和 mmengine,导致旧 API(print_log)缺失。解决方法是回退到 mmcv-full 1.x 并移除 mmcv 2.x 相关组件。


🔥 如果你愿意,我可以继续帮你:

  • 对照你的 GitHub 项目,给你一套“完全一致”的版本表

  • 帮你检查这个 Swin 配置文件是否和 mmseg 版本匹配

  • 一步到位给你一个 environment.yml

我找到问题了!错误显示你使用的是 site-packages 中安装的标准 mmsegmentation,而不是这个项目的自定义版本。这个Swin Transformer项目需要使用项目本地的代码,因为它包含了自定义的 SwinTransformer 实现。

解决办法:

① 手动安装兼容的 timm(不含 safetensors)

pip install -e .

pip install timm==0.4.12

这个版本:

  • ✔ 支持 Python 3.7

  • ✔ 不依赖 safetensors

  • ✔ 与 Swin 早期项目兼容$ pip list
    Package Version Editable project location
    ------------------ ----------- -----------------------------------------------------
    addict 2.4.0
    certifi 2022.12.7
    cycler 0.11.0
    flit_core 3.6.0
    fonttools 4.38.0
    importlib-metadata 6.7.0
    kiwisolver 1.4.5
    markdown-it-py 2.2.0
    matplotlib 3.5.3
    mdurl 0.1.2
    mkl-fft 1.3.1
    mkl-random 1.2.2
    mkl-service 2.4.0
    mmcls 0.25.0
    mmcv-full 1.4.0
    mmsegmentation 0.11.0d:\github\swin-transformer-semantic-segmentation-main
    numpy 1.21.5
    opencv-python 4.12.0.88
    packaging 24.0
    Pillow 9.5.0
    pip 22.3.1
    platformdirs 4.0.0
    prettytable 3.7.0
    Pygments 2.17.2
    pyparsing 3.1.4
    python-dateutil 2.9.0.post0
    PyYAML 6.0
    regex 2024.4.16
    rich 13.8.1
    scipy 1.7.3
    setuptools 65.6.3
    six 1.16.0
    termcolor 2.3.0
    terminaltables 3.1.10
    timm 0.4.12
    tomli 2.0.1
    torch 1.8.0
    torchaudio 0.8.0
    torchvision 0.9.0
    typing_extensions 4.7.1
    wcwidth 0.2.14
    wheel 0.38.4
    wincertstore 0.2
    yapf 0.32.0
    zipp 3.15.0

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/21 11:03:15

新手入门必看:Proteus安装避坑指南

新手也能一次成功的Proteus安装全攻略&#xff1a;避坑、排错、激活一步到位 你是不是也遇到过这种情况&#xff1f;兴冲冲下载了Proteus&#xff0c;准备开始你的第一个单片机仿真项目&#xff0c;结果刚点开安装包就弹出一堆错误——“RPC服务器不可用”、“找不到有效许可证…

作者头像 李华
网站建设 2026/5/29 16:27:51

图解说明STM32平台波形发生器设计原理

从零构建高精度波形发生器&#xff1a;STM32 DDS DAC 实战全解析你有没有遇到过这样的场景&#xff1f;调试一个音频滤波电路时&#xff0c;手头的函数发生器频率步进太大&#xff0c;调不准&#xff1b;做传感器激励实验&#xff0c;想要输出一段特定形状的自定义波形&#…

作者头像 李华
网站建设 2026/5/20 20:19:08

远程手术指导系统:操作建议传输通过TensorRT低延迟保障

远程手术指导系统&#xff1a;操作建议传输通过TensorRT低延迟保障 在一场偏远地区的腹腔镜手术中&#xff0c;主刀医生正面临一个棘手的解剖结构识别问题。他眼前的视野受到组织出血和烟雾干扰&#xff0c;难以判断关键血管走向。此时&#xff0c;远在千里之外的专家并未直接操…

作者头像 李华
网站建设 2026/5/21 0:10:23

Elasticsearch段合并优化:大数据索引查询性能提升技巧

Elasticsearch 段合并优化&#xff1a;大数据索引查询性能提升技巧 关键词&#xff1a;Elasticsearch、段合并、大数据、索引查询性能、优化技巧、Lucene 摘要&#xff1a;本文深入探讨 Elasticsearch 中段合并机制及其对大数据索引查询性能的影响&#xff0c;并详细阐述一系列…

作者头像 李华
网站建设 2026/5/20 23:50:39

入门级项目:通过UART串口实现LED远程控制

从零开始&#xff1a;用UART串口实现LED远程控制&#xff0c;手把手带你入门嵌入式开发你有没有过这样的经历&#xff1f;刚接触单片机时&#xff0c;看着开发板上那一排排引脚和闪烁的LED灯&#xff0c;心里既兴奋又迷茫&#xff1a;“我该怎么让它听我的话&#xff1f;”今天…

作者头像 李华
网站建设 2026/5/23 15:12:40

多代理系统安全防护:对抗恶意AI代理的策略

多代理系统安全防护&#xff1a;对抗恶意AI代理的理论框架与实践策略 关键词 多代理系统&#xff08;MAS&#xff09;、恶意AI代理、安全防护策略、对抗鲁棒性、可信AI、攻击-防御博弈、自适应安全 摘要 本文系统探讨多代理系统&#xff08;Multi-Agent System, MAS&#xff09…

作者头像 李华