news 2026/2/6 7:12:41

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/1/30 16:11:09

大模型部署瓶颈怎么破?用TensorRT镜像实现极致低延迟推理

# 大模型部署瓶颈怎么破&#xff1f;用TensorRT镜像实现极致低延迟推理## 引言在大模型落地的现实战场上&#xff0c;一个残酷的事实是&#xff1a;再强大的模型&#xff0c;如果响应慢、吞吐低&#xff0c;最终也只能停留在实验室里。如今&#xff0c;从智能客服到自动驾驶感知…

作者头像 李华
网站建设 2026/2/4 23:24:39

针灸穴位推荐系统:治疗方案生成由TensorRT智能决策

针灸穴位推荐系统&#xff1a;治疗方案生成由TensorRT智能决策 在现代医疗场景中&#xff0c;医生面对的不仅是复杂的病理机制&#xff0c;还有日益增长的临床决策压力。尤其是在中医领域&#xff0c;如何将千年传承的经验医学与当代人工智能技术深度融合&#xff0c;成为智能化…

作者头像 李华
网站建设 2026/2/5 2:08:35

STM32移植ModbusTCP协议栈的项目应用

在STM32上跑通ModbusTCP&#xff1a;从协议解析到工业级实战的完整路径你有没有遇到过这样的场景&#xff1f;一台HMI屏连不上你的STM32设备&#xff0c;Wireshark抓包一看——“Connection reset by peer”&#xff1b;或者现场PLC读数据时频繁超时&#xff0c;排查半天才发现…

作者头像 李华
网站建设 2026/1/30 16:13:18

大模型服务成本太高?用TensorRT镜像降低GPU资源消耗

大模型服务成本太高&#xff1f;用TensorRT镜像降低GPU资源消耗 在AI应用加速落地的今天&#xff0c;越来越多企业面临着一个尴尬的局面&#xff1a;训练好的大模型一上线&#xff0c;GPU账单就“爆表”。尤其是在高并发、低延迟的生产场景中——比如智能客服实时响应、视频平台…

作者头像 李华
网站建设 2026/2/5 13:01:59

CCS20多文件编译优化协调策略一文说清

一文讲透 CCS20 多文件编译优化&#xff1a;从工程结构到构建提速的实战指南你有没有经历过这样的场景&#xff1f;改了一行代码&#xff0c;点下“Build”&#xff0c;然后眼睁睁看着 IDE 编译了整整两分钟——而项目里大多数文件根本没动过。在基于 TI 芯片的嵌入式开发中&am…

作者头像 李华
网站建设 2026/2/3 11:10:54

WinDbg驱动调试图解说明与步骤解析

深入Windows内核&#xff1a;用WinDbg破解驱动难题的实战指南 你有没有遇到过这样的场景&#xff1f; 刚写完一个设备驱动&#xff0c;满怀信心地安装测试&#xff0c;结果系统“啪”一下蓝屏重启。事件查看器里只留下一行冰冷的日志&#xff1a;“Bug Check 0x1E: KMODE_EXC…

作者头像 李华