Skip to content
Snippets Groups Projects
install.md 4.42 KiB
Newer Older
## Requirements
Jiarui XU's avatar
Jiarui XU committed

- Linux or Windows(Experimental)
Jiarui XU's avatar
Jiarui XU committed
- Python 3.6+
- PyTorch 1.3 or higher
- [mmcv](https://github.com/open-mmlab/mmcv)

## Installation
Jiarui XU's avatar
Jiarui XU committed

a. Create a conda virtual environment and activate it.

```shell
conda create -n open-mmlab python=3.7 -y
conda activate open-mmlab
```

b. Install PyTorch and torchvision following the [official instructions](https://pytorch.org/).
Here we use PyTorch 1.6.0 and CUDA 10.1.
Kai Chen's avatar
Kai Chen committed
You may also switch to other version by specifying the version number.
Jiarui XU's avatar
Jiarui XU committed

```shell
conda install pytorch=1.6.0 torchvision cudatoolkit=10.1 -c pytorch
Jiarui XU's avatar
Jiarui XU committed
```

Kai Chen's avatar
Kai Chen committed
c. Install [MMCV](https://mmcv.readthedocs.io/en/latest/) following the [official instructions](https://mmcv.readthedocs.io/en/latest/#installation).
Either `mmcv` or `mmcv-full` is compatible with MMSegmentation, but for methods like CCNet and PSANet, CUDA ops in `mmcv-full` is required.

**Install mmcv for Linux:**
Jiarui XU's avatar
Jiarui XU committed

Kai Chen's avatar
Kai Chen committed
The pre-build mmcv-full (with PyTorch 1.5 and CUDA 10.1) can be installed by running: (other available versions could be found [here](https://mmcv.readthedocs.io/en/latest/#install-with-pip))
Jiarui XU's avatar
Jiarui XU committed

Kai Chen's avatar
Kai Chen committed
```shell
Jiarui XU's avatar
Jiarui XU committed
pip install mmcv-full==latest+torch1.5.0+cu101 -f https://openmmlab.oss-accelerate.aliyuncs.com/mmcv/dist/index.html
```

**Install mmcv for Windows (Experimental):**

For Windows, the installation of MMCV requires native C++ compilers, such as cl.exe. Please add the compiler to %PATH%.

A typical path for cl.exe looks like the following if you have Windows SDK and Visual Studio installed on your computer:

```shell
C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.26.28801\bin\Hostx86\x64
```

Or you should download the cl compiler from web and then set up the path.

Then, clone mmcv from github and install mmcv via pip:

```shell
git clone https://github.com/open-mmlab/mmcv.git
cd mmcv
pip install -e .
```

Or simply:
```shell
pip install mmcv
```

Currently, mmcv-full is not supported on Windows.

Kai Chen's avatar
Kai Chen committed
d. Install MMSegmentation.

```shell
pip install mmsegmentation # install the latest release
Jiarui XU's avatar
Jiarui XU committed
```

Kai Chen's avatar
Kai Chen committed
or
Jiarui XU's avatar
Jiarui XU committed

```shell
Kai Chen's avatar
Kai Chen committed
pip install git+https://github.com/open-mmlab/mmsegmentation.git # install the master branch
Jiarui XU's avatar
Jiarui XU committed
```

Instead, if you would like to install MMSegmentation in `dev` mode, run following
```shell
git clone https://github.com/open-mmlab/mmsegmentation.git
cd mmsegmentation
pip install -e .  # or "python setup.py develop"
```

Jiarui XU's avatar
Jiarui XU committed
Note:

1. When training or testing models on Windows, please ensure that all the '\\' in paths are replaced with '/'. Add .replace('\\', '/') to your python code wherever path strings occur.

2. The `version+git_hash` will also be saved in trained models meta, e.g. 0.5.0+c415a2e.
Jiarui XU's avatar
Jiarui XU committed

3. When MMsegmentation is installed on `dev` mode, any local modifications made to the code will take effect without the need to reinstall it.
Jiarui XU's avatar
Jiarui XU committed

4. If you would like to use `opencv-python-headless` instead of `opencv-python`,
Jiarui XU's avatar
Jiarui XU committed
you can install it before installing MMCV.

5. Some dependencies are optional. Simply running `pip install -e .` will only install the minimum runtime requirements.
Jiarui XU's avatar
Jiarui XU committed
To use optional dependencies like `cityscapessripts`  either install them manually with `pip install -r requirements/optional.txt` or specify desired extras when calling `pip` (e.g. `pip install -e .[optional]`). Valid keys for the extras field are: `all`, `tests`, `build`, and `optional`.


## A from-scratch setup script
### Linux
Jiarui XU's avatar
Jiarui XU committed

Here is a full script for setting up mmsegmentation with conda and link the dataset path (supposing that your dataset path is $DATA_ROOT).

```shell
conda create -n open-mmlab python=3.7 -y
conda activate open-mmlab

conda install pytorch=1.6.0 torchvision cudatoolkit=10.1 -c pytorch
Jiarui XU's avatar
Jiarui XU committed
pip install mmcv-full==latest+torch1.5.0+cu101 -f https://openmmlab.oss-accelerate.aliyuncs.com/mmcv/dist/index.html
git clone https://github.com/open-mmlab/mmsegmentation.git
cd mmsegmentation
pip install -e .  # or "python setup.py develop"
Jiarui XU's avatar
Jiarui XU committed

mkdir data
ln -s $DATA_ROOT data
```

### Windows(Experimental)
Here is a full script for setting up mmsegmentation with conda and link the dataset path (supposing that your dataset path is
%DATA_ROOT%. Notice: It must be an absolute path).

```shell
conda create -n open-mmlab python=3.7 -y
conda activate open-mmlab

conda install pytorch=1.6.0 torchvision cudatoolkit=10.1 -c pytorch
set PATH=full\path\to\your\cpp\compiler;%PATH%
pip install mmcv

git clone https://github.com/open-mmlab/mmsegmentation.git
cd mmsegmentation
pip install -e .  # or "python setup.py develop"

mklink /D data %DATA_ROOT%
```