最近需要使用YOLOv8,百度了一下现在网上大多数教程都是比较早期的教程,很多文件已经大不相同,于是我根据官方readme文档,总结了一套安装方法,只需要按照本教程,复制每一段代码,按照教程配置好相应文件即可直接使用。
我在运行中遇到了一些问题,懒得写了,
这个是我上传到csdn的YOLOv8的整个文件夹(内含yolov8s.pt和yolov8n.pt)
github:YOLOv8-github
gitee:YOLOv8-gitee
推荐使用国内的gitee
如果没有安装conda可以搜索一下conda配置教程,按照流程安装好conda,还要下载好符合自己电脑版本的CUDA 后续会用。
输入下面命令
conda create -n y8 python=3.8
是否安装环境所需基础包,输入y安装即可,安装完成如下图
输入下面命令查看是否创建成功
conda env list
激活进入环境
conda activate y8
激活成功后,前面的base会替换成y8
首先先把pip的源换到国内aliyun镜像,下载速度提高很多
pip config set install.trusted-host mirrors.aliyun.com
首先conda环境cd进入主文件夹下,在yolov8文件夹下有个配置文件requirements.txt 在conda页面使用pip安装一下
pip install -r requirements.txt
我已经安装了一遍,安装完成大概如下图所示
安装完配置文件在安装一下yolov8在python>=3.8版本必要安装包
pip install ultralytics
第四步 下载训练模型,推荐yolov8s.pt或者yolov8n.pt,模型小,下载快,在gitee或者github下方readme里面,下载完成后,将模型放在主文件夹下,
yolov8s.pt下载地址:yolov8s.pt
yolov8n.pt下载地址:yolov8n.pt
YOLOv8 可以在命令行界面(CLI)中直接使用,使用yolov8自带经典图片进行测试:
首先cd进入yolov8主文件夹下,运行下面命令
yolo predict model=yolov8n.pt source='ultralytics/assets/bus.jpg'
我的结果保存在runs\detect\predict4中,你们的看Results saved to 存放地址,结果如下图
如果出现上面图片即成功
首先在yolov8主文件夹内创建data文件夹,创建一个data.yaml文件:
这里需要转成yolov8训练集
train: xxx/xxx/images/train //xxx/xxx为训练集图片根目录地址,一定要是绝对路径
val: xxx/xxx/images/val
nc: 1 #标签数量
names: ["1"]#标签名称
conda在主文件夹下运行下面命令:
yolo train data=data/data.yaml model=yolov8s.pt epochs=300 imgsz=640 batch=8 workers=0 device=cpu
data为yaml配置文件
model为下载的模型,放在主文件下
epochs为训练轮数
imagez为训练时ai看到的图片大小,检查大图片建议使用640,小图片可以320 越大越吃性能
batch为一轮训练中每一次放入图片数量,越大越快效果越好,但是对性能要求越高
device为使用的设备,使用cpu练就写cpu,使用显卡大多数都是0,多显卡就0,1,2,3,...多少显卡往后写多少
运行出现下面效果即为成功
在使用nvidia-smi查看是否安装cuda,如果显示没有此命令则没有安装,去CUDA Toolkit Archive | NVIDIA Developer该网站,找到对应版本cuda和系统版本进行下载安装,具体安装步骤可以参考此教程【精选】CUDA安装及环境配置——最新详细版_abbrave的博客-CSDN博客,安装完成后再次输入nvidia-smi出现下图即为成功。
再去pytorch官网,下载对应cuda版本和操作系统的pytorch,如果找不到对应版本,可以安装低于电脑cuda版本的pytorch。
例如图cuda11.1 在conda中创建的虚拟环境运行下面对应的pip安装,在安装命令后面加上-i https://pypi.douban.com/simple/ some-package 使用国内下载源进行下载大大减少下载时间,等他下载完,在当前conda安装环境输入pip list找到torch+torchaudio+torchvision三个包,如下图在版本后带有+cuxxx即为安装成功。
输入下面代码进行测试,如果有多个显卡,在device=0,1,2…
yolo train data=data/data.yaml model=yolov8s.pt epochs=300 imgsz=640 batch=8 workers=0 device=0
可以运行,并且在运行时显示显卡型号即为成功.
2023.12.4改