无脑——010 复现yolov8 使用yolov8和rt detr 训练自己的数据集

1.配置环境

1.

首先去官网下载yolov8的zip

https://github.com/ultralytics/ultralytics

存放在我的目录下G:\bsh\yolov8

然后使用conda创建新的环境

bash 复制代码
conda create -n yolov8 python=3.8
#然后激活环境
conda activate yolov8

然后安装pytorch,注意 ,pytorch1.10.1以后的版本才支持rtdetr.pt的两个权重文件。

bash 复制代码
 conda install pytorch==1.10.1 torchvision==0.11.2 torchaudio==0.10.1 cudatoolkit=10.2 -c pytorch

安装 ultralytics

bash 复制代码
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里边

bash 复制代码
yolo detect predict model=weights/yolov8n.pt source=datademo\bus.jpg

运行结果如下图:

再拿一张自己随便拍的做测试,只能说种类越来越多了,之前yolov5那好像没有鼠标垫?

ps:

检测目录设置成文件夹就行。遍历文件夹里的所有文件进行检测。

bash 复制代码
yolo detect predict model=weights/yolov8n.pt source=datademo

顺便附上yolov8支持的检测参数

bash 复制代码
Usage - sources:
    $ yolo mode=predict model=yolov8n.pt source=0                               # webcam
                                                img.jpg                         # image
                                                vid.mp4                         # video
                                                screen                          # screenshot
                                                path/                           # directory
                                                list.txt                        # list of images
                                                list.streams                    # list of streams
                                                'path/*.jpg'                    # glob
                                                'https://youtu.be/Zgi9g1ksQHc'  # YouTube
                                                'rtsp://example.com/media.mp4'  # RTSP, RTMP, HTTP stream

Usage - formats:
    $ yolo mode=predict model=yolov8n.pt                 # PyTorch
                              yolov8n.torchscript        # TorchScript
                              yolov8n.onnx               # ONNX Runtime or OpenCV DNN with dnn=True
                              yolov8n_openvino_model     # OpenVINO
                              yolov8n.engine             # TensorRT
                              yolov8n.mlpackage          # CoreML (macOS-only)
                              yolov8n_saved_model        # TensorFlow SavedModel
                              yolov8n.pb                 # TensorFlow GraphDef
                              yolov8n.tflite             # TensorFlow Lite
                              yolov8n_edgetpu.tflite     # TensorFlow Edge TPU
                              yolov8n_paddle_model       # PaddlePaddle

测了刚才一圈,这些模型,除了yolov_nas的三个模型,都可以正常使用,据作者说暂时不打算加入yolo-NAS,那不知道为什么会有推理的模型,好奇怪

我还意外发现,yolov8s可以检测到键盘,其他的不行

2.训练自己的数据集

正在更新ing

2023年8月11日

还是使用yolov5准备的数据集,准备方法可以看我之前的文章

http://t.csdn.cn/MhxVF

然后运行代码:

bash 复制代码
yolo task=detect mode=train model=weights/yolov8s.pt data=./data/datazaoj1.yaml batch=4 epochs=50 imgsz=640 workers=4 device=0

这里要把batch和worker调小,因为我的GTX 1060的显卡只有6G的显存,不然 就会电脑死机,记得,训练的过程中,不要打开谷歌浏览器,这玩意占用内存太多了,很容易导致训练失败。

附录1

1.pillow库报错

bash 复制代码
ImportError: DLL load failed while importing _imaging: 找不到指定的模块。
(yolov8) PS G:\bsh\yolov8> pip show pillow
Name: Pillow
Version: 9.3.0

看出,报错是因为pillow版本过高,直接安装8.0版本即可

bash 复制代码
pip install pillow==8.0

2.yolo_nas测试问题

安装pip install super_gradients之后还是报错LooseVersion = distutils.version.LooseVersion

AttributeError: module 'distutils' has no attribute 'version'

然后又安装的pip install setuptools==59.5.0

相关推荐
学术头条27 分钟前
清华、智谱团队:探索 RLHF 的 scaling laws
人工智能·深度学习·算法·机器学习·语言模型·计算语言学
18号房客31 分钟前
一个简单的机器学习实战例程,使用Scikit-Learn库来完成一个常见的分类任务——**鸢尾花数据集(Iris Dataset)**的分类
人工智能·深度学习·神经网络·机器学习·语言模型·自然语言处理·sklearn
Ven%1 小时前
如何在防火墙上指定ip访问服务器上任何端口呢
linux·服务器·网络·深度学习·tcp/ip
IT猿手1 小时前
最新高性能多目标优化算法:多目标麋鹿优化算法(MOEHO)求解TP1-TP10及工程应用---盘式制动器设计,提供完整MATLAB代码
开发语言·深度学习·算法·机器学习·matlab·多目标算法
强哥之神2 小时前
Nexa AI发布OmniAudio-2.6B:一款快速的音频语言模型,专为边缘部署设计
人工智能·深度学习·机器学习·语言模型·自然语言处理·音视频·openai
18号房客2 小时前
一个简单的深度学习模型例程,使用Keras(基于TensorFlow)构建一个卷积神经网络(CNN)来分类MNIST手写数字数据集。
人工智能·深度学习·机器学习·生成对抗网络·语言模型·自然语言处理·tensorflow
神秘的土鸡2 小时前
神经网络图像隐写术:用AI隐藏信息的艺术
人工智能·深度学习·神经网络
数据分析能量站2 小时前
神经网络-LeNet
人工智能·深度学习·神经网络·机器学习
Jaly_W2 小时前
用于航空发动机故障诊断的深度分层排序网络
人工智能·深度学习·故障诊断·航空发动机
盛世隐者3 小时前
【pytorch】循环神经网络
人工智能·pytorch