Yolov8:本地部署运行全流程

目录

1. Yolov8环境配置

1.1 安装Anaconda

1.2 安装PyCharm

1.3 创建虚拟环境

1.4 下载源码和权重文件

1.5 安装基础运行依赖

1.6 加载项目,设置虚拟环境

2. Yolov8模型运行测试

2.1 预测测试

2.2 训练测试

2.3 验证测试

3. Yolov8分割、跟踪、姿态估计

3.1 Yolov8分割

3.2 Yolov8跟踪

3.3 Yolov8姿态估计

​3.4 集成运行


1. Yolov8环境配置

1.1 安装Anaconda

进入官网下载即可,也可以下载Miniconda,Miniconda是Anaconda的简化版,对于一般需求而言就够用了。具体安装教程大家可以搜一下。

下载并安装后,配置下载镜像源,因为有的库的服务器在国外,我们直接安装会很慢,这时候需要国内源进行下载;有两种方式:一种是一劳永逸的方法,直接配置.condrac配置文件就行;另外一种是在安装命令之后直接跟国内源地址。

配置和下载网址:anaconda | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

1.2 安装PyCharm

进入PyCharm官网下载即可,具体教程大家可以搜一下。

1.3 创建虚拟环境

YOLOv8所需要python>=3.8,博主之前用的是3.7,配置到最后发现python3.7对应的numpy最高是1.21,而YOLOv8要求的numpy最低是1.22.2,因此需要创建一个虚拟环境

conda create -n yolov8 python=3.8

创建成功后,以下面命令激活进入创建的虚拟环境

conda activate yolov8

1.4 下载源码和权重文件

源码地址:

GitHub - ultralytics/ultralytics: NEW - YOLOv8 🚀 in PyTorch > ONNX > OpenVINO > CoreML > TFLite​​​​​​

下载完整代码后,并把下面的YOLOv8n下载到上面项目文件的目录下,它是模型的预训练权重文件,官方提供了5个模型训练权重,也可把其他文件也下载本地,进行对比。 

1.5 安装基础运行依赖

让虚拟环境进入yolov8项目目录

yolov8源代码中已经把requirements.txt删掉了,官方把代码都整合到了ultralytics包里面,只需安装这一个库就可以了,里面封装了环境所需库,执行下面命令

pip install ultralytics -i https://pypi.tuna.tsinghua.edu.cn/simple

1.6 加载项目,设置虚拟环境

选择虚拟环境
File -> Settings -> Project:yolov5 -> Python Interpreter -> add -> Conda Enviroment -> Existing Enviroment -> 选择你的虚拟环境路径 -> ok

2. Yolov8模型运行测试

2.1 预测测试

1.首先测试算法预测,用自带的yolov8n模型,在终端输入下面命令

yolo predict model=yolov8n.pt source='ultralytics/assets'

打开文件夹 ./ultralytics-main/runs/detect/predict就可以看到预测文件

2.2 训练测试

1.训练测试数据集先使用coco128样本。下载链接

https://github.com/ultralytics/assets/releases/download/v0.0.0/coco128.zip

2.存放路径

下载完成后存放在根目录下的 datasets 文件夹中./ultralytics-main/datasets

3.训练命令,选择yolov8n模型,利用coco128数据进行训练,如果没有事先下载这个数据集,会通过coco128.yaml配置文件进行下载,但是会很慢。

yolo train model = yolov8n.pt data = coco128.yaml epochs = 10 imgsz = 640

执行过程一些图片

打开文件夹 ./ultralytics-main/runs/detect/train就可以看到预测文件

2.3 验证测试

1.验证测试命令

yolo val model = yolov8n.pt data = coco128.yaml

打开文件夹 ./ultralytics-main/runs/detect/val就可以看到预测文件

3. Yolov8分割、跟踪、姿态估计

3.1 Yolov8分割

执行以下命令,也可换成其他权重

yolo task=segment mode=predict model=yolov8n-seg.pt source='ultralytics/assets/bus.jpg' show=True

打开文件夹 ./ultralytics-main/runs/segment/predict就可以看到分割文件

3.2 Yolov8跟踪

执行以下命令,也可换成其他权重

yolo track model=yolov8n.pt source='ultralytics/assets/bus.jpg'

打开文件夹 ./ultralytics-main/runs/detect/track就可以看到跟踪文件

3.3 Yolov8姿态估计

执行以下命令,也可换成其他权重

yolo pose predict model=yolov8n-pose.pt source='ultralytics/assets' show=True save=True

打开文件夹 ./ultralytics-main/runs/pose/predict就可以看到姿态估计文件

3.4 集成运行

(1)检测、跟踪和分割

yolo pose predict track model=yolov8n-seg.pt source='ultralytics/assets' show=True save=True

(2)检测、跟踪和姿态估计

yolo pose predict track model=yolov8n-pose.pt source='ultralytics/assets' show=True save=True

(3)集成

把以上代码整合到main.py文件里,可同时进行检测+跟踪+分割方便运行,也可单独运行推理、训练、验证、分割、跟踪、姿态估计,想用哪个直接免去注释即可

from ultralytics import YOLO

if __name__ == '__main__':
    # Load a model
    # 直接使用预训练模型创建模型
    # model = YOLO('yolov8n.pt')
    # model.train(**{'cfg':'ultralytics/cfg/default.yaml', 'data':'ultralytics/models/yolo/detect/mydata/traffic.yaml'}, epochs=10, imgsz=640, batch=32)

    # #使用yaml配置文件来创建模型,并导入预训练权重
    #model = YOLO('ultralytics/cfg/models/v8/yolov8n.yaml')  # build a new model from YAML
    #model.load('yolov8n.pt')
    #model.train(**{'cfg': 'ultralytics/cfg/default.yaml', 'data': 'ultralytics/models/yolo/detect/mydata/traffic.yaml'},
     #           epochs=10, imgsz=640, batch=32, name='train')  # name:是此次训练结果保存的文件夹   数据集是我自己的数据集

# #     # 模型验证:用验证集
#     model = YOLO('runs/detect/train/weights/best.pt')
#     model.val(**{'data':'ultralytics/models/yolo/detect/mydata/traffic.yaml', 'name':'val', 'batch':32}) #模型验证用验证集
#     model.val(**{'data':'ultralytics/models/yolo/detect/mydata/traffic.yaml', 'split':'test', 'iou':0.9}) #模型验证用测试集

#     # 推理:
      '''model = YOLO('yolov8n.pt')
      model.predict(source='ultralytics/assets', show=True, save=True)'''
      # model.predict(source='ultralytics/assets', name='predict', **{'save':True})   # 写法二

    # 分割:
      ''''model = YOLO('yolov8n-seg.pt')
      model.predict(source='ultralytics/assets', name='predict', **{'save': True})'''

    # 跟踪:
      '''model = YOLO('yolov8n.pt')
      model.track(source="ultralytics/assets", show=True, save=True)'''

    # 姿态估计:
      '''model = YOLO('yolov8n-pose.pt')
      model.predict(source="ultralytics/assets", show=True, save=True)'''

    # 检测、跟踪、分割:
      '''model = YOLO('yolov8n-seg.pt')  # 加载一个官方的分割模型
      model.track(source="ultralytics/assets", show=True, save=True)'''

    # 检测、跟踪、姿态估计:
      '''model = YOLO('yolov8n-pose.pt')  # 加载一个官方的分割模型
      model.track(source="ultralytics/assets", show=True, save=True)'''
      #results = model.track(source="ultralytics/assets", show=True, tracker="bytetrack.yaml")  # 使用ByteTrack追踪器进行追踪

至此,你的Yolov8工具已经搭建好了!!!可以专注于学习了。

  • 25
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值