安全帽检测开发与部署:
- 模型训练
一、准备模型库
!pip install paddlex==2.0rc
二、准备数据集
# 解压数据集,并做好数据切分准备
!mv MyDataset/images MyDataset/JPEGImages 切分为图片集
!mv MyDataset/annotations MyDataset/Annotations 切分为标注集
!paddlex --split_dataset --format VOC --dataset_dir MyDataset --val_value 0.2 --test_value 0.1 将训练集、验证集和测试集按照7:2:1的比例划分。 PaddleX中提供了简单易用的API,方便用户直接使用进行数据划分。
三、模型训练
# 定义训练和验证时的transforms
# 定义训练和验证所用的数据集
# 初始化模型,并进行训练
num_classes = len(train_dataset.labels) 数据集分类个数
model = pdx.models.YOLOv3(num_classes=num_classes, backbone='MobileNetV3_ssld') 选择模型
model.train( 模型训练
num_epochs=270, 训练轮次
train_dataset=train_dataset,
train_batch_size=2, 前向计算一次(即为一个step)所用到的样本数量
eval_dataset=eval_dataset,
learning_rate=0.001 / 8, 学习率
warmup_steps=1000,
warmup_start_lr=0.0,
save_interval_epochs=1, 多少轮进行一次保存
lr_decay_epochs=[216, 243],
save_dir='output/yolov3_mobilenet') 输出保存路径
四、模型预测
五、模型裁剪
模型裁剪可以更好地满足在端侧、移动端上部署场景下的性能需求,可以有效得降低模型的体积,以及计算量,加速预测性能。
- 模型部署
基于PaddleInference的推理-Linux环境编译
1 部署代码准备
2 下载PaddlePaddle C++ 预测库
3 修改编译参数
4 修改yaml依赖包路径并编译
模型导出和部署
1 模型导出
2 模型测试(可排查BUG)
3 加载导出的模型并使用GPU预测
4 模型验证
- EasyEdge:PaddleX 2.0动态图检测模型的部署
看使用文档、