从零开始使用yolov训练目标检测模型

385 阅读3分钟

软件准备

开发环境

一般推荐使用Pycharm: Pycharm安装教程

VS Code也可以,更轻量化,本文仅涉及简单入门yolov5,所以能编辑代码就够用了,本文后续也以VS Code为例。

VS Code安装与配置

1.下载并安装VS Code

image.png 下载系统对应版本并安装即可,本文以Windows系统为例。 2. 配置语言 image.png 打开VS Code,按Ctrl+Shift+P,在命令搜索框中输入configure display language并运行,在下拉框中选择“中文(简体)”,重启编辑器即可更新显示语言。 3. 安装插件 image.png 在侧边工具栏选择插件图标,搜索Python,安装同名插件。 至此VS Code最基础的配置就完成了。

Anaconda

Anaconda是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项,总之就是个大杂烩,把Python很多必备的包和依赖给你一次性装好了。安装教程看这篇就行,还包括了Mac OS的安装教程: Anaconda安装教程

环境配置

创建虚拟环境

  1. 按Win+R,输入cmd并回车,打开cmd命令行;
  2. 输入conda create -n yolo python=3.9创建虚拟环境,如果报错提示没有conda命令的话就检查一下有没有按照上面的教程配置环境变量;
  3. 再输入activate yolo激活我们的虚拟环境,命令行的前缀从“(base)”变成“(yolo)”就是成功了。

配置镜像源

  1. 国内安装很多包速度会很慢,建议配置国内镜像源以改善安装速度,在cmd逐行输入以下命令:
# 添加清华镜像
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
# 添加pytorch镜像
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
# for legacy win-64
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/peterjc123/
conda config --set show_channel_urls yes

安装Pytorch

  1. Windows系统安装前需要查看一下电脑的CUDA版本,按Win键,搜索并打开“NVDIA Control Panel”;
  2. 在“系统信息”-“组件”里查看; image.png image.png
  3. 前往Pytorch官网查看自己电脑CUDA版本对应的Pytorch安装命令,如果CUDA版本太低就去安装历史版本中找对应的命令; image.png
  4. 在cmd中输入并运行复制过来的命令,等待安装完成;
  5. 安装完成后再命令行输入python打开python编辑器,输入代码并运行,输出True不报错即成功
import torch 
torch.cuda.is_available()

配置pip镜像

  1. 将pip升级到10.0及以上版本,运行命令
python -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade pip
  1. 配置清华数据源
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

安装yolo

yolov8

  1. yolov8的安装非常简单,使用conda命令一键安装
conda install -c conda-forge ultralytics

yolov5

未完待续...

数据集处理

yolov8提供了coco格式转yolo格式的处理工具: JSON2YOLO

也可以自己写python程序转,更灵活。

训练

yolov8

准备好数据集后就可以开始训练了,yolov8参照官方文档的指南,配置好数据集yaml,在命令行中输入训练命令即可开始训练:

// yolo detect train data=[yaml文件] model=[模型] epochs=100 imgsz=640
// 例如:
yolo detect train data=coco128.yaml model=yolov8n.pt epochs=100 imgsz=640

具体的参数定义在指南中也能查阅。yolo模型是从github下载的,国内访问可能会很慢,可以通过代理网站事先下载好模型文件。

yolov5

未完待续...