PaddleDetection快速上手及问题排查

目录

前言

1. PaddlePaddle环境安装

1.1 目前飞桨支持的环境查看

1.2 CPU版本安装

注1,import paddle后报错

2. 安装PaddleDetection

2.1 克隆PaddleDetection仓库

注2,Windows系统,由于原版cocoapi不支持Windows,pycocotools依赖可能安装失败

注3,cython-bbox一般无法直接通过pip直接安装:

2.2 编译安装paddledet

注4,运行python ppdet/modeling/tests/test_architectures.py报错

总结


前言

PaddleDetection飞桨目标检测开发套件,旨在帮助开发者更快更好地完成检测模型的组建、训练、优化及部署等全开发流程。

PaddleDetection模块化地实现了多种主流目标检测算法,提供了丰富的数据增强策略、网络模块组件(如骨干网络)、损失函数等,并集成了模型压缩和跨平台高性能部署能力。

广泛应用工业质检、遥感图像检测、无人巡检、新零售、互联网、科研

飞桨PaddlePaddle-源于产业实践的开源深度学习平台

GitHub - PaddlePaddle/PaddleDetection: Object detection and instance segmentation toolkit based on PaddlePaddle.

1. PaddlePaddle环境安装

1.1 目前飞桨支持的环境查看

Windows 7/8/10 专业版/企业版 (64bit)

python -c "import platform;print(platform.architecture()[0]);print(platform.machine())"

GPU版本支持CUDA 10.1/10.2/11.0/11.2,且仅支持单卡

查看版本

nvcc -V

Python 版本 3.6+/3.7+/3.8+/3.9+ (64 bit)

python -V

pip 版本 20.2.2或更高版本 (64 bit)

pip -V


1.2 CPU版本安装

本机设备安装的cuda版本为9.2较低,所以此处安装cpu版本paddlepaddle。

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

安装完成后您可以使用python进入python解释器输入

import paddle

paddle.utils.run_check()

如果出现PaddlePaddle is installed successfully!,说明您已成功安装

确认PaddlePaddle版本

import paddle;
print(paddle.__version__)

注1,import paddle后报错

如果有如下错误:

ImportError: cannot import name 'collections_abc'

或者其他等等,原因可能是轮子的版本太旧了,需要更新一下。

简单粗暴的卸载再装上

pip uninstall six

pip install six

pip uninstall urllib3

pip install urllib3

问题暂时解决了

2. 安装PaddleDetection

2.1 克隆PaddleDetection仓库

cd

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

速度慢或者克隆不下来,可以用下面两者加速

git clone https://hub.fastgit.org/PaddlePaddle/PaddleDetection.git

git clone https://gitee.com/paddlepaddle/PaddleDetection.git

安装其他依赖

pip install -r requirements.txt

注2,Windows系统,由于原版cocoapi不支持Windows,pycocotools依赖可能安装失败

https://github.com/philferriere/cocoapi下载源码,并进行解压。

cd cocoapi\PythonAPI进入目录。

运行以下指令:

# install pycocotools locally

python setup.py build_ext --inplace

# install pycocotools to the Python site-packages

python setup.py build_ext install

注3,cython-bbox一般无法直接通过pip直接安装:

1)首先需要先安装Cython(用pip可以安装)

2)下载Cython_bbox源码,https://pypi.org/project/cython-bbox/#files,点击Download files下载。

3)解压文件。

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

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

python setup.py build_ext install

显示如下命令表示成功:

Installed d:\anaconda3\envs\paddle\lib\site-packages\cython_bbox-0.1.3-py3.7-win-amd64.egg

Processing dependencies for cython-bbox==0.1.3

Finished processing dependencies for cython-bbox==0.1.3

2.2 编译安装paddledet

cd PaddleDetection

python setup.py install

安装后确认测试通过:

python ppdet/modeling/tests/test_architectures.py

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

.....

----------------------------------------------------------------------

Ran 5 tests in 17.280s

OK

注4,运行python ppdet/modeling/tests/test_architectures.py报错

Traceback (most recent call last):

  File "ppdet/modeling/tests/test_architectures.py", line 21, in

    import ppdet

  File "D:\Anaconda3\envs\paddle\lib\site-packages\paddledet-2.2.0-py3.7.egg\ppdet\__init__.py", line 15, in

    from . import (core, data, engine, modeling, model_zoo, optimizer, metrics,

  File "D:\Anaconda3\envs\paddle\lib\site-packages\paddledet-2.2.0-py3.7.egg\ppdet\data\__init__.py", line 16, in

    from . import transform

  File "D:\Anaconda3\envs\paddle\lib\site-packages\paddledet-2.2.0-py3.7.egg\ppdet\data\transform\__init__.py", line 15, in

    from . import operators

  File "D:\Anaconda3\envs\paddle\lib\site-packages\paddledet-2.2.0-py3.7.egg\ppdet\data\transform\operators.py", line 41, in

    from ppdet.modeling import bbox_utils

  File "D:\Anaconda3\envs\paddle\lib\site-packages\paddledet-2.2.0-py3.7.egg\ppdet\modeling\__init__.py", line 25, in

    from . import architectures

  File "D:\Anaconda3\envs\paddle\lib\site-packages\paddledet-2.2.0-py3.7.egg\ppdet\modeling\architectures\__init__.py", line 8, in

    from . import meta_arch

  File "D:\Anaconda3\envs\paddle\lib\site-packages\paddledet-2.2.0-py3.7.egg\ppdet\modeling\architectures\meta_arch.py", line 11, in

    from static.ppdet.utils.post_process import nms

ModuleNotFoundError: No module named 'static'

打开ppdet/modeling/tests/test_architectures.py文件,在import ppdet前添加如下代码

import os

import sys

sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../../../')


总结

以上就是paddlepaddle和paddleDetection的安装过程,下文将记录用目标检测复现及训练自己的数据集

你可能感兴趣的:(飞桨学习,python,人工智能,计算机视觉,目标检测,深度学习)