【草稿】大名鼎鼎的YOLO 迎来新版本YOLOv8,将脱离标准的YOLO项目设计开发自己的API !

YOLOv8 亲体验 ,手把手在 Anaconda 的虚拟环境布置和运行YOLOv8

本文章从0开始去用yolov8训练COCO128数据集,大家学会了之后也可以去跑你们的数据集,看是否速度和准确度对比之前的模型有所上升!有点尴尬的是第 77 张图片没有我们要的元素

1、安装Anaconda和PyCharm

这个就不用多说了吧

2、创建虚拟环境

(新建环境会更干净,但也可直接在base环境上搭建)

  1. windows下打开Anaconda Prompt

  2. 创建名为yolov8的虚拟环境:


conda create -n yolov8 python=3.7 anaconda

  1. 查看conda中已创建的环境:

conda env list

  1. 打开新建环境yolov8:

conda activate yolov8

3、安装pytorch

  1. 检查是否安装pytorch:(新建环境则直接跳过检查)

在yolov8环境下输入:


python

import torch

import torchvision

torch.cuda.is_available()

在这里插入图片描述

如果输出为False则要安装pytorch

  1. 检查CUDA版本:

在windows的cmd下输入:


nvidia-smi

输出的第一行就能看见CUDA的版本(这里为10.2,是比较低的版本,后续要更新)

在这里插入图片描述

pytorch官网:https://pytorch.org/get-started/locally/

【草稿】大名鼎鼎的YOLO 迎来新版本YOLOv8,将脱离标准的YOLO项目设计开发自己的API !_第1张图片

进入官网,可以看到CUDA的版本不能低于11.6(或11.7),yolov8要求的CUDA版本比较新,这也是许多教程没有强调的地方,如果CUDA版本旧就不能硬安,不然会一直报错且找不到理由。所以如果CUDA版本没达到11.6,则要更新英伟达驱动。

  1. 更新英伟达驱动

首先,查找电脑的英伟达版本:

任务管理器->性能->找到NVIDIA开头的GPU->就能看见英伟达版本了

【草稿】大名鼎鼎的YOLO 迎来新版本YOLOv8,将脱离标准的YOLO项目设计开发自己的API !_第2张图片


英伟达官网:https://www.nvidia.cn/


点击右上方的驱动程序进入页面:

【草稿】大名鼎鼎的YOLO 迎来新版本YOLOv8,将脱离标准的YOLO项目设计开发自己的API !_第3张图片

然后点击搜索、下载,下载完成后再点击exe文件进入安装界面:

选择第一项:NVIDIA显卡驱动和GeForce Experience

【草稿】大名鼎鼎的YOLO 迎来新版本YOLOv8,将脱离标准的YOLO项目设计开发自己的API !_第4张图片


取消所有勾选:

【草稿】大名鼎鼎的YOLO 迎来新版本YOLOv8,将脱离标准的YOLO项目设计开发自己的API !_第5张图片


即完成更新


再在yolov8环境或cmd命令行中输入:


nvidia-smi

即可查看更新后的CUDA版本:

【草稿】大名鼎鼎的YOLO 迎来新版本YOLOv8,将脱离标准的YOLO项目设计开发自己的API !_第6张图片


此时为12.0版本,大于11.6,就可以去官网安装pytorch了

4.安装pytorch

pytorch官网: https://pytorch.org/get-started/locally/

【草稿】大名鼎鼎的YOLO 迎来新版本YOLOv8,将脱离标准的YOLO项目设计开发自己的API !_第7张图片


pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu116

成功下载:

在这里插入图片描述

4、下载yolov8源码

https://github.com/ultralytics/ultralytics

【草稿】大名鼎鼎的YOLO 迎来新版本YOLOv8,将脱离标准的YOLO项目设计开发自己的API !_第8张图片


下载到电脑后解压

5、设置PyCharm

在PyCharm中新建项目,并打开源码的项目文件,并在setting中按照刚刚查看的conda环境来选择python Interpreter(解释器):

【草稿】大名鼎鼎的YOLO 迎来新版本YOLOv8,将脱离标准的YOLO项目设计开发自己的API !_第9张图片

【草稿】大名鼎鼎的YOLO 迎来新版本YOLOv8,将脱离标准的YOLO项目设计开发自己的API !_第10张图片

【草稿】大名鼎鼎的YOLO 迎来新版本YOLOv8,将脱离标准的YOLO项目设计开发自己的API !_第11张图片

最后在pycharm的终端Terminal中出现(yolov8)的前缀即成功

在这里插入图片描述

6、安装依赖

在pycharm终端Terminal中(代码目录下)安装依赖:


pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple


python setup.py install

setup.py安装后会输出比较多的信息,主要看最后是否输出Finished processing即可(报错大多是网络问题,多尝试)

在这里插入图片描述

7、运行推理

检测的推理:

在pycharm下的Terminal中(代码目录下)输入:


yolo predict model=yolov8n.pt source="https://ultralytics.com/images/bus.jpg"

【草稿】大名鼎鼎的YOLO 迎来新版本YOLOv8,将脱离标准的YOLO项目设计开发自己的API !_第12张图片

图片结果保存在最后一行指定路径中

当然也可以直接也运行文件ultralytics->yolo->v8->detect->predict.py,

【草稿】大名鼎鼎的YOLO 迎来新版本YOLOv8,将脱离标准的YOLO项目设计开发自己的API !_第13张图片

【草稿】大名鼎鼎的YOLO 迎来新版本YOLOv8,将脱离标准的YOLO项目设计开发自己的API !_第14张图片

图片结果也保存在最后一行指定路径中:

如报错:

urllib.error.URLError: 「urlopen error [Errno 11004] getaddrinfo failed」

原因及解决方法:

电脑配置的DNS不能使用了,只需修改DNS地址为114.114.114.114即可:

【草稿】大名鼎鼎的YOLO 迎来新版本YOLOv8,将脱离标准的YOLO项目设计开发自己的API !_第15张图片

【草稿】大名鼎鼎的YOLO 迎来新版本YOLOv8,将脱离标准的YOLO项目设计开发自己的API !_第16张图片

【草稿】大名鼎鼎的YOLO 迎来新版本YOLOv8,将脱离标准的YOLO项目设计开发自己的API !_第17张图片

【草稿】大名鼎鼎的YOLO 迎来新版本YOLOv8,将脱离标准的YOLO项目设计开发自己的API !_第18张图片

即可

8、训练数据集

  1. 在数据集coco128.yaml上训练yolov8n模型,分为100个阶段,图像大小为640:

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

开始100个阶段的训练,图片结果保存至所示路径中:

【草稿】大名鼎鼎的YOLO 迎来新版本YOLOv8,将脱离标准的YOLO项目设计开发自己的API !_第19张图片


报错与解决:

在这里插入图片描述

由于下载的pytorch导致两个同名文件libiomp5md.dll文件冲突了,删掉下图指定的一个即可:

在这里插入图片描述

在这里插入图片描述

网上千篇一律地说找文件,改workers,改batch_size,也没有说怎么找,就算是在default文件找到了参数可以修改,但是改了也没用,官网的指令和它没关系,然后网上还说不行就创建虚拟空间,有些人创建之后行了,但c盘d盘都快满了,也有人怎么调大都不行。

这里只需要修改一下代码:


yolo detect train data=coco128.yaml model=yolov8n.pt epochs=100 imgsz=640 workers=4 batch=4

如果还不行就继续减小workers和batch的大小即可

(ps:如果还是不行,那就创建虚拟空间吧:https://blog.csdn.net/Together_CZ/article/details/126545991)

历经4.25个小时,训练完成:

【草稿】大名鼎鼎的YOLO 迎来新版本YOLOv8,将脱离标准的YOLO项目设计开发自己的API !_第20张图片

你可能感兴趣的:(Python_opencv,YOLO,python,pytorch)