YOLOV8使用笔记

📅 2026/7/6 14:25:56
YOLOV8使用笔记
一、环境配置前置环境安装—minicondaminiconda 安装下载地址https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/如果C盘有空间最好安装在C盘且安装目录不能有中文勾选将其添加到PATHconda环境配置命令conda create -n yolov8 python3.8明确指定版本否则可能会因版本过高导致有包装不上环境配置完成后激活环境conda activate yolov8在VScode中使用PowerShellconda init powershellpypi配置国内源清华源https://mirrors.tuna.tsinghua.edu.cn/help/pypi/设为默认命令pip config set global.index-url https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple前置环境安装—pytorchpytorch安装官方网址https://pytorch.org/在一个单独的环境中能使用pip就尽量使用pip实在有问题的情况例如没有合适的编译好的系统版本的安装包在使用conda进行安装不要来回混淆CUDA是否要安装如果只需要训练简单推理则无需单独安装CUDA直接安装pytorch如果有部署要求例如导出TensorRT模型则需要进行CUDA安装Pytorch安装注意事项16XX的显卡安装cu102的版本否则可能训练出问题30XX40XX的显卡要安装cu111以上的版本否则无法运行英伟达查看显卡命令nvidia-smiultralytics(YOLOv8)安装直接使用源码不是很推荐无法使用命令行工具安装地址https://github.com/haermosi/yolov8/tree/mainhttps://github.com/ultralytics/ultralytics最新pip直接安装官方推荐个人不推荐pip install ultralyticspip源码安装个人推荐https://github.com/haermosi/yolov8/tree/main unzip ultraytics-main.zip cd ultralytics-mainpip install -e . (-e参数必须要有否则后续修改代码无效)二、模型训练训练前准备数据集准备image存放图片train训练集图片val验证集图片labels存放标签train训练集标签文件要与训练集图片名称一一对应val验证机标签文件要与验证集图片名称一一对应放置数据集必须是在datasets文件夹下放置数据描述数据描述仿写即可# Ultralytics YOLO , GPL-3.0 license # Argoverse-HD dataset (ring-front-center camera) http://www.cs.cmu.edu/~mengtial/proj/streaming/ by Argo AI # Example usage: yolo train dataArgoverse.yaml # parent # ├── yolov5 # └── datasets # └── Argoverse ← downloads here (31.3 GB) # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..] path: bvn # dataset root dir train: images/train/ # train images (relative to path) 39384 images val: images/val/ # val images (relative to path) 15062 images test: # test images (optional) https://eval.ai/web/challenges/challenge-page/800/overview # Classes names: 0: smallcar 1: motorcycle 2: bigcar 3: three wheelscar数据集构建图片类型数据无需额外处理直接进行标注视频类型数据进行抽帧处理导出为图片抽帧处理代码需要提前安装包# opencv-python 对应 cv2 pip install opencv-python # matplotlib 绘图库 pip install matplotlibimport cv2 import matplotlib.pyplot as plt # 打开视频文件 video cv2.VideoCapture(./AAA/BVN.mp4) num 0 # 计数器 save_step 3 # 间隔帧 while True: # 读取一帧 ret, frame video.read() if not ret: break num 1 if num % save_step 0: cv2.imwrite(./AAA/image/str(num).jpg, frame)labelimg数据集标注环境安装pip install labelimg解决PyQt5版本过高的问题pip install PyQt5-sip12.12.0 --only-binaryall -i https://pypi.tuna.tsinghua.edu.cn/simple pip install PyQt55.15.9 --only-binaryall -i https://pypi.tuna.tsinghua.edu.cn/simple pip install labelImg -i https://pypi.tuna.tsinghua.edu.cn/simple python -m pip install --upgrade pip启动命令labelimg关键设置autosaveYOLO formatpython版本推荐3.8版本make sence 数据集标注地址https://www.makesense.ai/辅助标注pip install tensorflowjs2.8.5YOLOv5模型导出tfjsmake scene 上传模型roboflow 公开数据集地址https://public.roboflow.com/object-detectionhttps://universe.roboflow.com/模型训练模型训练基于命令行的启动方式yolo taskdetect modetrain model./yolov8n.pt datadata.yaml workers1 epochs50 batch16在VScode中使用yolo8环境之后在执行命令# 在PowerShell中尝试 conda init powershell # 然后重启终端 conda activate yolov8用代码启动这里yaml文件与py文件同级即可代码启动workes0from ultralytics import YOLO # Load a model model YOLO(yolov8n.pt) # Train the model # datayaml文件位置,workers数据加载进程数,epochs训练总轮次,batch批次大小每一步训练一次性送入模型的图片数量 model.train(datayolo-bvn.yaml,workers0,epochs5,batch16)复制配置文件yolo copy-cfg在根目录出现default_copy.yaml文件修改对应参数model、data、epochs、batch、workers可覆盖原有参数跑完的数据存在runs文件中常见问题以代码方式运行时workers要设置成0起码window环境页面文件太小无法完成操作调整训练参数中的workers设置为1修改虚拟内存将环境安装位置所在的盘设置一个较大的参数数据集描述文件数据地址从datasets目录里开始写起且就放在根目录下会避免很多坑调整数据集目录后再次训练删除 ~/AppData/Roaming/Ultralytics文件夹下的settings.yaml模型预测模型预测基本使用命令行使用yolo taskdetect modepredict model./yolov8n.pt soure./ultralytics/assets/bus代码使用from ultralytics import YOLO yolo YOLO(./yolov8n.pt,taskdetect) result yolo(source./ultralytics/assets/bus.jpg) # saveTrue 保存结果 # result yolo(source./ultralytics/assets/bus.jpg,saveTrue)注意事项Jupyter中使用要可视化模型预测结果一定要设置%matplotlib inline否则无法使用因为在plot部分YOLO强制降后端设置为了AggJupyter中使用要重新加载模型否则预测过程中的参数将不会更新除非手动再次给出