1.配置环境
1.
首先去官网下载yolov8的zip
https://github.com/ultralytics/ultralytics
存放在我的目录下G:\bsh\yolov8
然后使用conda创建新的环境
conda create -n yolov8 python=3.8
#然后激活环境
conda activate yolov8
然后安装pytorch,注意 ,pytorch1,7,1不支持使用rtdetr的权重来推理,pytorch1.10.1才支持,后面会写。
conda install pytorch==1.7.1 torchvision==0.8.2 torchaudio==0.7.2 cudatoolkit=10.1 -c pytorch
安装 ultralytics
pip install ultralytics
(然后我需要降低pillow的版本来适配我的pytorch,因为报错ImportError: DLL load failed while importing _imaging: 找不到指定的模块。
:解决方法参考附录1,如果你们不需要请略过)
然后下载官网的权重文件:
https://github.com/ultralytics/assets/releases
这里我下载了一堆进行测试:
然后照一张图片进行测试,
可以参考官方文档
https://docs.ultralytics.com/modes/predict/#inference-arguments
自己照一张图片,放在G:\bsh\yolov8\datademo\bug.jpg
里边
yolo detect predict model=weights/yolov8n.pt source=datademo\bus.jpg
运行结果如下图:
再拿一张自己随便拍的做测试,只能说种类越来越多了,之前yolov5那好像没有鼠标垫?
ps:
检测目录设置成文件夹就行。遍历文件夹里的所有文件进行检测。
yolo detect predict model=weights/yolov8n.pt source=datademo
顺便附上yolov8支持的检测参数
Usage - sources:$ yolo mode=predict model=yolov8n.pt source=0 # webcamimg.jpg # imagevid.mp4 # videoscreen # screenshotpath/ # directorylist.txt # list of imageslist.streams # list of streams'path/*.jpg' # glob'https://youtu.be/Zgi9g1ksQHc' # YouTube'rtsp://example.com/media.mp4' # RTSP, RTMP, HTTP streamUsage - formats:$ yolo mode=predict model=yolov8n.pt # PyTorchyolov8n.torchscript # TorchScriptyolov8n.onnx # ONNX Runtime or OpenCV DNN with dnn=Trueyolov8n_openvino_model # OpenVINOyolov8n.engine # TensorRTyolov8n.mlpackage # CoreML (macOS-only)yolov8n_saved_model # TensorFlow SavedModelyolov8n.pb # TensorFlow GraphDefyolov8n.tflite # TensorFlow Liteyolov8n_edgetpu.tflite # TensorFlow Edge TPUyolov8n_paddle_model # PaddlePaddle
测了刚才一圈,这些模型,除了rtdetr的两个模型,都可以正常使用,
其中yolo_nas系列需要安装额外的库pip install super_gradients
为了使用rtdetr,我找了问题,应该是pytorch版本过低无法使用NonDynamicallyQuantizableLinear这个属性,起码要使用pytorch 1.9.0,但是1.9.0的不支持我的cuda 10.1了,都是10.2,我不敢升级cuda驱动,怕出问题,先下一个pytorch1.9.0试试吧
conda install pytorch==1.9.0 torchvision==0.10.0 torchaudio==0.9.0 cudatoolkit=10.2 -c pytorch
这个版本我的电脑也可以,可是还报错,
TypeError: meshgrid() got an unexpected keyword argument ‘indexing’
我去网上搜,pytorch=1.10.1解决了,所以我在尝试升级一下
conda install pytorch==1.10.1 torchvision==0.11.2 torchaudio==0.10.1 cudatoolkit=10.2 -c pytorch
可以的,事实证明我的笔记本还能继续战斗!
2.训练自己的数据集
附录1
1.pillow库报错
ImportError: DLL load failed while importing _imaging: 找不到指定的模块。
(yolov8) PS G:\bsh\yolov8> pip show pillow
Name: Pillow
Version: 9.3.0
看出,报错是因为pillow版本过高,直接安装8.0版本即可
pip install pillow==8.0