MCPcopy Index your code
hub / github.com/open-mmlab/mmcv

github.com/open-mmlab/mmcv @v2.2.0 sqlite

repository ↗ · DeepWiki ↗ · release v2.2.0 ↗
1,504 symbols 4,841 edges 251 files 436 documented · 29% 3 cross-repo links
README

 

<b><font size="5">OpenMMLab 官网</font></b>
<sup>
  <a href="https://openmmlab.com">
    <i><font size="4">HOT</font></i>
  </a>
</sup>
&nbsp;&nbsp;&nbsp;&nbsp;
<b><font size="5">OpenMMLab 开放平台</font></b>
<sup>
  <a href="https://platform.openmmlab.com">
    <i><font size="4">TRY IT OUT</font></i>
  </a>
</sup>

 

platform PyPI - Python Version pytorch cuda PyPI badge codecov license

📘使用文档 | 🛠️安装教程 | 🤔报告问题

English | 简体中文

Highlights

OpenMMLab 团队于 2022 年 9 月 1 日在世界人工智能大会发布了新一代训练引擎 MMEngine,它是一个用于训练深度学习模型的基础库。相比于 MMCV,它提供了更高级且通用的训练器、接口更加统一的开放架构以及可定制化程度更高的训练流程。

MMCV v2.0.0 正式版本于 2023 年 4 月 6 日发布。在 2.x 版本中,它删除了和训练流程相关的组件,并新增了数据变换模块。另外,从 2.x 版本开始,重命名包名 mmcvmmcv-lite 以及 mmcv-fullmmcv。详情见兼容性文档

MMCV 会同时维护 1.x (对应原 master 分支) 和 2.x(对应 main 分支,现为默认分支)版本,详情见分支维护计划

简介

MMCV 是一个面向计算机视觉的基础库,它提供了以下功能:

MMCV 支持多种平台,包括:

  • Linux
  • Windows
  • macOS

如想了解更多特性和使用,请参考文档

提示: MMCV 需要 Python 3.7 以上版本。

安装

MMCV 有两个版本:

  • mmcv: 完整版,包含所有的特性以及丰富的开箱即用的 CUDA 算子。注意完整版本可能需要更长时间来编译。
  • mmcv-lite: 精简版,不包含 CUDA 算子但包含其余所有特性和功能,类似 MMCV 1.0 之前的版本。如果你不需要使用 CUDA 算子的话,精简版可以作为一个考虑选项。

注意: 请不要在同一个环境中安装两个版本,否则可能会遇到类似 ModuleNotFound 的错误。在安装一个版本之前,需要先卸载另一个。如果 CUDA 可用,强烈推荐安装 mmcv

安装 mmcv

在安装 mmcv 之前,请确保 PyTorch 已经成功安装在环境中,可以参考 PyTorch 官方安装文档。如果你使用的是搭载 apple silicon 的 mac 设备,请安装 PyTorch 1.13+ 的版本。

安装 mmcv 的命令如下:

pip install -U openmim
mim install mmcv

如果需要指定 mmcv 的版本,可以使用以下命令

mim install mmcv==2.0.0

如果发现上述的安装命令没有使用预编译包(以 .whl 结尾)而是使用源码包(以 .tar.gz 结尾)安装,则有可能是我们没有提供和当前环境的 PyTorch 版本、CUDA 版本相匹配的 mmcv 预编译包,此时,你可以源码安装 mmcv

使用预编译包的安装日志

Looking in links: https://download.openmmlab.com/mmcv/dist/cu102/torch1.8.0/index.html

Collecting mmcv

Downloading https://download.openmmlab.com/mmcv/dist/cu102/torch1.8.0/mmcv-2.0.0-cp38-cp38-manylinux1_x86_64.whl

使用源码包的安装日志

Looking in links: https://download.openmmlab.com/mmcv/dist/cu102/torch1.8.0/index.html

Collecting mmcv==2.0.0

Downloading mmcv-2.0.0.tar.gz

更多安装方式请参考安装文档

安装 mmcv-lite

如果你需要使用和 PyTorch 相关的模块,请确保 PyTorch 已经成功安装在环境中,可以参考 PyTorch 官方安装文档

pip install -U openmim
mim install mmcv-lite

FAQ

如果你遇到了安装问题或者运行时问题,请查看问题解决页面是否已有解决方案。如果问题仍然没有解决,欢迎提 issue

贡献指南

我们感谢所有的贡献者为改进和提升 MMCV 所作出的努力。请参考贡献指南来了解参与项目贡献的相关指引。

许可证

MMCV 目前以 Apache 2.0 的许可证发布,但是其中有一部分功能并不是使用的 Apache2.0 许可证,我们在 许可证 中详细地列出了这些功能以及他们对应的许可证,如果您正在从事盈利性活动,请谨慎参考此文档。

分支维护计划

MMCV 目前有四个分支,分别是 main、1.x、master 和 2.x,其中 2.x 为 main 分支的别名,master 为 1.x 分支的别名,2.x 和 master 这两个分支在将来会被删除。MMCV 的分支经历以下三个阶段:

阶段 时间 分支 说明
公测期 2022.9.1 - 2023.4.5 公测版代码发布在 2.x 分支;默认主分支 master 仍对应 1.x 版本 master 和 2.x 分支正常进行迭代
兼容期 2023.4.6 - 2023.12.31 2.x 分支重命名为 main 分支并设置为默认分支;1.x 分支对应 1.x 版本 保持对旧版本 1.x 的维护和开发,响应用户需求,但尽量不引进破坏旧版本兼容性的改动;main 分支正常进行迭代
维护期 2024.1.1 - 待定 默认主分支 main 为 2.x 版本;1.x 分支对应 1.x 版本 1.x 分支进入维护阶段,不再进行新功能支持;main 分支正常进行迭代

OpenMMLab 的其他项目

  • MMEngine: OpenMMLab 深度学习模型训练基础库
  • MMCV: OpenMMLab 计算机视觉基础库
  • MIM: MIM 是 OpenMMlab 项目、算法、模型的统一入口
  • MMClassification: OpenMMLab 图像分类工具箱
  • MMDetection: OpenMMLab 目标检测工具箱
  • MMDetection3D: OpenMMLab 新一代通用 3D 目标检测平台
  • MMRotate: OpenMMLab 旋转框检测工具箱与测试基准
  • MMYOLO: OpenMMLab YOLO 系列工具箱与测试基准
  • MMSegmentation: OpenMMLab 语义分割工具箱
  • MMOCR: OpenMMLab 全流程文字检测识别理解工具箱
  • MMPose: OpenMMLab 姿态估计工具箱
  • MMHuman3D: OpenMMLab 人体参数化模型工具箱与测试基准
  • MMSelfSup: OpenMMLab 自监督学习工具箱与测试基准
  • MMRazor: OpenMMLab 模型压缩工具箱与测试基准
  • MMFewShot: OpenMMLab 少样本学习工具箱与测试基准
  • MMAction2: OpenMMLab 新一代视频理解工具箱
  • MMTracking: OpenMMLab 一体化视频目标感知平台
  • MMFlow: OpenMMLab 光流估计工具箱与测试基准
  • MMEditing: OpenMMLab 图像视频编辑工具箱
  • MMGeneration: OpenMMLab 图片视频生成模型工具箱
  • MMDeploy: OpenMMLab 模型部署框架

欢迎加入 OpenMMLab 社区

扫描下方的二维码可关注 OpenMMLab 团队的 知乎官方账号,加入 OpenMMLab 团队的 官方交流 QQ 群,或添加微信小助手”OpenMMLabwx“加入官方交流微信群。

我们会在 OpenMMLab 社区为大家

  • 📢 分享 AI 框架的前沿核心技术
  • 💻 解读 PyTorch 常用模块源码
  • 📰 发布 OpenMMLab 的相关新闻
  • 🚀 介绍 OpenMMLab 开发的前沿算法
  • 🏃 获取更高效的问题答疑和意见反馈
  • 🔥 提供与各行各业开发者充分交流的平台

干货满满 📘,等你来撩 💗,OpenMMLab 社区期待您的加入 👬

Core symbols most depended-on inside this repo

size
called by 276
mmcv/video/io.py
get
called by 44
mmcv/video/io.py
backward
called by 43
mmcv/ops/knn.py
bias_act
called by 32
mmcv/ops/bias_act.py
read
called by 28
mmcv/video/io.py
filtered_lrelu
called by 26
mmcv/ops/filtered_lrelu.py
wrapper
called by 25
mmcv/utils/parrots_jit.py
func
called by 20
tests/data/config/n.py

Shape

Method 775
Function 452
Class 260
Route 17

Languages

Python100%

Modules by API surface

mmcv/transforms/processing.py61 symbols
tests/test_transforms/test_transforms_processing.py46 symbols
mmcv/video/io.py32 symbols
mmcv/transforms/wrappers.py32 symbols
mmcv/cnn/utils/flops_counter.py32 symbols
mmcv/cnn/bricks/transformer.py27 symbols
tests/test_transforms/test_transforms_wrapper.py26 symbols
mmcv/ops/sparse_conv.py25 symbols
tests/test_utils/test_parrots_jit.py22 symbols
tests/test_image/test_photometric.py22 symbols
mmcv/ops/modulated_deform_conv.py21 symbols
mmcv/ops/deform_conv.py20 symbols

For agents

$ claude mcp add mmcv \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact