mmdetection的训练、调试和测试


前言

mmdetection的训练、调试和测试操作

一、训练

在相应的虚拟环境中训练,先找到train.py,看下里面的操作。在parse_args()里会有很多操作指令,训练自己看着加。或者

python tools/train.py -h  # 会给出说明

在这里插入图片描述

# 单GPU训练
python tools/train.py configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py
# 多GPU训练
bash tools/dist_train.sh configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py 2

多GPU训练的时候,固定了PID,如果想要利用GPU跑多个代码而不会产生冲突,可以在dist_train.sh代码里进行修改。

#!/usr/bin/env bash

CONFIG=$1
GPUS=$2
#PORT=${PORT:-29500} #原来的
PORT=${PORT:-$((-29500 + $RANDOM % 10))} # 加个随机值

PYTHONPATH="$(dirname $0)/..":$PYTHONPATH \
python -m torch.distributed.launch --nproc_per_node=$GPUS --master_port=$PORT \
    $(dirname "$0")/train.py $CONFIG --launcher pytorch ${@:3}

二、调试

因为训练的主代码一般都包含一些指令(eg,–gpu-ids),简单的点击debug按钮不能直接debug。

1.通过pycharm里的调试器调试

在这里插入图片描述
通过点击train里的Edit Configurations进行设置
在这里插入图片描述
首先,确定我们的工作目录,图里的Working directory,可以自己设置工作目录。如果像图上的打开之后是在mmdetection/tools里,我们在图里的Parameters添加指令时,就要清楚的知道怎么去设置文件的路径。(操作默认都是以mmdetection为工作目录,所以比如给configs路径时,你的工作路径是在tools,这时你就要…configs上一目录mmdetection下的configs)。后面的一些指令,就可以根据train.py里的parse_args()进行设置。

2.通过控制台调试

在这里插入图片描述
这个要将整个代码复制进去,或者复制整个代码后,点(不推荐调试大量的代码,可以自己验证一些操作的时候使用,效果和jupyter差不多,可以边写边看值)
在这里插入图片描述

测试

同训练一样,找到test.py。

# 单GPU测试
python tools/test.py configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py work_dirs(输出路径)/faster_rcnn_r50_fpn_1x_coco.py/latest.pth --eval bbox
# 多GPU训练
bash tools/dist_test.sh configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py work_dirs(输出路径)/faster_rcnn_r50_fpn_1x_coco.py/latest.pth 2 --eval bbox

tools

这里可以使用一些工具对数据集或者训练结果进行统计画图或者可视化操作
在上次讲的代码doc说明里可以查看相应操作。

  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
mmdetection训练过程中,测试是一项非常重要的步骤。测试的目的是评估训练好的模型在未见过的数据上的性能,以衡量其在目标检测任务上的准确性和泛化能力。 在测试过程中,首先需要准备测试数据集。这个数据集通常是一个与训练数据集不同的数据集,用于评估模型的性能。为了进行测试,需要将测试集的图像和标注信息加载到测试器中,并根据训练好的模型对测试集进行预测。 在mmdetection中,测试通常有两种方式:单张图片测试和批量测试。单张图片测试是指对一张图片进行预测,并输出预测结果。批量测试是指对整个测试集中的所有图片进行批量处理,并输出每张图片的预测结果。 在进行测试时,首先需要加载训练好的模型,并将其设置为评估模式。然后,对测试集中的每张图片分别进行预测,并将预测结果保存下来。预测结果一般包括目标的类别、位置、置信度等信息。 完成所有图片的预测之后,可以使用不同的评估指标来评估模型的性能,比如准确率、召回率、mAP等。这些指标能够反映模型在检测目标时的表现。通过比较测试结果和标注信息,可以得出模型在未见过的数据上的准确性和泛化能力。 测试过程中还可以通过调整模型的超参数、增加数据增强等方式来提升模型的性能。测试的结果可以帮助我们了解模型的优劣,并指导后续的优化和改进。 总之,mmdetection测试是一个用于评估训练好的模型在未见过的数据上表现的重要步骤。通过测试,可以了解模型的性能指标并优化模型的训练过程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI、明察秋毫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值