百度飞浆目标检测

配环境

创建项目时,自动使用PaddlePaddle【自动安装CUDA10.1】和python3.7。
在这里插入图片描述

安装paddledetection(创建项目时,已经安装了paddlepaddle)

#notebook中用!
# 下载PaddleDetection
!git clone https://gitee.com/paddlepaddle/PaddleDetection
# 移到work目录下,持久安装
!mv PaddleDetection work 

#配置PaddleDetection环境 
!pip install -r /home/aistudio/work/PaddleDetection/requirements.txt
#安装paddledetection
python setup.py install
#运行需要 COCO-API
pip install pycocotools
#安装可视化工具VisualDL
python -m pip install visualdl -i https://mirror.baidu.com/pypi/simple

训练

相关概念

一个epoch:所有训练样本在神经网络中都进行了一次正向传播和一次反向传播。
在训练时,将所有数据迭代训练一次是不够的,需要反复多次才能拟合收敛。
随着 epoch 数量的增加,神经网络中权重更新迭代的次数增多,曲线从最开始的不拟合状态,慢慢进入优化拟合状态,最终进入过拟合
epoch 的个数是非常重要的。对于不同的数据集来说,epoch 数量是不同的。epoch 大小与数据集的多样化程度有关,多样化程度越强,epoch 应该越大。

batch size:实际训练中,由于内存的原因,不能一次将所有样本进行训练,所以一次将batch size个样本进行训练。

迭代数iters:样本数/batch size,完成一次 epoch 所需的 batch 个数

训练

#将数据集解压到指定目录
unzip tile_r2_no_model.zip -d /home/aistudio/work/PaddleDetection/dataset/tile_voc

# 边训练边测试 CPU需要约1小时(use_gpu=false),1080Ti GPU需要约5分钟。
# -c 参数表示指定使用哪个配置文件
# -o 参数表示指定配置文件中的全局变量(覆盖配置文件中的设置),这里设置使用gpu,
# --eval 参数表示边训练边评估,会自动保存一个评估结果最的名为best_model.pdmodel的模型
python tools/train.py -c configs/yolov3_mobilenet_v1_roadsign.yml --eval 
#训练时,记录数据
python tools/train.py -c configs/yolov3_mobilenet_v1_roadsign.yml \
                        --use_vdl=true \
                        --vdl_log_dir=vdl_dir/scalar \
                        --eval
#通过 visualdl 命令实时查看变化曲线:https://github.com/PaddlePaddle/VisualDL/blob/develop/README_CN.md
visualdl --logdir vdl_dir/scalar/--host 127.0.0.1 --port 8080 可不用使用,是默认的】
tensorboard --logdir vdl_dir/scalar

# 评估 默认使用训练过程中保存的best_model
# -c 参数表示指定使用哪个配置文件
# -o 参数表示指定配置文件中的全局变量(覆盖配置文件中的设置),需使用单卡评估
CUDA_VISIBLE_DEVICES=0 python tools/eval.py -c configs/yolov3_mobilenet_v1_roadsign.yml -o use_gpu=true

# -c 参数表示指定使用哪个配置文件
# -o 参数表示指定配置文件中的全局变量(覆盖配置文件中的设置)
# --infer_img 参数指定预测图像路径
# 预测结束后会在output文件夹中生成一张画有预测结果的同名图像

python tools/infer.py -c configs/yolov3_mobilenet_v1_roadsign.yml -o use_gpu=true --infer_img=demo/road554.png

# 训练后再评估
# 训练时,不评估,且记录loss
export CUDA_VISIBLE_DEVICES=0
python tools/train.py -c configs/faster_rcnn_r50_1x.yml use_gpu=true

注意

config中epoch还是iteration?

paddlepaddle version<1.4之前使用静态图,使用参数最大轮数max_iter = epoch/batch size
paddlepaddle version>=1.4 动态图,使用参数epoch

版权声明:本文为CSDN博主「puspos」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/puspos/article/details/121122458

puspos

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

从0开始实现目标检测——实践篇

根据上一篇《从0开始实现目标检测——原理篇》的讲述,我们选择了YOLOv3作为模型,那么本篇文章将继续接着上篇的内容,自己动手基于YOLOv3实现模型训练和mAP的计算。 在自己动手的这个过程中&#xf

目标检测----YOLOV1

前言 目标检测任务的目标是识别图像中物体的类别并且定位物体所在位置用矩形框框出。目标检测领域的深度学习方法的发展主要分为两大类:两阶段(Two-stage)目标检测算法和单阶段(One-