installation.md 10.6 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.

Zaida Zhou's avatar
Zaida Zhou committed
14
Before installing mmcv, make sure that PyTorch has been successfully installed following the [official guide](https://pytorch.org/).
Zaida Zhou's avatar
Zaida Zhou committed
15

Zaida Zhou's avatar
Zaida Zhou committed
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](.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
68
69
70
71
72
73
74
75
76
      <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>
      <th valign="bottom" align="left" width="120">torch 1.5</th>
    </tr>
    <tr>
      <td align="left">11.5</td>
Zaida Zhou's avatar
Zaida Zhou committed
77
      <td align="left"><details><summary> install </summary><pre><code>pip install mmcv=={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cu115/torch1.11.0/index.html</code></pre> </details></td>
78
79
80
81
82
83
      <td align="left"></td>
      <td align="left"></td>
      <td align="left"> </td>
      <td align="left"> </td>
      <td align="left"> </td>
      <td align="left"> </td>
Zaida Zhou's avatar
Zaida Zhou committed
84
    </tr>
85
86
    <tr>
      <td align="left">11.3</td>
Zaida Zhou's avatar
Zaida Zhou committed
87
88
      <td align="left"><details><summary> install </summary><pre><code>pip install mmcv=={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=={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cu113/torch1.10.0/index.html</code></pre> </details></td>
89
90
91
92
93
94
      <td align="left"></td>
      <td align="left"></code></pre> </details> </td>
      <td align="left"> </td>
      <td align="left"> </td>
      <td align="left"> </td>
    </tr>
Zaida Zhou's avatar
Zaida Zhou committed
95
96
    <tr>
      <td align="left">11.1</td>
97
      <td align="left"> </td>
Zaida Zhou's avatar
Zaida Zhou committed
98
99
100
      <td align="left"><details><summary> install </summary><pre><code>pip install mmcv=={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=={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=={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
101
102
103
104
105
106
107
      <td align="left"> </td>
      <td align="left"> </td>
      <td align="left"> </td>
    </tr>
    <tr>
      <td align="left">11.0</td>
      <td align="left"> </td>
108
      <td align="left"> </td>
109
      <td align="left"> </td>
110
      <td align="left"> </td>
Zaida Zhou's avatar
Zaida Zhou committed
111
      <td align="left"><details><summary> install </summary><pre><code>pip install mmcv=={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cu110/torch1.7.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">10.2</td>
Zaida Zhou's avatar
Zaida Zhou committed
117
118
119
120
121
122
123
      <td align="left"><details><summary> install </summary><pre><code>pip install mmcv=={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=={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=={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=={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=={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=={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cu102/torch1.6.0/index.html</code></pre> </details> </td>
      <td align="left"><details><summary> install </summary><pre><code>pip install mmcv=={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cu102/torch1.5.0/index.html</code></pre> </details> </td>
Zaida Zhou's avatar
Zaida Zhou committed
124
125
126
    </tr>
    <tr>
      <td align="left">10.1</td>
127
      <td align="left"> </td>
128
      <td align="left"> </td>
129
      <td align="left"> </td>
Zaida Zhou's avatar
Zaida Zhou committed
130
131
132
133
      <td align="left"><details><summary> install </summary><pre><code> pip install mmcv=={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=={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=={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cu101/torch1.6.0/index.html</code></pre> </details> </td>
      <td align="left"><details><summary> install </summary><pre><code> pip install mmcv=={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cu101/torch1.5.0/index.html</code></pre> </details> </td>
Zaida Zhou's avatar
Zaida Zhou committed
134
135
136
137
    </tr>
    <tr>
      <td align="left">9.2</td>
      <td align="left"> </td>
138
      <td align="left"> </td>
139
      <td align="left"> </td>
140
      <td align="left"> </td>
Zaida Zhou's avatar
Zaida Zhou committed
141
142
143
      <td align="left"><details><summary> install </summary><pre><code> pip install mmcv=={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=={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cu92/torch1.6.0/index.html</code></pre> </details> </td>
      <td align="left"><details><summary> install </summary><pre><code> pip install mmcv=={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cu92/torch1.5.0/index.html</code></pre> </details> </td>
Zaida Zhou's avatar
Zaida Zhou committed
144
145
146
    </tr>
    <tr>
      <td align="left">cpu</td>
Zaida Zhou's avatar
Zaida Zhou committed
147
148
149
150
151
152
153
      <td align="left"><details><summary> install </summary><pre><code> pip install mmcv=={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=={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=={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=={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=={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=={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cpu/torch1.6.0/index.html</code></pre> </details> </td>
      <td align="left"><details><summary> install </summary><pre><code> pip install mmcv=={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cpu/torch1.5.0/index.html</code></pre> </details> </td>
Zaida Zhou's avatar
Zaida Zhou committed
154
155
156
157
    </tr>
  </tbody>
</table>

zhouzaida's avatar
zhouzaida committed
158
```{note}
Zaida Zhou's avatar
Zaida Zhou committed
159
mmcv does not provide pre-built packages for `cu102-torch1.11` and `cu92-torch*` on Windows.
160
161
```

Zaida Zhou's avatar
Zaida Zhou committed
162
163
164
Another way is to compile locally by running

```python
Zaida Zhou's avatar
Zaida Zhou committed
165
pip install 'mmcv>=2.0.0rc1'
Zaida Zhou's avatar
Zaida Zhou committed
166
167
168
169
170
171
172
```

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

b. Install the lite version.

```python
Zaida Zhou's avatar
Zaida Zhou committed
173
pip install mmcv-lite
Zaida Zhou's avatar
Zaida Zhou committed
174
175
```

176
If you would like to build MMCV from source, please refer to the [guide](https://mmcv.readthedocs.io/en/latest/get_started/build.html).