open-mmlab / mmcv

OpenMMLab Computer Vision Foundation
https://mmcv.readthedocs.io/en/latest/
Apache License 2.0
5.73k stars 1.61k forks source link

Installing mmcv on google colab #3059

Open saheban opened 3 months ago

saheban commented 3 months ago

Prerequisite

Environment

google colab: pytorch: 2.2.1 cuda: 12.1

Reproduces the problem - code sample

Not applicable

Reproduces the problem - command or script

!pip install wheel !pip install openmim !mim install mmengine !mim install mmcv

Reproduces the problem - error message

Requirement already satisfied: wheel in /usr/local/lib/python3.10/dist-packages (0.43.0) Collecting openmim Downloading openmim-0.3.9-py2.py3-none-any.whl (52 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 52.7/52.7 kB 916.9 kB/s eta 0:00:00 Requirement already satisfied: Click in /usr/local/lib/python3.10/dist-packages (from openmim) (8.1.7) Collecting colorama (from openmim) Downloading colorama-0.4.6-py2.py3-none-any.whl (25 kB) Collecting model-index (from openmim) Downloading model_index-0.1.11-py3-none-any.whl (34 kB) Collecting opendatalab (from openmim) Downloading opendatalab-0.0.10-py3-none-any.whl (29 kB) Requirement already satisfied: pandas in /usr/local/lib/python3.10/dist-packages (from openmim) (1.5.3) Requirement already satisfied: pip>=19.3 in /usr/local/lib/python3.10/dist-packages (from openmim) (23.1.2) Requirement already satisfied: requests in /usr/local/lib/python3.10/dist-packages (from openmim) (2.31.0) Requirement already satisfied: rich in /usr/local/lib/python3.10/dist-packages (from openmim) (13.7.1) Requirement already satisfied: tabulate in /usr/local/lib/python3.10/dist-packages (from openmim) (0.9.0) Requirement already satisfied: pyyaml in /usr/local/lib/python3.10/dist-packages (from model-index->openmim) (6.0.1) Requirement already satisfied: markdown in /usr/local/lib/python3.10/dist-packages (from model-index->openmim) (3.5.2) Collecting ordered-set (from model-index->openmim) Downloading ordered_set-4.1.0-py3-none-any.whl (7.6 kB) Collecting pycryptodome (from opendatalab->openmim) Downloading pycryptodome-3.20.0-cp35-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.1/2.1 MB 35.8 MB/s eta 0:00:00 Requirement already satisfied: tqdm in /usr/local/lib/python3.10/dist-packages (from opendatalab->openmim) (4.66.2) Collecting openxlab (from opendatalab->openmim) Downloading openxlab-0.0.36-py3-none-any.whl (302 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 302.5/302.5 kB 33.2 MB/s eta 0:00:00 Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests->openmim) (3.3.2) Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests->openmim) (3.6) Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests->openmim) (2.0.7) Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests->openmim) (2024.2.2) Requirement already satisfied: python-dateutil>=2.8.1 in /usr/local/lib/python3.10/dist-packages (from pandas->openmim) (2.8.2) Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas->openmim) (2023.4) Requirement already satisfied: numpy>=1.21.0 in /usr/local/lib/python3.10/dist-packages (from pandas->openmim) (1.25.2) Requirement already satisfied: markdown-it-py>=2.2.0 in /usr/local/lib/python3.10/dist-packages (from rich->openmim) (3.0.0) Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /usr/local/lib/python3.10/dist-packages (from rich->openmim) (2.16.1) Requirement already satisfied: mdurl~=0.1 in /usr/local/lib/python3.10/dist-packages (from markdown-it-py>=2.2.0->rich->openmim) (0.1.2) Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.8.1->pandas->openmim) (1.16.0) Collecting oss2~=2.17.0 (from openxlab->opendatalab->openmim) Downloading oss2-2.17.0.tar.gz (259 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 259.5/259.5 kB 20.5 MB/s eta 0:00:00 Preparing metadata (setup.py) ... done Collecting requests (from openmim) Downloading requests-2.28.2-py3-none-any.whl (62 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 62.8/62.8 kB 6.4 MB/s eta 0:00:00 Collecting rich (from openmim) Downloading rich-13.4.2-py3-none-any.whl (239 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 239.4/239.4 kB 13.3 MB/s eta 0:00:00 Collecting setuptools~=60.2.0 (from openxlab->opendatalab->openmim) Downloading setuptools-60.2.0-py3-none-any.whl (953 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 953.1/953.1 kB 43.9 MB/s eta 0:00:00 Collecting tqdm (from opendatalab->openmim) Downloading tqdm-4.65.2-py3-none-any.whl (77 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 77.1/77.1 kB 8.7 MB/s eta 0:00:00 Collecting urllib3<1.27,>=1.21.1 (from requests->openmim) Downloading urllib3-1.26.18-py2.py3-none-any.whl (143 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 143.8/143.8 kB 10.7 MB/s eta 0:00:00 Collecting crcmod>=1.7 (from oss2~=2.17.0->openxlab->opendatalab->openmim) Downloading crcmod-1.7.tar.gz (89 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 89.7/89.7 kB 10.9 MB/s eta 0:00:00 Preparing metadata (setup.py) ... done Collecting aliyun-python-sdk-kms>=2.4.1 (from oss2~=2.17.0->openxlab->opendatalab->openmim) Downloading aliyun_python_sdk_kms-2.16.2-py2.py3-none-any.whl (94 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 94.0/94.0 kB 8.8 MB/s eta 0:00:00 Collecting aliyun-python-sdk-core>=2.13.12 (from oss2~=2.17.0->openxlab->opendatalab->openmim) Downloading aliyun-python-sdk-core-2.15.0.tar.gz (443 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 443.1/443.1 kB 35.7 MB/s eta 0:00:00 Preparing metadata (setup.py) ... done Collecting jmespath<1.0.0,>=0.9.3 (from aliyun-python-sdk-core>=2.13.12->oss2~=2.17.0->openxlab->opendatalab->openmim) Downloading jmespath-0.10.0-py2.py3-none-any.whl (24 kB) Requirement already satisfied: cryptography>=2.6.0 in /usr/local/lib/python3.10/dist-packages (from aliyun-python-sdk-core>=2.13.12->oss2~=2.17.0->openxlab->opendatalab->openmim) (42.0.5) Requirement already satisfied: cffi>=1.12 in /usr/local/lib/python3.10/dist-packages (from cryptography>=2.6.0->aliyun-python-sdk-core>=2.13.12->oss2~=2.17.0->openxlab->opendatalab->openmim) (1.16.0) Requirement already satisfied: pycparser in /usr/local/lib/python3.10/dist-packages (from cffi>=1.12->cryptography>=2.6.0->aliyun-python-sdk-core>=2.13.12->oss2~=2.17.0->openxlab->opendatalab->openmim) (2.21) Building wheels for collected packages: oss2, aliyun-python-sdk-core, crcmod Building wheel for oss2 (setup.py) ... done Created wheel for oss2: filename=oss2-2.17.0-py3-none-any.whl size=112372 sha256=b6b213007b1d26332632a37a7521659d9e6db81df9a3de0ffa1310d2c79565a5 Stored in directory: /root/.cache/pip/wheels/87/04/7b/7e61b8157fdf211c5131375240d0d86ca82e2a88ead9672c88 Building wheel for aliyun-python-sdk-core (setup.py) ... done Created wheel for aliyun-python-sdk-core: filename=aliyun_python_sdk_core-2.15.0-py3-none-any.whl size=535311 sha256=62981282cf0ff330e01400b2cbcbc74eba7a56d50aafbd784321ef8af2d209eb Stored in directory: /root/.cache/pip/wheels/b7/28/7c/a888bb3c60c865d014c7ef5017c83fdbc1cb0f601b79c7794a Building wheel for crcmod (setup.py) ... done Created wheel for crcmod: filename=crcmod-1.7-cp310-cp310-linux_x86_64.whl size=31410 sha256=37ff1f3afe374711965bdc7bd57e67867c0827790dcd894eacd9656de7b4db3c Stored in directory: /root/.cache/pip/wheels/85/4c/07/72215c529bd59d67e3dac29711d7aba1b692f543c808ba9e86 Successfully built oss2 aliyun-python-sdk-core crcmod Installing collected packages: crcmod, urllib3, tqdm, setuptools, pycryptodome, ordered-set, jmespath, colorama, rich, requests, model-index, aliyun-python-sdk-core, aliyun-python-sdk-kms, oss2, openxlab, opendatalab, openmim Attempting uninstall: urllib3 Found existing installation: urllib3 2.0.7 Uninstalling urllib3-2.0.7: Successfully uninstalled urllib3-2.0.7 Attempting uninstall: tqdm Found existing installation: tqdm 4.66.2 Uninstalling tqdm-4.66.2: Successfully uninstalled tqdm-4.66.2 Attempting uninstall: setuptools Found existing installation: setuptools 67.7.2 Uninstalling setuptools-67.7.2: Successfully uninstalled setuptools-67.7.2 Attempting uninstall: rich Found existing installation: rich 13.7.1 Uninstalling rich-13.7.1: Successfully uninstalled rich-13.7.1 Attempting uninstall: requests Found existing installation: requests 2.31.0 Uninstalling requests-2.31.0: Successfully uninstalled requests-2.31.0 ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. ipython 7.34.0 requires jedi>=0.16, which is not installed. cvxpy 1.3.3 requires setuptools>65.5.1, but you have setuptools 60.2.0 which is incompatible. google-colab 1.0.0 requires requests==2.31.0, but you have requests 2.28.2 which is incompatible. yfinance 0.2.37 requires requests>=2.31, but you have requests 2.28.2 which is incompatible. Successfully installed aliyun-python-sdk-core-2.15.0 aliyun-python-sdk-kms-2.16.2 colorama-0.4.6 crcmod-1.7 jmespath-0.10.0 model-index-0.1.11 opendatalab-0.0.10 openmim-0.3.9 openxlab-0.0.36 ordered-set-4.1.0 oss2-2.17.0 pycryptodome-3.20.0 requests-2.28.2 rich-13.4.2 setuptools-60.2.0 tqdm-4.65.2 urllib3-1.26.18 WARNING: The following packages were previously imported in this runtime: [_distutils_hack,pkg_resources,setuptools] You must restart the runtime in order to use newly installed versions. Looking in links: https://download.openmmlab.com/mmcv/dist/cu121/torch2.2.0/index.html Collecting mmengine Downloading mmengine-0.10.3-py3-none-any.whl (451 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 451.7/451.7 kB 8.6 MB/s eta 0:00:00 Collecting addict (from mmengine) Downloading addict-2.4.0-py3-none-any.whl (3.8 kB) Requirement already satisfied: matplotlib in /usr/local/lib/python3.10/dist-packages (from mmengine) (3.7.1) Requirement already satisfied: numpy in /usr/local/lib/python3.10/dist-packages (from mmengine) (1.25.2) Requirement already satisfied: pyyaml in /usr/local/lib/python3.10/dist-packages (from mmengine) (6.0.1) Requirement already satisfied: rich in /usr/local/lib/python3.10/dist-packages (from mmengine) (13.4.2) Requirement already satisfied: termcolor in /usr/local/lib/python3.10/dist-packages (from mmengine) (2.4.0) Collecting yapf (from mmengine) Downloading yapf-0.40.2-py3-none-any.whl (254 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 254.7/254.7 kB 11.3 MB/s eta 0:00:00 Requirement already satisfied: opencv-python>=3 in /usr/local/lib/python3.10/dist-packages (from mmengine) (4.8.0.76) Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib->mmengine) (1.2.0) Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib->mmengine) (0.12.1) Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib->mmengine) (4.49.0) Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib->mmengine) (1.4.5) Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib->mmengine) (24.0) Requirement already satisfied: pillow>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib->mmengine) (9.4.0) Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib->mmengine) (3.1.2) Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.10/dist-packages (from matplotlib->mmengine) (2.8.2) Requirement already satisfied: markdown-it-py>=2.2.0 in /usr/local/lib/python3.10/dist-packages (from rich->mmengine) (3.0.0) Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /usr/local/lib/python3.10/dist-packages (from rich->mmengine) (2.16.1) Requirement already satisfied: importlib-metadata>=6.6.0 in /usr/local/lib/python3.10/dist-packages (from yapf->mmengine) (7.0.2) Requirement already satisfied: platformdirs>=3.5.1 in /usr/local/lib/python3.10/dist-packages (from yapf->mmengine) (4.2.0) Requirement already satisfied: tomli>=2.0.1 in /usr/local/lib/python3.10/dist-packages (from yapf->mmengine) (2.0.1) Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.10/dist-packages (from importlib-metadata>=6.6.0->yapf->mmengine) (3.18.0) Requirement already satisfied: mdurl~=0.1 in /usr/local/lib/python3.10/dist-packages (from markdown-it-py>=2.2.0->rich->mmengine) (0.1.2) Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.7->matplotlib->mmengine) (1.16.0) Installing collected packages: addict, yapf, mmengine Successfully installed addict-2.4.0 mmengine-0.10.3 yapf-0.40.2 Looking in links: https://download.openmmlab.com/mmcv/dist/cu121/torch2.2.0/index.html Collecting mmcv Downloading mmcv-2.1.0.tar.gz (471 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 471.4/471.4 kB 10.6 MB/s eta 0:00:00 Preparing metadata (setup.py) ... done Requirement already satisfied: addict in /usr/local/lib/python3.10/dist-packages (from mmcv) (2.4.0) Requirement already satisfied: mmengine>=0.3.0 in /usr/local/lib/python3.10/dist-packages (from mmcv) (0.10.3) Requirement already satisfied: numpy in /usr/local/lib/python3.10/dist-packages (from mmcv) (1.25.2) Requirement already satisfied: packaging in /usr/local/lib/python3.10/dist-packages (from mmcv) (24.0) Requirement already satisfied: Pillow in /usr/local/lib/python3.10/dist-packages (from mmcv) (9.4.0) Requirement already satisfied: pyyaml in /usr/local/lib/python3.10/dist-packages (from mmcv) (6.0.1) Requirement already satisfied: yapf in /usr/local/lib/python3.10/dist-packages (from mmcv) (0.40.2) Requirement already satisfied: matplotlib in /usr/local/lib/python3.10/dist-packages (from mmengine>=0.3.0->mmcv) (3.7.1) Requirement already satisfied: rich in /usr/local/lib/python3.10/dist-packages (from mmengine>=0.3.0->mmcv) (13.4.2) Requirement already satisfied: termcolor in /usr/local/lib/python3.10/dist-packages (from mmengine>=0.3.0->mmcv) (2.4.0) Requirement already satisfied: opencv-python>=3 in /usr/local/lib/python3.10/dist-packages (from mmengine>=0.3.0->mmcv) (4.8.0.76) Requirement already satisfied: importlib-metadata>=6.6.0 in /usr/local/lib/python3.10/dist-packages (from yapf->mmcv) (7.0.2) Requirement already satisfied: platformdirs>=3.5.1 in /usr/local/lib/python3.10/dist-packages (from yapf->mmcv) (4.2.0) Requirement already satisfied: tomli>=2.0.1 in /usr/local/lib/python3.10/dist-packages (from yapf->mmcv) (2.0.1) Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.10/dist-packages (from importlib-metadata>=6.6.0->yapf->mmcv) (3.18.0) Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib->mmengine>=0.3.0->mmcv) (1.2.0) Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib->mmengine>=0.3.0->mmcv) (0.12.1) Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib->mmengine>=0.3.0->mmcv) (4.49.0) Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib->mmengine>=0.3.0->mmcv) (1.4.5) Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib->mmengine>=0.3.0->mmcv) (3.1.2) Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.10/dist-packages (from matplotlib->mmengine>=0.3.0->mmcv) (2.8.2) Requirement already satisfied: markdown-it-py>=2.2.0 in /usr/local/lib/python3.10/dist-packages (from rich->mmengine>=0.3.0->mmcv) (3.0.0) Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /usr/local/lib/python3.10/dist-packages (from rich->mmengine>=0.3.0->mmcv) (2.16.1) Requirement already satisfied: mdurl~=0.1 in /usr/local/lib/python3.10/dist-packages (from markdown-it-py>=2.2.0->rich->mmengine>=0.3.0->mmcv) (0.1.2) Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.7->matplotlib->mmengine>=0.3.0->mmcv) (1.16.0) Building wheels for collected packages: mmcv

Additional information

No response

anony-github commented 3 months ago

Seem that the PyTorch version 2.2.1 in Colab is incompatible with mmcv, you can try install PyTorch 2.1.0 by: pip install torch==2.1.0 torchvision==0.16.0 torchaudio==2.1.0 --index-url https://download.pytorch.org/whl/cu121

This work for me!

cohen-rachel commented 3 months ago

I am having the same issue. I downgraded my pytorch with the line of code from @anony-github and double-checked that I have torch 2.1.0 and cuda 121. In Colab, I've tried to install mmcv with pip and mim, and neither works.

!pip3 install openmim
!mim install mmengine
!mim install "mmcv>=2.0.0,<2.1.0" -f https://download.openmmlab.com/mmcv/dist/cu121/torch2.1.0/index.html

I keep getting the error ERROR: Could not build wheels for mmcv, which is required to install pyproject.toml-based projects

I previously installed mmcv from source (cloning the github) which was working last week but is suddenly not working this week, despite not touching the code since.

anony-github commented 3 months ago

Sorry, forgot to add, you should use mmcv version 2.1.0 mim install mmcv==2.1.0.

Vishalkagade commented 3 months ago

@anony-github Thanks mate. It worked.

ZHANG-ZHENPENG commented 3 months ago

@anony-github I have the same issue. Last week I can still install mmcv without any bug, but this week "Building wheels for collected packages: mmcv" runs forever, I tried different ways to install mmcv, they all aborted. Thanks! This works for me.

thatdev6 commented 1 month ago

I need a version of mmcv less than 1.7.0 to import mmseg and also a full version of it to run training. But I cannott find any way to install it

image

image

and if I do not install a full version I get the following error

image