YOLOv8代码调试运行实战

Posted 拉磨的驴肉火烧@Tieling Yu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了YOLOv8代码调试运行实战相关的知识,希望对你有一定的参考价值。

YOLOv8代码调试运行实战

YOLOv8入坑出坑。

1.创建虚拟环境

创建:conda create -n yolov8 python=3.8
conda create -n yolov8 python=3.7
查看:conda env list
进入:conda activate yolov8

退出:conda deactivate
删除:conda remove -n yolov8 --all

2.导入yolov8 源码

下载yolov8
https://github.com/ultralytics/ultralytics
yolov8 源码下载链接

解压
打开PyCharm Community Edition 2021.2.1,导入YOLOv8项目

3.Python Interpreter设置

设置为刚才新建的虚拟环境:D:\\ProgramData\\Anaconda3\\envs\\yolov8\\python.exe





Python Interpreter下面显示出来内容就OK了。

4.忽略系统自动安装依赖


一定关掉!一定关掉!一定关掉!

5.安装依赖

Terminal中安装

进入:conda activate yolov8

安装依赖:pip install -r requirements.txt -i https://mirrors.bfsu.edu.cn/pypi/web/simple/

等待安装完成

6.下载权重

进入:https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n.pt
权重下载链接
虽然可以自动下载yolov8n.pt,但是经常打不开,所以手动下载吧。
下载:yolov8n.pt
拷到E:\\AI\\yolo\\yolov8\\ultralytics-main\\ultralytics\\yolo\\v8\\detect\\yolov8n.pt

复制然后粘贴

最后yolov8n.pt可能会乱码,先不要管它。

7.测试运行

运行E:\\AI\\yolo\\yolov8\\ultralytics-main\\ultralytics\\yolo\\v8\\detect\\predict.py

大概率会出现:“FileNotFoundError: [WinError 2] 系统找不到指定的文件”的错误,重点来了!

8.解决错误“FileNotFoundError: [WinError 2] 系统找不到指定的文件”

打开
D:\\ProgramData\\Anaconda3\\envs\\yolov8\\Lib\\subprocess.py


把shell=False改为shell=True

9.完成测试

再次运行E:\\AI\\yolo\\yolov8\\ultralytics-main\\ultralytics\\yolo\\v8\\detect\\predict.py

完成测试

10.查看结果



恭喜你!看标识框就说明完成了所有设置!

YOLOV7模型调试记录

先前的YOLOv7模型是pytorch重构的,并非官方提供的源码,而在博主使用自己的数据集进行实验时发现效果并不理想,因此生怕是由于源码重构导致该问题,此外还需进行对比实验,因此便从官网上下载了源码,进行调试运行。

环境配置

由于博主先前曾经运行过pytorch版本的yolov7,因此这次就沿用那个虚拟环境了。
有需要了解相关配置的可以参考博主这篇博客:

写在前面,关于YOLOv7的代码中有个wandb大家可以将其关闭,因为这个实际上没有啥用途反而在运行中会造成下载屏障,配置错误等问题,关闭方法打开下面这个文件:

随后在开头代码:

try:
    import wandb
    from wandb import init, finish
except ImportError:
    wandb = None

后加上wandb = None,即为:

测试

将源码下载完成后,先进行简单测试看看环境是否符合,可以先运行detect.py,修改下其中的预训练模型文件:这里建议大家手动下载。

parser.add_argument('--weights', nargs='+', type=str, default='./weights/yolov7.pt', help='model.pt path(s)')

其余的就不用动了,运行成果后会提示你将检测结果放到相应文件夹:

测试结果:

训练调试

这个才是我们的重头戏
其实这个配置并不难,我们使用的是YOLO格式的数据集,该数据集就是先前博主在运行YOLOv8模型时制作的。
具体制作过程参考博主这篇博文:

YOLOv8调试记录

主要便是执行下面这段代码,即将VOC格式数据集转换为YOLO格式

随后创建数据集配置文件

然后修改train.py中的相关配置:分别对应预训练模型参数,模型框架与数据集配置文件,此外还需修改epochs和batch-size等。

随后我们还需修改模型配置文件中检测的类别数

随后我们运行train.py文件就OK了:这里由于博主使用了一小部分数据集所以效果并不理想,稍后会将其上传至服务器上进行实验。

服务器配置

将代码上传值服务器后,由于博主先前已经将使用该数据集训练了YOLOv8模型,因此数据集早已存在于服务器上,此时的数据集存放在yolov8的data文件内,博主将cadc.ymal文件的路径修改为yolov8中的地址却报错,随后便将yolov8中的数据集复制到了yolov7中,再次运行后依旧报错,后来发现是由于在复制过程中连同.cache缓存文件一并复制过来的缘故,将其删除后再次运行,运行成功。

此时设置batch-szie=16 epochs=300
GPU服务器使用情况如下:

以上是关于YOLOv8代码调试运行实战的主要内容,如果未能解决你的问题,请参考以下文章

R语言使用tryCatch函数调试R代码实战:tryCatch函数运行正常R代码tryCatch函数运行有错误(error)的R代码示例/tryCatch函数运行有警告(warning)的R代码示例

运行YOLOv8实现识别

YOLOv8 Ultralytics:最先进的 YOLO 模型——简介+实战教程

Windows10下yolov8 tensorrt模型加速部署实战

win10下 yolov8 tensorrt模型加速部署实战

YOLOv8模型调试记录