PaddleDetection搭建

Posted 陈文超

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PaddleDetection搭建相关的知识,希望对你有一定的参考价值。

安装说明

1. 安装PaddlePaddle

# CUDA10.1
python -m pip install paddlepaddle-gpu==2.1.0.post101 -f https://paddlepaddle.org.cn/whl/mkl/stable.html
或
# CPU
python -m pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple

请确保您的PaddlePaddle安装成功并且版本不低于需求版本。使用以下命令进行验证。

# 在您的Python解释器中确认PaddlePaddle安装成功
>>> import paddle
>>> paddle.utils.run_check()

# 确认PaddlePaddle版本
python -c "import paddle; print(paddle.__version__)"

注意

  1. 如果您希望在多卡环境下使用PaddleDetection,请首先安装NCCL

2. 安装PaddleDetection

注意: pip安装方式只支持Python3

# 克隆PaddleDetection仓库
cd <path/to/clone/PaddleDetection>
git clone https://github.com/PaddlePaddle/PaddleDetection.git

# 安装其他依赖
pip install -r requirements.txt
如果缺少cython依赖,则安装
pip install Cython # 编译安装paddledet cd PaddleDetection python setup.py install

注意

  1. 如果github下载代码较慢,可尝试使用gitee或者代理加速

  2. 若您使用的是Windows系统,由于原版cocoapi不支持Windows,pycocotools依赖可能安装失败,可采用第三方实现版本,该版本仅支持Python3

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

  3. 若您使用的是Python <= 3.6的版本,安装pycocotools可能会报错distutils.errors.DistutilsError: Could not find suitable distribution for Requirement.parse(\'cython>=0.27.3\'), 您可通过先安装cythonpip install cython解决该问题

安装后确认测试通过:

python ppdet/modeling/tests/test_architectures.py

测试通过后会提示如下信息:

.....
----------------------------------------------------------------------
Ran 5 tests in 4.280s
OK

快速体验

恭喜! 您已经成功安装了PaddleDetection,接下来快速体验目标检测效果

# 在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文件夹下生成一个画有预测结果的同名图像。

Windows下运行PaddleDetection例子

一、依赖安装

先进入工程目录,然后进入之前创建的python3.9环境

cd 工程目录

activate paddle_env

克隆代码

git clone https://github.com/PaddlePaddle/PaddleDetection.git

然后进入工程目录

cd PaddleDetection

进行安装检查

pip install -r requirements.txt

出现如下错误

 cl: 命令行 error D8021 :无效的数值参数“/Wno-cpp”
  error: command 'D:\\\\Program Files\\\\Microsoft Visual Studio\\\\2022\\\\Preview\\\\VC\\\\Tools\\\\MSVC\\\\14.30.30528\\\\bin\\\\HostX86\\\\x64\\\\cl.exe' failed with exit code 2 

解决办法

1、首先需要下载Cython_bbox源码,Cython_bbox,点击Download files下载。

2、解压文件。

3、在目录中使用文本打开setup.py,找到第31行,把其中extra_compile_args=[’-Wno-cpp’]的替换为extra_compile_args='gcc': ['/Qstd=c99']

4、保存改动,返回cython_bbox-0.1.3文件目录,调用cmd并跳转至此目录后,使用命令行

进入python环境activate paddle_env

进入下载目录D:\\temp\\cython_bbox-0.1.3

python setup.py build_ext install

 

然后安装pip install -e D:\\temp\\cython_bbox-0.1.3 

然后通过pip list查看是否成功安装了cython_bbox-0.1.3 

都成功后安装

python setup.py install

提示安装成功

 

测试

python ppdet/modeling/tests/test_architectures.py

如果提示 No module named 'matplotlib'

输入python -m pip install matplotlib进行安装

二、测试

PP-Tracking GUI界面测试版进行测试

https://github.com/yangyudong2020/PP-Tracking_GUihttps://github.com/yangyudong2020/PP-Tracking_GUi下载工程后进行安装

pip install -r requirements.txt

提示版本不兼容,然后根据提示进行降级

ERROR: pip's dependency resolver does not currently take into account all the packages that are installed.  This behaviour is the source of the following dependency conflicts. paddlepaddle-gpu 2.2.1. post112 requires numpy<=1.19.3,>=1.13;  python_version >= "3.5" and platform_system == "Windows", but you have numpy 1.22.0 which is incompatible. 

降级numpy

pip install -U numpy==1.19.3 

然后检查通过,运行

python main.py

成功运行

Github地址 

https://github.com/PaddlePaddle/PaddleDetection/blob/develop/deploy/pptracking/README.mdhttps://github.com/PaddlePaddle/PaddleDetection/blob/develop/deploy/pptracking/README.md详细教程地址

PP-Tracking之手把手玩转多目标跟踪 - 飞桨AI Studio - 人工智能学习与实训社区PP-Tracking之手把手玩转多目标跟踪 - 飞桨AI Studio - 人工智能学习与实训社区https://aistudio.baidu.com/aistudio/projectdetail/3022582数据集格式说明PaddleDetection/PrepareMOTDataSet_cn.md at develop · PaddlePaddle/PaddleDetection · GitHubhttps://github.com/PaddlePaddle/PaddleDetection/blob/develop/docs/tutorials/PrepareMOTDataSet_cn.md

以上是关于PaddleDetection搭建的主要内容,如果未能解决你的问题,请参考以下文章

论文复现使用PaddleDetection复现OrientedRepPoints的复现笔记

AI达人创造营基于PaddleDetection的红细胞形状异常检测

PaddleDetection中的目标检测模型的输入和输出

[深度学习][原创]旋转目标检测框架yolov5_obb,paddledetection-s2anet和mmrotate谁最好用?

如何将PaddleDetection模型在树莓派4B上部署?

算法SOTA功能全面性能最佳,PaddleDetection 2.0重磅升级!