{"id":21582,"library":"mmcv-full","title":"MMCV Full (OpenMMLab Computer Vision Foundation)","description":"OpenMMLab computer vision foundation library providing CUDA/C++ ops, data transforms, and utilities for deep learning. Current PyPI version is 1.7.2 (legacy mmcv-full). MMCV has been unified into a single `mmcv` package starting from v2.0.0; mmcv-full is no longer updated for v2.x. Release cadence: occasional.","status":"maintenance","version":"1.7.2","language":"python","source_language":"en","source_url":"https://github.com/open-mmlab/mmcv","tags":["computer-vision","deep-learning","cuda","data-transform","openmmlab"],"install":[{"cmd":"pip install -U openmim && mim install mmcv-full","lang":"bash","label":"Recommended via mim (handles CUDA/PyTorch compatibility)"},{"cmd":"pip install mmcv-full","lang":"bash","label":"Direct pip install (may cause version mismatches)"}],"dependencies":[{"reason":"Required for all ops and tensor operations","package":"torch","optional":false},{"reason":"Required for training modules (Runner, Hook) ; optional for inference","package":"mmengine","optional":true}],"imports":[{"note":"Wildcard import pollutes namespace; not recommended","wrong":"from mmcv import *","symbol":"mmcv","correct":"import mmcv"}],"quickstart":{"code":"import mmcv\nimport numpy as np\nfrom PIL import Image\n\n# Load an image from file\nimg = mmcv.imread('path/to/image.jpg')\nprint('Image shape:', img.shape)\n\n# Apply a filter (example: Gaussian blur)\nblurred = mmcv.gaussian_blur(img, kernel_size=5)\n\n# Resize image\nresized = mmcv.imresize(img, (224, 224))\n\n# Visualize or save\nmmcv.imwrite(resized, 'resized.jpg')","lang":"python","description":"Basic usage: image I/O and transforms."},"warnings":[{"fix":"For new projects, use `mmcv` (v2.x) with `mmengine`. For existing code, stay on mmcv-full or upgrade with adaptation.","message":"mmcv-full v1.x and mmcv v2.x are not API compatible. mmcv-full v1.x uses `from mmcv.runner` etc. mmcv v2.x moved training modules to mmengine.","severity":"breaking","affected_versions":"mmcv-full==1.x vs mmcv>=2.0.0"},{"fix":"Use `pip install -U openmim && mim install mmcv-full` to auto-select correct wheel.","message":"pip install mmcv-full may install a CPU-only build or fail due to missing CUDA support. Always verify the built wheel matches your torch version and CUDA.","severity":"gotcha","affected_versions":"all"},{"fix":"Migrate to `mmcv` (v2.x) + `mmengine` for new projects.","message":"mmcv-full is deprecated for v2.x. New features and fixes are only on the unified `mmcv` package (v2.x).","severity":"deprecated","affected_versions":">=2.0.0"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Use `mim install mmcv-full` to install a pre-built wheel matching your environment, or rebuild from source.","cause":"Mismatch between compiled ops and installed PyTorch/CUDA version.","error":"ModuleNotFoundError: No module named 'mmcv._ext'"},{"fix":"If using v1.x, ensure correct version. For v2.x, use `mmengine` for fused BN.","cause":"Function was removed in mmcv v2.0.0. mmcv-full v1.7.2 still has it.","error":"ImportError: cannot import name 'fuse_conv_bn' from 'mmcv'"},{"fix":"Load with `map_location='cuda:0'` or set CUDA_VISIBLE_DEVICES appropriately.","cause":"Model saved with multi-GPU but loaded on single GPU.","error":"RuntimeError: Attempting to deserialize object on CUDA device 1 but torch.cuda.device_count() is 1"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}