使用mmyolo检测工具箱,完成yolo系列算法的训练,包括环境的搭建及yolo系列算法的配置文件等。
mmyolo官方地址:https://github.com/open-mmlab/mmdeploy
相关文档: https://github.com/open-mmlab/mmdeploy/blob/dev-1.x/docs/zh_cn/get_started.md
一、环境搭建
1.创建虚拟环境
conda create --name mmyolo python=3.8 -y
激活虚拟环境:
conda activate mmyolo
2.安装pytorch、torchvision
根据自己的配置安装相应版本
pip install torch==1.7.1+cu101 torchvision==0.8.2+cu101 -f https://download.pytorch.org/whl/torch_stable.html
或手动下载,地址:https://download.pytorch.org/whl/torch_stable.html
3.下载I MMEngine 、 MMCV和MMDET3.x
pip install -U openmim mim install mmengine mim install 'mmcv>=2.0.0rc1' mim install "mmdet>=3.0.0rc5,<3.1.0" 4.下载mmyolo并编译 git clone https://github.com/open-mmlab/mmyolo.git cd mmyolo # Install albumentations pip install -r requirements/albu.txt # Install MMYOLO mim install -v -e .
二、训练yolo系列算法(以yolo6和yolox为例)
yolo5~yolo8训练的config大致相同,yolox略有不同
1.构造数据集
使用coco格式数据集进行训练,使用labelme标注,然后使用如下代码进行转换:
# -*- coding:utf-8 -*-
# !/usr/bin/env python
import argparse
import json
import matplotlib.pyplot as plt
import skimage.io as io
import cv2
from labelme import utils
import numpy as np
import glob
import PIL.Image
class MyEncoder(json.JSONEncoder):
def default(self, obj):
if isinstance(obj, np.integer):
return int(obj)
elif isinstance(obj, np.floating):
return float(obj)
elif isinstance(obj, np.ndarray):
return obj.tolist()
else:
return super(MyEncoder, self).default(obj)
class labelme2coco(object):
def __init__(self, labelme_json=[], save_json_path='./tran.json'):
&
最低0.47元/天 解锁文章
5374

被折叠的 条评论
为什么被折叠?



