INSTALL.md 5.5 KB
Newer Older
Q
qingqing01 已提交
1 2
English | [简体中文](INSTALL_cn.md)

Y
Yang Zhang 已提交
3
# Installation
K
Kaipeng Deng 已提交
4 5 6 7 8 9 10 11 12 13 14 15 16

---
## Table of Contents

- [Introduction](#introduction)
- [PaddlePaddle](#paddlepaddle)
- [Other Dependencies](#other-dependencies)
- [PaddleDetection](#paddle-detection)
- [Datasets](#datasets)


## Introduction

Y
Yang Zhang 已提交
17
This document covers how to install PaddleDetection, its dependencies
Q
qingqing01 已提交
18
(including PaddlePaddle), together with COCO and Pascal VOC dataset.
K
Kaipeng Deng 已提交
19 20 21 22 23 24

For general information about PaddleDetection, please see [README.md](../README.md).


## PaddlePaddle

J
jerrywgz 已提交
25
Running PaddleDetection requires PaddlePaddle Fluid v.1.5 and later. please follow the instructions in [installation document](http://www.paddlepaddle.org.cn/).
K
Kaipeng Deng 已提交
26

Y
Yang Zhang 已提交
27 28
Please make sure your PaddlePaddle installation was successful and the version
of your PaddlePaddle is not lower than required. Verify with the following commands.
K
Kaipeng Deng 已提交
29 30

```
K
Kaipeng Deng 已提交
31
# To check PaddlePaddle installation in your Python interpreter
W
wangguanzhong 已提交
32
>>> import paddle.fluid as fluid
K
Kaipeng Deng 已提交
33
>>> fluid.install_check.run_check()
K
Kaipeng Deng 已提交
34

Y
Yang Zhang 已提交
35
# To check PaddlePaddle version
K
Kaipeng Deng 已提交
36 37 38 39 40
python -c "import paddle; print(paddle.__version__)"
```

### Requirements:

41
- Python2 or Python3 (Only support Python3 for windows)
K
Kaipeng Deng 已提交
42
- CUDA >= 8.0
43
- cuDNN >= 5.0
K
Kaipeng Deng 已提交
44 45 46 47 48
- nccl >= 2.1.2


## Other Dependencies

Y
Yang Zhang 已提交
49
[COCO-API](https://github.com/cocodataset/cocoapi):
K
Kaipeng Deng 已提交
50

K
Kaipeng Deng 已提交
51
COCO-API is needed for running. Installation is as follows:
K
Kaipeng Deng 已提交
52 53 54 55 56 57 58 59 60 61 62

    git clone https://github.com/cocodataset/cocoapi.git
    cd cocoapi/PythonAPI
    # if cython is not installed
    pip install Cython
    # Install into global site-packages
    make install
    # Alternatively, if you do not have permissions or prefer
    # not to install the COCO API into global site-packages
    python setup.py install --user

63 64 65 66 67 68
**Installation of COCO-API in windows:**

    # if cython is not installed
    pip install Cython
    # Because the origin version of cocoapi does not support windows, another version is used which only supports Python3
    pip install git+https://github.com/philferriere/cocoapi.git#subdirectory=PythonAPI
K
Kaipeng Deng 已提交
69 70 71 72 73

## PaddleDetection

**Clone Paddle models repository:**

Y
Yang Zhang 已提交
74 75
You can clone Paddle models and change working directory to PaddleDetection
with the following commands:
K
Kaipeng Deng 已提交
76 77 78 79

```
cd <path/to/clone/models>
git clone https://github.com/PaddlePaddle/models
Q
qingqing01 已提交
80
cd models/PaddleCV/PaddleDetection
K
Kaipeng Deng 已提交
81 82
```

Y
Yang Zhang 已提交
83
**Install Python dependencies:**
K
Kaipeng Deng 已提交
84

Q
qingqing01 已提交
85
Required python packages are specified in [requirements.txt](../requirements.txt), and can be installed with:
K
Kaipeng Deng 已提交
86 87 88 89 90

```
pip install -r requirements.txt
```

Y
Yang Zhang 已提交
91
**Make sure the tests pass:**
K
Kaipeng Deng 已提交
92 93

```
94
export PYTHONPATH=`pwd`:$PYTHONPATH
K
Kaipeng Deng 已提交
95 96 97 98 99 100
python ppdet/modeling/tests/test_architectures.py
```


## Datasets

Q
qingqing01 已提交
101
PaddleDetection includes support for [COCO](http://cocodataset.org) and [Pascal VOC](http://host.robots.ox.ac.uk/pascal/VOC/) by default, please follow these instructions to set up the dataset.
K
Kaipeng Deng 已提交
102

Y
Yang Zhang 已提交
103
**Create symlinks for local datasets:**
K
Kaipeng Deng 已提交
104

Q
qingqing01 已提交
105
Default dataset path in config files is `dataset/coco` and `dataset/voc`, if the
Y
Yang Zhang 已提交
106 107
datasets are already available on disk, you can simply create symlinks to
their directories:
K
Kaipeng Deng 已提交
108 109

```
Q
qingqing01 已提交
110 111
ln -sf <path/to/coco> <path/to/paddle_detection>/dataset/coco
ln -sf <path/to/voc> <path/to/paddle_detection>/dataset/voc
K
Kaipeng Deng 已提交
112 113
```

K
Kaipeng Deng 已提交
114 115 116 117 118 119 120
For Pascal VOC dataset, you should create file list by:

```
export PYTHONPATH=$PYTHONPATH:.
python dataset/voc/create_list.py
```

Y
Yang Zhang 已提交
121 122 123
**Download datasets manually:**

On the other hand, to download the datasets, run the following commands:
K
Kaipeng Deng 已提交
124

Q
qingqing01 已提交
125
- COCO
K
Kaipeng Deng 已提交
126 127

```
K
Kaipeng Deng 已提交
128 129
export PYTHONPATH=$PYTHONPATH:.
python dataset/coco/download_coco.py
K
Kaipeng Deng 已提交
130 131
```

K
Kaipeng Deng 已提交
132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152
`COCO` dataset with directory structures like this:

  ```
  dataset/coco/
  ├── annotations
  │   ├── instances_train2014.json
  │   ├── instances_train2017.json
  │   ├── instances_val2014.json
  │   ├── instances_val2017.json
  │   |   ...
  ├── train2017
  │   ├── 000000000009.jpg
  │   ├── 000000580008.jpg
  │   |   ...
  ├── val2017
  │   ├── 000000000139.jpg
  │   ├── 000000000285.jpg
  │   |   ...
  |   ...
  ```

Q
qingqing01 已提交
153
- Pascal VOC
K
Kaipeng Deng 已提交
154 155

```
K
Kaipeng Deng 已提交
156 157
export PYTHONPATH=$PYTHONPATH:.
python dataset/voc/download_voc.py
K
Kaipeng Deng 已提交
158
python dataset/voc/create_list.py
K
Kaipeng Deng 已提交
159 160
```

K
Kaipeng Deng 已提交
161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194
`Pascal VOC` dataset with directory structure like this:

  ```
  dataset/voc/
  ├── train.txt
  ├── val.txt
  ├── test.txt
  ├── label_list.txt (optional)
  ├── VOCdevkit/VOC2007
  │   ├── Annotations
  │       ├── 001789.xml
  │       |   ...
  │   ├── JPEGImages 
  │       ├── 001789.xml
  │       |   ...
  │   ├── ImageSets
  │       |   ...
  ├── VOCdevkit/VOC2012
  │   ├── Annotations
  │       ├── 003876.xml
  │       |   ...
  │   ├── JPEGImages 
  │       ├── 003876.xml
  │       |   ...
  │   ├── ImageSets
  │       |   ...
  |   ...
  ```

**NOTE:** If you set `use_default_label=False` in yaml configs, the `label_list.txt`
of Pascal VOC dataset will be read, otherwise, `label_list.txt` is unnecessary and
the default Pascal VOC label list which defined in 
[voc\_loader.py](../ppdet/data/source/voc_loader.py) will be used.

Y
Yang Zhang 已提交
195
**Download datasets automatically:**
K
Kaipeng Deng 已提交
196

Y
Yang Zhang 已提交
197
If a training session is started but the dataset is not setup properly (e.g,
Q
qingqing01 已提交
198 199
not found in `dataset/coco` or `dataset/voc`), PaddleDetection can automatically
download them from [COCO-2017](http://images.cocodataset.org) and
Y
Yang Zhang 已提交
200 201 202
[VOC2012](http://host.robots.ox.ac.uk/pascal/VOC), the decompressed datasets
will be cached in `~/.cache/paddle/dataset/` and can be discovered automatically
subsequently.
K
Kaipeng Deng 已提交
203 204


Y
Yang Zhang 已提交
205
**NOTE:** For further informations on the datasets, please see [DATA.md](DATA.md)