PaddleDetection 项目使用说明

PaddleDetection 项目使用说明

PaddleDetection 项目使用说明

https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.7/configs/ppyoloe/README_cn.md
自己项目:

https://download.csdn.net/download/guoqingru0311/89118725


数据集处理相关模块


环境搭建

python 复制代码
PaddlePaddle 2.3.2
OS 64位操作系统
Python 3(3.5.1+/3.6/3.7/3.8/3.9/3.10),64位版本
pip/pip3(9.0.1+),64位版本
CUDA >= 10.2
cuDNN >= 7.6

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


# 创建虚拟环境
conda create -n paddle2 python=3.7

# 激活虚拟环境
conda activate paddle2

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

# . 安装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


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

# 请确保您的PaddlePaddle安装成功并且版本不低于需求版本。使用以下命令进行验证
# 在您的Python解释器中确认PaddlePaddle安装成功
>>> import paddle
>>> paddle.utils.run_check()

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


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

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

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

# 安装其他依赖
cd PaddleDetection
pip install -r requirements.txt -i https://pypi.doubanio.com/simple/

# 编译安装paddledet
python setup.py install

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


# 校验
# 在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


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


# 模型训练
Objects365数据集下载请参考objects365官网。具体种类列表可下载由PaddleDetection团队整理的objects365_detection_label_list.txt并存放在dataset/objects365/,每一行即表示第几个种类。inference或导出模型时需要读取到种类数,如果没有标注json文件时,可以进行如下更改configs/datasets/objects365_detection.yml


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


# 数据处理相关模块
['Eraser', 'Sharpener', 'Scale', 'Pencil']



# 模型训练指令
python -m paddle.distributed.launch --gpus 0 tools/train.py -c configs/ppyoloe/ppyoloe_plus_crn_l_80e_coco.yml --eval --amp

python -m paddle.distributed.launch --gpus 0 tools/train.py -c configs/ppyoloe/voc/ppyoloe_plus_crn_l_30e_voc.yml --eval --amp
python -m paddle.distributed.launch --gpus 0 tools/train.py -c configs/ppyoloe/voc/ppyoloe_plus_crn_s_30e_voc.yml --eval --amp


# 推理指令
# 推理单张图片
CUDA_VISIBLE_DEVICES=0 python tools/infer.py -c configs/ppyoloe/ppyoloe_plus_crn_l_80e_coco.yml -o weights=https://paddledet.bj.bcebos.com/models/ppyoloe_plus_crn_l_80e_coco.pdparams --infer_img=demo/000000014439_640x640.jpg

# 推理文件中的所有图片
CUDA_VISIBLE_DEVICES=1 python tools/infer.py -c ./configs/ppyoloe/voc/ppyoloe_plus_crn_l_30e_voc.yml -o weights=output/best_model/model.pdparams --infer_dir=./image_test



configs/ppyoloe/voc/ppyoloe_plus_crn_l_30e_voc.yml

configs/ppyoloe/voc/ppyoloe_plus_crn_s_30e_voc.yml



CUDA_VISIBLE_DEVICES=1 python tools/infer.py -c ./configs/ppyoloe/voc/ppyoloe_plus_crn_l_30e_voc.yml -o weights=output_ppyoloe_plus_crn_l_30e_voc/best_model/model.pdparams --infer_dir=./image_test

CUDA_VISIBLE_DEVICES=1 python tools/infer.py -c configs/ppyoloe/voc/ppyoloe_plus_crn_s_30e_voc.yml -o weights=output_ppyoloe_plus_crn_s_30e_voc/best_model/model.pdparams --infer_dir=./image_test