Discuz! Board

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1|回复: 0

关于搭建YOLOv8现裂缝缺陷识别全流程教程:从源码下载到模型测试

[复制链接]

37万

主题

0

回帖

111万

积分

超级版主

Rank: 8Rank: 8

积分
1114222
发表于 7 天前 | 显示全部楼层 |阅读模式
教程目的:
yolov8的安装配置到训练模型,并完成使用模型进行识别

前提注意:
yolov8要求Python需要版本必需大于等于310,我用的Python3123,这里分享下Python3123的安装器=panquarkcns2f9cad8130ab

以及教程中用到的yolov8源码、权重文件、GPU配套版本的Torch=?panquarkcns388cdfd7ca3f

大致步骤


1下载源代码并下载所需库2更换GPU版本的Torch和Numpy版本3下载权重文件4准备数据集5开始训练6测试模型



步骤1:下载源代码并下载所需库
下载yolov8源代码然后Pycharm创建项目,并将源代码放入进行解压

下载源码=ultralyticsultralytics:UltralyticsYOLO11??(githubcom)





然后下载所需库,控制台执行命令pipinstallultralytics

pipinstallultralytics
提示:现在官方提供下载所需库的命令是pipinstallultralytics,而不再是通过requirementstxt下载库了,并且源码也删除了requirementstxt

步骤2:更换GPU版本的Torch和Numpy版本
所需库下载完了后,默认下载的torch是CPU版本的,我需要GPU版本的torch,因此还需要更换torch的版本,我们可以先检查下torch的版本以及cuda是否可用,根目录创建一个py文件,为cuda检查py,放置如下代码并且执行:

importtorch
importnumpyasnp

#检查GPU、Cuda

print("numpy版本:"+np__version__)
print("CUDA是否可用=",torchcudais_available())
print("pytorch版本="+torch__version__)
print("是否支持CUDA="+str(torchcudais_available()))
#如果有GPU可用,打印GPU数量和称
iftorchcudais_available():
print("GPU设备数量=",torchcudadece_count())
print("当前使用GPU=",torchcudaget_dece_name(torchcudacurrent_dece()))
else:
print("没有GPU可用,当前将运行在CPU上")
?

如果没问题,会显示如下,那么你可以直接去看步骤3了



如果你的pytorch显示cpu版本的,且numpy提示报错了,请继续看如下解决方案:

21下载cuda,更换GPU版本的torch

cuda官方下载链接:developerndiacomcuda-toolkit-archive
我下载的是?1220?版本,安装时选择默认路径即可。

然后来到PyTorch,因为我下载的是CUDA122,往下拉可以看到一个注释为CUDA121的,这里可以看到我们应当使用的torch版本,记住这几个版本号



?

然后来到PyTorch库官方下载页?

使用捷键ctrl+f搜索并下载GPU配套版本torch:

torch:搜索?cu121torch-221(版本小一点是可以的),选择cp312-win的版本(因为我是python312且为windows)



torchsion:搜索?cu121torchsion-0171,选择?cp312-win?的版本。



torchaudio:搜索?cu121torchaudio-221,选择?cp312-win?的版本。



个whl文件下载完后建议放到yolov8根目录,然后cmd进入此目录,依次执行以下条命令安装:

pipinstall"torch-221+cu121-cp39-cp39-win_amd64whl"
pipinstall"torchsion-0171+cu121-cp39-cp39-win_amd64whl"
pipinstall"torchaudio-221+cu121-cp39-cp39-win_amd64whl"
注意:安装首个whl文件时会出现红色文字提示,这不是说安装失败,是提示还需要安装torchsion



22更换numpy版本
我是遇到这个问题了,yolov8要求numpy版本不得大于20,因此我需要先卸载当前大于20版本的numpy,然后降低版本为20以下,依次执行如下命令:

1卸载现有的Numpyku
pipuninstallnumpy

2安装20以下且yolov8支持的numpy版本
pipinstallnumpy==1264
比较后建议执行下刚才创建的cuda检查py文件,看看是否已经完成了GPU版本的torch安装

步骤3:下载权重文件
下载权重文件(也成为预训练检查点文件),然后建议放入yolov8源码根目录

下载=githubcomultralyticsassetsreleases

我这里下载的是yolov8npt





步骤4:准备数据集
关于准备数据集这个东西,完整的方式是先准备图片,再用labelImg去标注图片,这里我提供个标注好的裂缝缺陷数据集,可直接开始训练,见夸克盘内的splitDatazip和CrackConfigyaml=?标记好的裂缝缺陷数据集(幽络源整理)

如需要学习如何自己制作数据集合,请看这里的教程=?Yolov5图像识别教程包成功-幽络源原创

步骤5:开始训练
为方便理解,在根目录下建立文件夹为MyTrain,然后将数据集和相关配置放进去,如图



注意:在CrackConfigyaml中你需要将train和val更改为你自己的绝对路径!!!

然后就是开始训练了,在yolov8源码根目录打开控制条,执行如下命令即可开始训练:

yolotraindata="D:\A01PythonProjects3123\ultralytics-main\MyTrain\CrackConfigyaml"model="D:\A01PythonProjects3123\ultralytics-main\yolov8npt"epochs=200imgsz=640batch=8workers=8dece=0
参数提示:


data是数据集配置文件的绝对路径
model是下载的权重文件的绝对路径,一定要绝对路径
epochs是训练轮次
imgsz是指定图片的尺寸
batch指定每一批处理数量
workers指定线程工作数量
dece指定使用显卡还是CPU还是其他,为0则表示使用显卡

命令一运行,就可以看到开始训练了,如下2张图:





训练完后可以看到结果表示在根目录的runsdetecttrain2下,可以看到weights下有个bestpt,这便是我们的比较模型文件,如图



步骤6:测试模型
然后在根目录建立py文件为Mainpy,加入如下代码,然后找一张相关的图进行测试:

注意:将模型文件绝对路径和图片路径替换为你自己的!!!

fromultralyticsimportYOLO
yolo=YOLO(model=r"D:\A01PythonProjects3123\ultralytics-main\runs\detect\train2\weights\bestpt",task="detect")
results=yolo(source=r"C:\Users\Administrator\Pictures\testjpg",save=True)
然后运行,运行后可以看到控制台提示识别的结果在runs\detect\predict目录下,如图



结语
不得不说yolov8其还要比yolov5简单的多,幽络源的yolov8搭建使用基础教程结束,如有不懂,可加群询问。

?

?

?



在同行眼中,源码网有着让人觊觎的好品质,也有着很多让人嫉妒的忠实粉丝。提供经过严格测试的免费源码、各种线上兼职和网络兼职的网创教程、编程及网络相关的技术教程分享,助您轻松获取资源和技术支持。https://www.youluoyuan.com/

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|足球新闻网

GMT+8, 2025-4-25 12:07 , Processed in 1.498299 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表