diff --git a/INSTALL.md b/INSTALL.md
index 46001250a323b61067a82718794fb0c1f4e69743..55b8b0201abc441c7c85dcd0241ad79426a7ef2e 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -2,39 +2,60 @@
 
 ### Requirements
 
-- Linux (tested on Ubuntu 16.04 and CentOS 7.2)
-- Python 3.4+
-- PyTorch 1.0
-- Cython
+- Linux
+- Python 3.5+ ([Say goodbye to Python2](https://python3statement.org/))
+- PyTorch 1.0+ or PyTorch-nightly
+- CUDA 9.0+
+- NCCL 2+
+- GCC 4.9+
 - [mmcv](https://github.com/open-mmlab/mmcv)
 
+We have tested the following versions of OS and softwares:
+
+- OS: Ubuntu 16.04/18.04 and CentOS 7.2
+- CUDA: 9.0/9.2/10.0
+- NCCL: 2.1.15/2.2.13/2.3.7/2.4.2
+- GCC: 4.9/5.3/5.4/7.3
+
 ### Install mmdetection
 
-a. Install PyTorch 1.0 and torchvision following the [official instructions](https://pytorch.org/).
+a. Create a conda virtual environment and activate it. Then install Cython.
+
+```shell
+conda create -n open-mmlab python=3.7 -y
+source activate open-mmlab
+
+conda install cython
+```
 
-b. Clone the mmdetection repository.
+b. Install PyTorch stable or nightly and torchvision following the [official instructions](https://pytorch.org/).
+
+c. Clone the mmdetection repository.
 
 ```shell
 git clone https://github.com/open-mmlab/mmdetection.git
+cd mmdetection
 ```
 
-c. Compile cuda extensions.
+d. Compile cuda extensions.
 
 ```shell
-cd mmdetection
-pip install cython  # or "conda install cython" if you prefer conda
-./compile.sh  # or "PYTHON=python3 ./compile.sh" if you use system python3 without virtual environments
+./compile.sh
 ```
 
-d. Install mmdetection (other dependencies will be installed automatically).
+e. Install mmdetection (other dependencies will be installed automatically).
 
 ```shell
-python(3) setup.py install  # add --user if you want to install it locally
-# or "pip install ."
+python setup.py develop
+# or "pip install -e ."
 ```
 
-Note: You need to run the last step each time you pull updates from github.
-The git commit id will be written to the version number and also saved in trained models.
+Note:
+
+1. It is recommended that you run the step e each time you pull some updates from github. If there are some updates of the C/CUDA codes, you also need to run step d.
+The git commit id will be written to the version number with step e, e.g. 0.6.0+2e7045c. The version will also be saved in trained models.
+
+2. Following the above instructions, mmdetection is installed on `dev` mode, any modifications to the code will take effect without installing it again.
 
 ### Prepare COCO dataset.
 
@@ -58,7 +79,7 @@ mmdetection
 ```
 
 ### Scripts
-Just for reference, [Here](https://gist.github.com/hellock/bf23cd7348c727d69d48682cb6909047) is
+[Here](https://gist.github.com/hellock/bf23cd7348c727d69d48682cb6909047) is
 a script for setting up mmdetection with conda.
 
 ### Notice