安徽网站制作公司,建设银行校招网站入口,厦门 网站建设企业邮箱,物流网站开发系统论文文章目录 第一步#xff1a;安装anaconda第二步#xff1a;安装虚拟环境第三步#xff1a;安装torch和torchvision第四步: 安装mmcv-full第五步: 安装mmdetection第六步#xff1a;测试环境第七步#xff1a;训练-目标检测7.1 准备数据集7.2 检查数据集7.3 训练网络 第一步… 文章目录 第一步安装anaconda第二步安装虚拟环境第三步安装torch和torchvision第四步: 安装mmcv-full第五步: 安装mmdetection第六步测试环境第七步训练-目标检测7.1 准备数据集7.2 检查数据集7.3 训练网络 第一步安装anaconda
参考教程点击
第二步安装虚拟环境
conda create --name openmmlab python3.8
conda activate openmmlab第三步安装torch和torchvision
conda install pytorch torchvision torchaudio cpuonly -c pytorch安装的版本为
第四步: 安装mmcv-full
下载地址点击 如果是2.*以上的版本则为mmcv。
pip install mmcv-2.0.1-cp38-cp38-win_amd64.whl第五步: 安装mmdetection
git clone https://github.com/open-mmlab/mmdetection.git
cd mmdetection
pip install -v -e .
# -v 指详细说明或更多的输出
# -e 表示在可编辑模式下安装项目因此对代码所做的任何本地修改都会生效从而无需重新安装。到这里为止环境的配置就完成了。
第六步测试环境
mim download mmdet --config rtmdet_tiny_8xb32-300e_coco --dest .下载将需要几秒钟或更长时间这取决于你的网络环境。完成后你会在当前文件夹中发现两个文件 rtmdet_tiny_8xb32-300e_coco.py 和 rtmdet_tiny_8xb32-300e_coco_20220902_112414-78e30dcc.pth。
如果你通过源码安装的 MMDetection那么直接运行以下命令进行验证
python demo/image_demo.py demo/demo.jpg rtmdet_tiny_8xb32-300e_coco.py --weights rtmdet_tiny_8xb32-300e_coco_20220902_112414-78e30dcc.pth --device cpu你会在当前文件夹中的 outputs/vis 文件夹中看到一个新的图像 demo.jpg图像中包含有网络预测的检测框。
第七步训练-目标检测
下载目标检测mmyolohttps://github.com/open-mmlab/mmyolo 这个里面的yolo系列更全
7.1 准备数据集
Cat 数据集是由 144 张图片组成的单类数据集原始图片由 RangeKing 提供并由 PeterH0323 清理其中包含训练所需的注释信息。示例图像如下所示 您可以通过以下命令直接下载并使用它 python tools/misc/download_dataset.py --dataset-name cat --save-dir data/cat --unzip --delete 此数据集使用以下目录结构自动下载到 dirdata/cat
7.2 检查数据集
检查标签是否有问题
修改 tools/analysis_tools/browse_coco_json.py --img-dir ../misc/data/cat/images --ann-file ../misc/data/cat/annotations/annotations_all.json7.3 训练网络
以 YOLOv5 算法为例考虑到用户的 GPU 内存有限我们需要修改一些默认的训练参数使其流畅运行。需要修改的关键参数如下
YOLOv5 是一种基于锚点的算法不同的数据集需要自适应地计算合适的锚点默认配置使用 8 个 GPU每个 GPU 的批大小为 16 个。现在将其更改为批处理大小为 12 的单个 GPU。默认训练周期为 300。将其更改为 40 纪元鉴于数据集很小我们选择使用固定的主干权重原则上当批量大小发生变化时学习率应相应地线性缩放但实际测量发现这不是必需的
在文件夹中创建一个配置文件我们提供了这个配置供您直接使用并将以下内容复制到配置文件中。yolov5_s-v61_fast_1xb12-40e_cat.pyconfigs/yolov5
_base_ yolov5_s-v61_syncbn_fast_8xb16-300e_coco.pydata_root misc/data/cat/
class_name (cat, )
num_classes len(class_name)
metainfo dict(classesclass_name, palette[(20, 220, 60)])anchors [[(68, 69), (154, 91), (143, 162)], # P3/8[(242, 160), (189, 287), (391, 207)], # P4/16[(353, 337), (539, 341), (443, 432)] # P5/32
]max_epochs 40
train_batch_size_per_gpu 12
train_num_workers 4load_from https://download.openmmlab.com/mmyolo/v0/yolov5/yolov5_s-v61_syncbn_fast_8xb16-300e_coco/yolov5_s-v61_syncbn_fast_8xb16-300e_coco_20220918_084700-86e02187.pth # noqamodel dict(backbonedict(frozen_stages4),bbox_headdict(head_moduledict(num_classesnum_classes),prior_generatordict(base_sizesanchors)))train_dataloader dict(batch_sizetrain_batch_size_per_gpu,num_workerstrain_num_workers,datasetdict(data_rootdata_root,metainfometainfo,ann_fileannotations/trainval.json,data_prefixdict(imgimages/)))val_dataloader dict(datasetdict(metainfometainfo,data_rootdata_root,ann_fileannotations/test.json,data_prefixdict(imgimages/)))test_dataloader val_dataloader_base_.optim_wrapper.optimizer.batch_size_per_gpu train_batch_size_per_gpuval_evaluator dict(ann_filedata_root annotations/test.json)
test_evaluator val_evaluatordefault_hooks dict(checkpointdict(interval10, max_keep_ckpts2, save_bestauto),# The warmup_mim_iter parameter is critical.# The default value is 1000 which is not suitable for cat datasets.param_schedulerdict(max_epochsmax_epochs, warmup_mim_iter10),loggerdict(typeLoggerHook, interval5))
train_cfg dict(max_epochsmax_epochs, val_interval10)
# visualizer dict(vis_backends [dict(typeLocalVisBackend), dict(typeWandbVisBackend)]) # noqa然后修改tools/train.py。主要修改config就行了 parser.add_argument(--config, default../configs/yolov5/yolov5_s-v61_fast_1xb12-40e_cat.py, helptrain config file path)
报错需要安装pip install albumentations -i https://pypi.tuna.tsinghua.edu.cn/simple 和pip install prettytable -i https://pypi.tuna.tsinghua.edu.cn/simple 安装完运行后成功训练