本文章从0开始去用yolov8训练COCO128数据集,大家学会了之后也可以去跑你们的数据集,看是否速度和准确度对比之前的模型有所上升!有点尴尬的是第 77 张图片没有我们要的元素
这个就不用多说了吧
(新建环境会更干净,但也可直接在base环境上搭建)
windows下打开Anaconda Prompt
创建名为yolov8的虚拟环境:
conda create -n yolov8 python=3.7 anaconda
conda env list
conda activate yolov8
在yolov8环境下输入:
python
import torch
import torchvision
torch.cuda.is_available()
如果输出为False则要安装pytorch
在windows的cmd下输入:
nvidia-smi
输出的第一行就能看见CUDA的版本(这里为10.2,是比较低的版本,后续要更新)
pytorch官网:https://pytorch.org/get-started/locally/
进入官网,可以看到CUDA的版本不能低于11.6(或11.7),yolov8要求的CUDA版本比较新,这也是许多教程没有强调的地方,如果CUDA版本旧就不能硬安,不然会一直报错且找不到理由。所以如果CUDA版本没达到11.6,则要更新英伟达驱动。
首先,查找电脑的英伟达版本:
任务管理器->性能->找到NVIDIA开头的GPU->就能看见英伟达版本了
英伟达官网:https://www.nvidia.cn/
点击右上方的驱动程序进入页面:
然后点击搜索、下载,下载完成后再点击exe文件进入安装界面:
选择第一项:NVIDIA显卡驱动和GeForce Experience
取消所有勾选:
即完成更新
再在yolov8环境或cmd命令行中输入:
nvidia-smi
即可查看更新后的CUDA版本:
此时为12.0版本,大于11.6,就可以去官网安装pytorch了
4.安装pytorch
pytorch官网: https://pytorch.org/get-started/locally/
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu116
成功下载:
https://github.com/ultralytics/ultralytics
下载到电脑后解压
在PyCharm中新建项目,并打开源码的项目文件,并在setting中按照刚刚查看的conda环境来选择python Interpreter(解释器):
最后在pycharm的终端Terminal中出现(yolov8)的前缀即成功
在pycharm终端Terminal中(代码目录下)安装依赖:
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
python setup.py install
setup.py安装后会输出比较多的信息,主要看最后是否输出Finished processing即可(报错大多是网络问题,多尝试)
检测的推理:
在pycharm下的Terminal中(代码目录下)输入:
yolo predict model=yolov8n.pt source="https://ultralytics.com/images/bus.jpg"
图片结果保存在最后一行指定路径中
当然也可以直接也运行文件ultralytics->yolo->v8->detect->predict.py,
图片结果也保存在最后一行指定路径中:
如报错:
urllib.error.URLError: 「urlopen error [Errno 11004] getaddrinfo failed」
原因及解决方法:
电脑配置的DNS不能使用了,只需修改DNS地址为114.114.114.114即可:
即可
yolo detect train data=coco128.yaml model=yolov8n.pt epochs=100 imgsz=640
开始100个阶段的训练,图片结果保存至所示路径中:
报错与解决:
由于下载的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个小时,训练完成: