1.使用mmdeploy部署rtmdet ins做实例分割
2.mmdetection训练自己的源码数据集(详细)
使用mmdeploy部署rtmdet ins做实例分割
在尝试使用mmdeploy部署rtmdet ins进行实例分割时,发现网上资源较少,编译github的源码问题也有不少未解决,只得自己动手,编译留作档案。源码
构建时需严格遵循源代码构建流程,编译源码购买源码从下载到构建,源码避免第三方库问题。编译
ppl.cv不支持cuda,源码构建时需在cuda.cmake中设置与自己显卡对应的编译flag。
使用了最新版的源码tensorrt和cudnn,版本对运行结果影响不大,编译但确保环境变量已正确设置。源码
安装mmcv时需注意版本,编译应使用大于2.0.0、源码小于2.2.0的版本,直接按照教程安装易导致版本2.3.0,虚拟货币app源码mmdet会报错,我选择安装2.1.0版本。
在使用中需注意cuda版本,选择.x版本最为合适。
因为mmdeploy需要nvcc进行编译,所以本地的cuda toolkit也应安装。我忽视了这一点,nvcc编译可以正常通过,指维系统源码但在运行时在trt nms处出现错误。
在修改permuteData.cu文件后,发现问题是由于sm_不兼容(我的显卡是,查看主机cuda版本是否支持)。吐槽的是,即使卸载过cuda导致nvcc版本为.1,编译也能通过!
如果你的云转码直播源码cuda版本高于.x,请修改zsh/bash指定版本,先执行,再添加到环境变量。
在模型转换时,需要将mmdetection的_base_文件夹导入到mmdeploy的_base_中,将mmdetection的/config/rtmdet导入到mmdeploy的/config中,否则会找不到type。
mmdetection训练自己的穿越皇朝游戏源码数据集(详细)
在使用mmdetection训练自己的数据集的过程中,首先需要准备数据集并确保其格式与yolov3兼容。数据集应遵循特定目录结构,包括mmdetection目录、data目录、VOCdevkit子目录、VOC子目录、Annotations子目录、ImageSets子目录以及Main子目录,并在Main子目录中包含train.txt、test.txt等文件以及JEPGImages子目录。
接下来,进行环境准备和源码下载。确认GCC版本大于5,然后安装MMCV。接着,下载源码并执行环境编译。
进行参数修改以适应自定义数据集。修改mmdetection/configs/_base_/datasets/voc.py、mmdetection/mmdet/datasets/voc.py、mmdetection/mmdet/core/evaluation/class_names.py以及mmdetection/configs/faster_rcnn/faster_rcnn_r_fpn_1x_coco.py等关键文件,确保它们与自定义数据集兼容。如果数据集中的格式非jpg,还需对mmdetection/mmdet/datasets/xml_style.py进行相应修改。
最后,执行训练和测试操作。训练模型时,生成的模型将存放在mmdetection/work_dirs目录下。进行模型测试,首先运行相应的命令,然后根据需要修改mmdetection/mmdet/apis/inference.py文件以生成模型测试。测试结果将保存在/demo目录中。
以上步骤提供了一个基于mmdetection框架训练自定义数据集的完整流程,确保了从环境准备、数据集格式化、参数调整到模型训练和测试的每个关键环节都能顺利进行。通过遵循上述指南,开发者可以有效利用mmdetection实现自定义数据集的训练,从而推动目标检测任务的定制化和优化。