百度飞浆目标检测

配环境

创建项目时,自动使用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

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

暂无评论

发表评论

相关推荐

YOLOX笔记

目录 1. 样本匹配 正负样本划分过程 2. yoloxwarmcos 学习率 3. 无法开启多gpu训练, 或者多gpu训练卡住? 1. 样本匹配 正负样本划分过程 说明: gt_centerbbox是在gt_bbox中心点向四周