引言
PP-YOLOv2: A Practical Object Detector
论文:https://arxiv.org/abs/2104.10419
代码链接:https://github.com/PaddlePaddle/PaddleDetection
环境搭建
如何查看您的环境
# 可以使用以下命令查看本机的操作系统和位数信息:
uname -m && cat /etc/*release
# 确认需要安装 PaddlePaddle 的 Python 是您预期的位置,因为您计算机可能有多个 Python
# 根据您的环境您可能需要将说明中所有命令行中的 python 替换为具体的 Python 路径
which python
# 需要确认python的版本是否满足要求
# 使用以下命令确认是 3.6/3.7/3.8/3.9
python --version
#需要确认pip的版本是否满足要求,要求pip版本为20.2.2或更高版本
python -m ensurepip
python -m pip --version
# 需要确认Python和pip是64bit,并且处理器架构是x86_64(或称作x64、Intel 64、AMD64)架构,目前PaddlePaddle不支持arm64架构。下面的第一行输出的是”64bit”,第二行输出的是”x86_64”、”x64”或”AMD64”即可:
python -c "import platform;print(platform.architecture()[0]);print(platform.machine())"
# 默认提供的安装包需要计算机支持MKL
----------------------------------------------------------------------------------------------
PP-YOLOV2
1.首先创建python为3.7的环境
conda create -n ppv2 python==3.7
conda activate ppv2
2.安装cuda >= 10.1+cudnn>= 7.6+PaddlePaddle
# 方法一
conda install cudatoolkit=10.1 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/linux-64/
export LD_LIBRARY_PATH='/usr/local/cuda-10.1/lib64/'
conda install cudnn==7.6.5 -c https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
# CUDA10.1的PaddlePaddle
python -m pip install paddlepaddle-gpu==2.1.1.post101 -f https://paddlepaddle.org.cn/whl/mkl/stable.html
或者
# 方法二
conda install paddlepaddle-gpu==2.1.1 cudatoolkit=10.1 --channel https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/Paddle/
笔者使用方法二安装成功
3. 在您的Python解释器中确认PaddlePaddle安装成功
>>> python
>>> import paddle
>>> paddle.utils.run_check()
出现PaddlePaddle is installed successfully!
,说明已成功安装。
确认PaddlePaddle版本
python -c "import paddle; print(paddle.__version__)"
命令卸载PaddlePaddle(若版本不匹配可以根据下面的指令进行卸载,根据自己的需求):
GPU版本的PaddlePaddle: python -m pip uninstall paddlepaddle-gpu
在多卡环境下使用PaddleDetection,请首先安装NCCL
conda install nvcc
4. 安装PaddleDetection
可通过如下两种方式安装PaddleDetection
2.1 通过pip安装
注意: pip安装方式只支持Python3
# pip安装paddledet
pip install paddledet==2.1.0 -i https://mirror.baidu.com/pypi/simple
# 下载使用源码中的配置文件和代码示例
git clone https://github.com/PaddlePaddle/PaddleDetection.git
cd PaddleDetection
2.2 源码编译安装
# 克隆PaddleDetection仓库
git clone https://github.com/PaddlePaddle/PaddleDetection.git
# 编译安装paddledet
cd PaddleDetection
python setup.py install
# 安装其他依赖
pip install -r requirements.txt
笔者尝试方法一成功安装
安装后确认测试通过:
python ppdet/modeling/tests/test_architectures.py
测试通过后会提示如下信息:
----------------------------------------------------------------------
Ran 5 tests in 3.012s
OK
5. 在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
会在output文件夹下生成一个画有预测结果的同名图像。
结果如下图: