Skip to content

Latest commit

 

History

History
138 lines (89 loc) · 5.04 KB

INSTALL.md

File metadata and controls

138 lines (89 loc) · 5.04 KB

English | 简体中文

Installation

This document covers how to install PaddleDetection and its dependencies (including PaddlePaddle), together with COCO and Pascal VOC dataset.

For general information about PaddleDetection, please see README.md.

Requirements:

  • PaddlePaddle 2.2
  • OS 64 bit
  • Python 3(3.5.1+/3.6/3.7/3.8/3.9/3.10),64 bit
  • pip/pip3(9.0.1+), 64 bit
  • CUDA >= 10.2
  • cuDNN >= 7.6

Dependency of PaddleDetection and PaddlePaddle:

PaddleDetection version PaddlePaddle version tips
develop >= 2.3.2 Dygraph mode is set as default
release/2.6 >= 2.3.2 Dygraph mode is set as default
release/2.5 >= 2.2.2 Dygraph mode is set as default
release/2.4 >= 2.2.2 Dygraph mode is set as default
release/2.3 >= 2.2.0rc Dygraph mode is set as default
release/2.2 >= 2.1.2 Dygraph mode is set as default
release/2.1 >= 2.1.0 Dygraph mode is set as default
release/2.0 >= 2.0.1 Dygraph mode is set as default
release/2.0-rc >= 2.0.1 --
release/0.5 >= 1.8.4 Cascade R-CNN and SOLOv2 depends on 2.0.0.rc
release/0.4 >= 1.8.4 PP-YOLO depends on 1.8.4
release/0.3 >=1.7 --

Instruction

1. Install PaddlePaddle


# CUDA10.2
python -m pip install paddlepaddle-gpu==2.3.2 -i https://mirror.baidu.com/pypi/simple

# CPU
python -m pip install paddlepaddle==2.3.2 -i https://mirror.baidu.com/pypi/simple

Please make sure that your PaddlePaddle is installed successfully and the version is not lower than the required version. Use the following command to verify.

# check
>>> import paddle
>>> paddle.utils.run_check()

# confirm the paddle's version
python -c "import paddle; print(paddle.__version__)"

Note

  1. If you want to use PaddleDetection on multi-GPU, please install NCCL at first.

2. Install PaddleDetection

Note: Installing via pip only supports Python3


# Clone PaddleDetection repository
cd <path/to/clone/PaddleDetection>
git clone https://github.com/PaddlePaddle/PaddleDetection.git

# Install other dependencies
cd PaddleDetection
pip install -r requirements.txt

# Compile and install paddledet
python setup.py install

Note

  1. If you are working on Windows OS, pycocotools installing may failed because of the origin version of cocoapi does not support windows, another version can be used used which only supports Python3:

    pip install git+https://github.com/philferriere/cocoapi.git#subdirectory=PythonAPI

  2. If you are using Python <= 3.6, pycocotools installing may failed with error like distutils.errors.DistutilsError: Could not find suitable distribution for Requirement.parse('cython>=0.27.3'), please install cython firstly, for example pip install cython

After installation, make sure the tests pass:

python ppdet/modeling/tests/test_architectures.py

If the tests are passed, the following information will be prompted:

.......
----------------------------------------------------------------------
Ran 7 tests in 12.816s
OK

Use built Docker images

If you do not have a Docker environment, please refer to Docker.

We provide docker images containing the latest PaddleDetection code, and all environment and package dependencies are pre-installed. All you have to do is to pull and run the docker image. Then you can enjoy PaddleDetection without any extra steps.

Get these images and guidance in docker hub, including CPU, GPU, ROCm environment versions.

If you have some customized requirements about automatic building docker images, you can get it in github repo PaddlePaddle/PaddleCloud.

Inference demo

Congratulation! Now you have installed PaddleDetection successfully and try our inference demo:

# Predict an image by GPU
export CUDA_VISIBLE_DEVICES=0
python tools/infer.py -c configs/ppyolo/ppyolo_r50vd_dcn_1x_coco.yml -o use_gpu=true weights=https://paddledet.bj.bcebos.com/models/ppyolo_r50vd_dcn_1x_coco.pdparams --infer_img=demo/000000014439.jpg

An image of the same name with the predicted result will be generated under the output folder. The result is as shown below: