We highly recommend developers follow our best practices to install MMEditing. However, the whole process is highly customizable. See Customize Installation section for more information.
The following steps work on Linux, Windows, and macOS. If you have already set up a PyTorch environment, no matter using conda or pip, you can start from step 3.
Step 0. Download and install Miniconda from official website.
Step 1. Create a conda environment and activate it
conda create --name mmedit python=3.8 -y
conda activate mmedit
Step 2. Install PyTorch following official instructions, e.g.
-
On GPU platforms:
conda install pytorch=1.10 torchvision cudatoolkit=11.3 -c pytorch
-
On CPU platforms:
conda install pytorch=1.10 torchvision cpuonly -c pytorch
Step 3. Install pre-built MMCV using MIM.
pip3 install openmim
mim install mmcv-full==1.5.0
Step 4. Install MMEditing from the source code.
git clone https://github.com/open-mmlab/mmediting.git
cd mmediting
pip3 install -e .
Step 5. Verification.
cd ~
python -c "import mmedit; print(mmedit.__version__)"
# Example output: 0.14.0
The installation is successful if the version number is output correctly.
You may change the version of Python, PyTorch, and MMCV by changing the version numbers in Step 1, 2, and 3, respectively.
Currently, MMEditing works with
When installing PyTorch in Step 2, you need to specify the version of CUDA. If you are not clear on which to choose, follow our recommendations:
- For Ampere-based NVIDIA GPUs, such as GeForce 30 series and NVIDIA A100, CUDA 11 is a must.
- For older NVIDIA GPUs, CUDA 11 is backward compatible, but CUDA 10.2 offers better compatibility and is more lightweight.
Please also make sure the GPU driver satisfies the minimum version requirements. See this table for more information.
Please Note that there is no need to install the complete CUDA toolkit if you follow our best practices because no CUDA code will be compiled.
However, if you hope to compile MMCV or other C++/CUDA operators, you need to install the complete CUDA toolkit from NVIDIA's website, and its version should match the CUDA version of PyTorch, which is the version of cudatoolkit
in conda install
.
Though we highly recommend using conda to create environments and install PyTorch, it is viable to install PyTorch only with pip, for example, with the following command,
pip3 install torch torchvision
However, an --extra-index-url
or -f
option is usually required to specify the CPU / CUDA version.
See PyTorch website for more details.
MMCV contains C++ and CUDA extensions, thus depending on PyTorch in a complex way. MIM solves such dependency automatically and makes installation easier. However, it is not a must.
To install MMCV with pip
instead of MIM, please follow MMCV installation guides.
This requires manually specifying a find-url based on PyTorch version and its CUDA version.
For example, the following command install mmcv-full
built for PyTorch 1.10.x and CUDA 11.3.
pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu113/torch1.10.0/index.html
Pre-built MMCV package is not available for macOS, so you have to build MMCV from the source.
Pip will build it automatically during installation, but it requires a C++ compiler.
A simple solution is to install Clang with xcode-select --install
.
Under such circumstances, MIM is not required and pip install mmcv-full -v
can do the job.
See MMCV installation guides for more details.
Online machine learning platform such as Google Colab usually has PyTorch installed. Thus we only need to install MMCV and MMEditing with the following commands.
Step 1. Install pre-built MMCV using MIM.
!pip3 install openmim
!mim install mmcv-full
Step 2. Install MMEditing from the source.
!git clone https://github.com/open-mmlab/mmediting.git
%cd mmediting
!pip3 install -e .
Step 3. Verification.
import mmedit
print(mmedit.__version__)
# Example output: 0.13.0
Note: within Jupyter, the exclamation mark !
is used to call external executables and %cd
is a IPython magic command to change the current working directory of Python.
One can configure conda and pip mirrors to speed up the installation. This step is very practical for users geologically in China.
See the below links (in Chinese) for details:
- https://mirrors.tuna.tsinghua.edu.cn/help/pypi/
- https://mirror.tuna.tsinghua.edu.cn/help/anaconda/
- https://developer.aliyun.com/mirror/pypi
You may be curious about what -e .
means when supplied with pip install
.
Here is the description:
-e
means editable mode. Whenimport mmedit
, modules under the cloned directory are imported. Ifpip install
without-e
, pip will copy cloned codes to somewhere likelib/python/site-package
. Consequently, modified code under the cloned directory takes no effect unlesspip install
again. This is particularly convenient for developers. If some codes are modified, new codes will be imported next time without reinstallation..
means code in this directory
You can also use pip -e .[all]
, which will install more dependencies, especially for pre-commit hooks and unittests.