installation.md 11 KB
Newer Older
Zaida Zhou's avatar
Zaida Zhou committed
1
2
3
4
## Installation

There are two versions of MMCV:

Zaida Zhou's avatar
Zaida Zhou committed
5
6
- **mmcv**: comprehensive, with full features and various CUDA ops out of box. It takes longer time to build.
- **mmcv-lite**: lite, without CUDA ops but all other features, similar to mmcv\<1.0.0. It is useful when you do not need those CUDA ops.
Zaida Zhou's avatar
Zaida Zhou committed
7

Zaida Zhou's avatar
Zaida Zhou committed
8
```{warning}
9
Do not install both versions in the same environment, otherwise you may encounter errors like `ModuleNotFound`. You need to uninstall one before installing the other. `Installing the full version is highly recommended if CUDA is avaliable`.
Zaida Zhou's avatar
Zaida Zhou committed
10
```
Zaida Zhou's avatar
Zaida Zhou committed
11
12
13

a. Install the full version.

14
Before installing mmcv, make sure that PyTorch has been successfully installed following the [official guide](https://pytorch.org/). For macOS M1 users, please make sure you are using `PyTorch Nightly`.
Zaida Zhou's avatar
Zaida Zhou committed
15

16
We provide pre-built mmcv packages (recommended) with different PyTorch and CUDA versions to simplify the building for **Linux and Windows systems**. In addition, you can run [check_installation.py](https://github.com/open-mmlab/mmcv/blob/2.x/.dev_scripts/check_installation.py) to check the installation of mmcv after running the installation commands.
Zaida Zhou's avatar
Zaida Zhou committed
17
18
19

i. Install the latest version.

Zaida Zhou's avatar
Zaida Zhou committed
20
The rule for installing the latest `mmcv` is as follows:
Zaida Zhou's avatar
Zaida Zhou committed
21
22

```shell
Zaida Zhou's avatar
Zaida Zhou committed
23
pip install 'mmcv>=2.0.0rc1' -f https://download.openmmlab.com/mmcv/dist/{cu_version}/{torch_version}/index.html
Zaida Zhou's avatar
Zaida Zhou committed
24
25
```

26
Please replace `{cu_version}` and `{torch_version}` in the url to your desired one. For example,
Zaida Zhou's avatar
Zaida Zhou committed
27
to install the latest `mmcv` with `CUDA 11.1` and `PyTorch 1.9.0`, use the following command:
Zaida Zhou's avatar
Zaida Zhou committed
28
29

```shell
Zaida Zhou's avatar
Zaida Zhou committed
30
pip install 'mmcv>=2.0.0rc1' -f https://download.openmmlab.com/mmcv/dist/cu111/torch1.9.0/index.html
Zaida Zhou's avatar
Zaida Zhou committed
31
32
```

33
For more details, please refer the the following tables and delete `=={mmcv_version}`.
Zaida Zhou's avatar
Zaida Zhou committed
34
35
36

ii. Install a specified version.

Zaida Zhou's avatar
Zaida Zhou committed
37
The rule for installing a specified `mmcv` is as follows:
Zaida Zhou's avatar
Zaida Zhou committed
38
39

```shell
Zaida Zhou's avatar
Zaida Zhou committed
40
pip install mmcv=={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/{cu_version}/{torch_version}/index.html
Zaida Zhou's avatar
Zaida Zhou committed
41
42
```

Zaida Zhou's avatar
Zaida Zhou committed
43
First of all, please refer to the Releases and replace `{mmcv_version}` a specified one. e.g. `2.0.0rc1`.
44
Then replace `{cu_version}` and `{torch_version}` in the url to your desired versions. For example,
Zaida Zhou's avatar
Zaida Zhou committed
45
to install `mmcv==2.0.0rc1` with `CUDA 11.1` and `PyTorch 1.9.0`, use the following command:
Zaida Zhou's avatar
Zaida Zhou committed
46
47

```shell
Zaida Zhou's avatar
Zaida Zhou committed
48
pip install mmcv==2.0.0rc1 -f https://download.openmmlab.com/mmcv/dist/cu111/torch1.9.0/index.html
Zaida Zhou's avatar
Zaida Zhou committed
49
50
```

zhouzaida's avatar
zhouzaida committed
51
```{note}
Zaida Zhou's avatar
Zaida Zhou committed
52
mmcv is only compiled on PyTorch 1.x.0 because the compatibility
Zaida Zhou's avatar
Zaida Zhou committed
53
usually holds between 1.x.0 and 1.x.1. If your PyTorch version is 1.x.1, you
Zaida Zhou's avatar
Zaida Zhou committed
54
can install mmcv compiled with PyTorch 1.x.0 and it usually works well.
Zaida Zhou's avatar
Zaida Zhou committed
55
For example, if your PyTorch version is 1.8.1 and CUDA version is 11.1, you
Zaida Zhou's avatar
Zaida Zhou committed
56
can use the following command to install mmcv.
Zaida Zhou's avatar
Zaida Zhou committed
57

Zaida Zhou's avatar
Zaida Zhou committed
58
`pip install mmcv==2.0.0rc1 -f https://download.openmmlab.com/mmcv/dist/cu111/torch1.8.0/index.html`
Zaida Zhou's avatar
Zaida Zhou committed
59
60
```

Zaida Zhou's avatar
Zaida Zhou committed
61
62
63
64
65
66
For more details, please refer the the following tables.

<table class="docutils">
  <tbody>
    <tr>
      <th width="80"> CUDA </th>
67
      <th valign="bottom" align="left" width="120">torch 1.12</th>
68
69
70
71
72
73
      <th valign="bottom" align="left" width="120">torch 1.11</th>
      <th valign="bottom" align="left" width="120">torch 1.10</th>
      <th valign="bottom" align="left" width="120">torch 1.9</th>
      <th valign="bottom" align="left" width="120">torch 1.8</th>
      <th valign="bottom" align="left" width="120">torch 1.7</th>
      <th valign="bottom" align="left" width="120">torch 1.6</th>
74
75
76
77
78
79
80
81
82
83
    </tr>
    <tr>
      <td align="left">11.6</td>
      <td align="left"><details><summary> install </summary><pre><code>pip install mmcv-full=={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cu116/torch1.12.0/index.html</code></pre> </details></td>
      <td align="left"></td>
      <td align="left"></td>
      <td align="left"></td>
      <td align="left"></td>
      <td align="left"></td>
      <td align="left"></td>
84
85
86
    </tr>
    <tr>
      <td align="left">11.5</td>
87
88
89
90
91
      <td align="left"></td>
      <td align="left"><details><summary> install </summary><pre><code>pip install mmcv-full=={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cu115/torch1.11.0/index.html</code></pre> </details></td>
      <td align="left"></td>
      <td align="left"></td>
      <td align="left"></td>
92
93
      <td align="left"></td>
      <td align="left"></td>
Zaida Zhou's avatar
Zaida Zhou committed
94
    </tr>
95
96
    <tr>
      <td align="left">11.3</td>
97
98
99
100
101
102
      <td align="left"><details><summary> install </summary><pre><code>pip install mmcv-full=={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cu113/torch1.12.0/index.html</code></pre> </details></td>
      <td align="left"><details><summary> install </summary><pre><code>pip install mmcv-full=={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cu113/torch1.11.0/index.html</code></pre> </details></td>
      <td align="left"><details><summary> install </summary><pre><code>pip install mmcv-full=={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cu113/torch1.10.0/index.html</code></pre> </details></td>
      <td align="left"></td>
      <td align="left"></td>
      <td align="left"></td>
103
104
      <td align="left"></td>
    </tr>
Zaida Zhou's avatar
Zaida Zhou committed
105
106
    <tr>
      <td align="left">11.1</td>
107
108
109
110
111
      <td align="left"></td>
      <td align="left"></td>
      <td align="left"><details><summary> install </summary><pre><code>pip install mmcv-full=={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cu111/torch1.10.0/index.html</code></pre> </details> </td>
      <td align="left"><details><summary> install </summary><pre><code>pip install mmcv-full=={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cu111/torch1.9.0/index.html</code></pre> </details> </td>
      <td align="left"><details><summary> install </summary><pre><code>pip install mmcv-full=={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cu111/torch1.8.0/index.html</code></pre> </details> </td>
Zaida Zhou's avatar
Zaida Zhou committed
112
113
114
115
116
      <td align="left"> </td>
      <td align="left"> </td>
    </tr>
    <tr>
      <td align="left">11.0</td>
117
118
119
120
121
122
123
      <td align="left"></td>
      <td align="left"></td>
      <td align="left"></td>
      <td align="left"></td>
      <td align="left"></td>
      <td align="left"><details><summary> install </summary><pre><code>pip install mmcv-full=={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cu110/torch1.7.0/index.html</code></pre> </details> </td>
      <td align="left"></td>
Zaida Zhou's avatar
Zaida Zhou committed
124
125
126
    </tr>
    <tr>
      <td align="left">10.2</td>
127
128
129
130
131
132
133
      <td align="left"><details><summary> install </summary><pre><code>pip install mmcv-full=={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cu102/torch1.12.0/index.html</code></pre> </details></td>
      <td align="left"><details><summary> install </summary><pre><code>pip install mmcv-full=={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cu102/torch1.11.0/index.html</code></pre> </details></td>
      <td align="left"><details><summary> install </summary><pre><code>pip install mmcv-full=={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cu102/torch1.10.0/index.html</code></pre> </details></td>
      <td align="left"><details><summary> install </summary><pre><code>pip install mmcv-full=={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cu102/torch1.9.0/index.html</code></pre> </details> </td>
      <td align="left"><details><summary> install </summary><pre><code>pip install mmcv-full=={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cu102/torch1.8.0/index.html</code></pre> </details> </td>
      <td align="left"><details><summary> install </summary><pre><code>pip install mmcv-full=={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cu102/torch1.7.0/index.html</code></pre> </details> </td>
      <td align="left"><details><summary> install </summary><pre><code>pip install mmcv-full=={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cu102/torch1.6.0/index.html</code></pre> </details> </td>
Zaida Zhou's avatar
Zaida Zhou committed
134
135
136
    </tr>
    <tr>
      <td align="left">10.1</td>
137
138
139
140
141
142
143
      <td align="left"></td>
      <td align="left"></td>
      <td align="left"></td>
      <td align="left"></td>
      <td align="left"><details><summary> install </summary><pre><code> pip install mmcv-full=={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cu101/torch1.8.0/index.html</code></pre> </details> </td>
      <td align="left"><details><summary> install </summary><pre><code> pip install mmcv-full=={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cu101/torch1.7.0/index.html</code></pre> </details> </td>
      <td align="left"><details><summary> install </summary><pre><code> pip install mmcv-full=={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cu101/torch1.6.0/index.html</code></pre> </details> </td>
Zaida Zhou's avatar
Zaida Zhou committed
144
145
146
    </tr>
    <tr>
      <td align="left">9.2</td>
147
148
149
150
151
152
153
      <td align="left"></td>
      <td align="left"></td>
      <td align="left"></td>
      <td align="left"></td>
      <td align="left"></td>
      <td align="left"><details><summary> install </summary><pre><code> pip install mmcv-full=={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cu92/torch1.7.0/index.html</code></pre> </details> </td>
      <td align="left"><details><summary> install </summary><pre><code> pip install mmcv-full=={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cu92/torch1.6.0/index.html</code></pre> </details> </td>
Zaida Zhou's avatar
Zaida Zhou committed
154
155
156
    </tr>
    <tr>
      <td align="left">cpu</td>
157
158
159
160
161
162
163
      <td align="left"><details><summary> install </summary><pre><code> pip install mmcv-full=={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cpu/torch1.12.0/index.html</code></pre> </details></td>
      <td align="left"><details><summary> install </summary><pre><code> pip install mmcv-full=={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cpu/torch1.11.0/index.html</code></pre> </details></td>
      <td align="left"><details><summary> install </summary><pre><code> pip install mmcv-full=={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cpu/torch1.10.0/index.html</code></pre> </details> </td>
      <td align="left"><details><summary> install </summary><pre><code> pip install mmcv-full=={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cpu/torch1.9.0/index.html</code></pre> </details> </td>
      <td align="left"><details><summary> install </summary><pre><code> pip install mmcv-full=={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cpu/torch1.8.0/index.html</code></pre> </details> </td>
      <td align="left"><details><summary> install </summary><pre><code> pip install mmcv-full=={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cpu/torch1.7.0/index.html</code></pre> </details> </td>
      <td align="left"><details><summary> install </summary><pre><code> pip install mmcv-full=={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cpu/torch1.6.0/index.html</code></pre> </details> </td>
Zaida Zhou's avatar
Zaida Zhou committed
164
165
166
167
    </tr>
  </tbody>
</table>

zhouzaida's avatar
zhouzaida committed
168
```{note}
Zaida Zhou's avatar
Zaida Zhou committed
169
mmcv does not provide pre-built packages for `cu102-torch1.11` and `cu92-torch*` on Windows.
170
171
```

Zaida Zhou's avatar
Zaida Zhou committed
172
173
174
Another way is to compile locally by running

```python
Zaida Zhou's avatar
Zaida Zhou committed
175
pip install 'mmcv>=2.0.0rc1'
Zaida Zhou's avatar
Zaida Zhou committed
176
177
178
179
180
181
182
```

Note that the local compiling may take up to 10 mins.

b. Install the lite version.

```python
Zaida Zhou's avatar
Zaida Zhou committed
183
pip install mmcv-lite
Zaida Zhou's avatar
Zaida Zhou committed
184
185
```

186
If you would like to build MMCV from source, please refer to the [guide](build.md).