Yolov8目标检测算法之环境搭建
工欲善其事必先利其器,学Yolov8必须首先学会环境搭建。
本文搭建环境结果如下:
环境 | 配置 |
---|---|
硬件环境 | 联想工作站P系列+3090GPU |
Cuda版本 | Cuda 12.3(无需配置cuDNN即可运行) |
虚拟环境管理器 | Anaconda |
Python版本 | 3.8 |
Torch版本 | torch-2.3.1-cu121-cp38,torchaudio-2.3.1-cu121, torchvsion-0.18.1 |
步骤总览
下载部分:
1.安装Anaconda Python虚拟环境管理器:保护电脑纯净的运行环境。
2.下载Cuda和cuDNN:GPU运算必须要装。
3.下载GPU版本的Torch:yolov8的算法底座
部署部分:
4.搭建conda虚拟环境
5.安装基础运算依赖:安装python的科学依赖包
6.安装Torch
7.安装ultralytics(Yolov8)
运行部分:
8.测试安装情况
安装Anaconda Python虚拟环境管理器
1.官方下载地址(有点慢):https://repo.anaconda.com/archive/
2.建议安装在非系统盘,安装完成后需要配置环境变量。
3.环境变量配置
右键我的电脑 - 属性 - 高级系统设置 - 环境变量,在环境变量系统变量中的Path进行编辑,输入下文内容。
D:\YourPath\Anaconda3
D:\YourPath\Anaconda3\Scripts
D:\YourPath\Anaconda3\Library\bin
D:\YourPath\Anaconda3\Library\mingw-w64\bin
D:\YourPath\Anaconda3\Library\usr\bin
4.配置完成后按win + r打开CMD输入,检查安装情况
conda --version
- 在输入python,打开anaconda默认安装的python环境
python
下载Cuda和cuDNN
1.如果采用GPU运算则,Cuda必须要下载,同时,Cuda版本必须与显卡驱动兼容。如果使用CPU运算可以跳过这个步骤。
-
使用cmd的nvidia-smi命令查看当前显卡支持的最高版本Cuda。
-
我的电脑最高支持12.3的Cuda,因此选择下载Cuda12.3
-
注意的是,Cuda版本是向下兼容torch的GPU版本的,因此Cuda版本大于torch版本一般来说问题不大。
nvidia-smi
### 效果如下:
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 546.01 Driver Version: 546.01 CUDA Version: 12.3 |
|-----------------------------------------+----------------------+----------------------+
2.下载Cuda,官方网站:https://developer.nvidia.com/cuda-toolkit-archive
3.正常一路安装即可,安装完成后重启电脑。
4.安装cuDNN:其他博主会涉及到安装cuDNN的操作,目前我采用的Cuda12.3无需替换cuDNN,目前没踩雷。
官方网站:https://developer.nvidia.com/cudnn-archive。各位可按需安装。
3.下载GPU版本的Torch
1.国内镜像默认下载的都是CPU版本的torch,可以跳过此步骤。
2.Torch官网:https://pytorch.org/get-started/locally/。可以根据官网教程直接远程安装,下载巨慢,不推荐,建议离线下载安装包,后续安装不同虚拟环境时,可以灵活部署。
3.下载地址:https://download.pytorch.org/whl/cu121。其他版本的torch就把cu121后缀修改成自己想要的。
4.下载内容:torch,trochaudio,torchvision
5.选择下载的包
torch-2.3.1+cu121-cp38-cp38-win_amd64.whl
torchaudio-2.3.1+cu121-cp38-cp38-win_amd64.whl
torchvision-0.18.1+cu121-cp38-cp38-win_amd64.whl
6.下载也很慢,不过至少能断点续传…等吧,有其他好的离线下载办法可以评论区分享。
4.搭建conda虚拟环境
1.conda初始化,conda第一次运行的时候需要进行初始化,执行如下命令:
conda init
2.新建一个名字为y8work,python版本为3.8的虚拟环境
conda create -n y8work python=3.8
3.进入虚拟环境
conda activate y8work
4.查看当前环境的一些参数
# 查看conda安装的一些内容
conda list
# 查看python版本
python --version
# 查看python环境包
pip list
# 删除这个环境
conda env remove --n y8work
5.安装基础运算依赖
原来yolov8中源代码已经把requirements.txt删掉了。
目前整理了一份,可以直接pip安装。
1.requirements.txt文件内容如下:
# Ultralytics requirements
# Usage: pip install -r requirements.txt
# Base ----------------------------------------
matplotlib>=3.2.2
numpy>=1.22.2 # pinned by Snyk to avoid a vulnerability
opencv-python>=4.6.0
pillow>=7.1.2
pyyaml>=5.3.1
requests>=2.23.0
scipy>=1.4.1
# torch>=1.7.0
# torchvision>=0.8.1
tqdm>=4.64.0
# Logging -------------------------------------
# tensorboard>=2.13.0
# dvclive>=2.12.0
# clearml
# comet
# Plotting ------------------------------------
pandas>=1.1.4
seaborn>=0.11.0
# Export --------------------------------------
# coremltools>=6.0,<=6.2 # CoreML export
# onnx>=1.12.0 # ONNX export
# onnxsim>=0.4.1 # ONNX simplifier
# nvidia-pyindex # TensorRT export
# nvidia-tensorrt # TensorRT export
# scikit-learn==0.19.2 # CoreML quantization
# tensorflow>=2.4.1 # TF exports (-cpu, -aarch64, -macos)
# tflite-support
# tensorflowjs>=3.9.0 # TF.js export
# openvino-dev>=2023.0 # OpenVINO export
# Extras --------------------------------------
psutil # system utilization
py-cpuinfo # display CPU info
# thop>=0.1.1 # FLOPs computation
# ipython # interactive notebook
# albumentations>=1.0.3 # training augmentations
# pycocotools>=2.0.6 # COCO mAP
# roboflow
2.安装命令,利用清华镜像加速下载
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
# pip install -r D:/下载中心/Python安装包/requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
6.安装Torch
1.如果安装CPU版本的Torch可以直接利用清华镜像
pip install torch torchaudio torchvision -i https://pypi.tuna.tsinghua.edu.cn/simple
2.如果安装GPU版本,通过官网下载,用官方给的命令
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
3.如果使用离线安装,使用如下命令,其他依赖仍然通过清华镜像解决
pip install "torch-2.3.1+cu121-cp38-cp38-win_amd64.whl" "torchaudio-2.3.1+cu121-cp38-cp38-win_amd64.whl" "torchvision-0.18.1+cu121-cp38-cp38-win_amd64.whl" -i https://pypi.tuna.tsinghua.edu.cn/simple
7. 安装ultralytics(Yolov8)
1.通过pip安装
pip install ultralytics
2.安装完成输入yolo看下是否安装成功
yolo -v
# 出现如下内容
# 8.2.56
3.去yolo github官网下载源代码,官网地址:https://github.com/ultralytics/ultralytics
解压后,在conda环境中进入这个源代码的根目录
8. 测试安装情况
8.1 预测测试
1.首先测试算法预测,用自带的yolov8n模型,device等于表示使用GPU-0进行预测,如果是用CPU则把device=cpu
# GPU预测
yolo predict model=yolov8n.pt source='ultralytics/assets/bus.jpg' device=0
# CPU预测
yolo predict model=yolov8n.pt source='ultralytics/assets/bus.jpg' device=cpu
命令执行情况:可以看到使用运算硬件、模型参数、速度、预测结果位置等信息。
Downloading https://github.com/ultralytics/assets/releases/download/v8.2.0/yolov8n.pt to 'yolov8n.pt'...
100%|██████████████████████████████████████████████████████████████████████████████| 6.25M/6.25M [00:08<00:00, 784kB/s]
Ultralytics YOLOv8.2.56 🚀 Python-3.8.19 torch-2.3.1+cu121 CUDA:0 (NVIDIA GeForce RTX 3090, 24576MiB)
YOLOv8n summary (fused): 168 layers, 3,151,904 parameters, 0 gradients, 8.7 GFLOPs
image 1/1 D:\Code\AI\ultralytics-main-work\ultralytics-main\ultralytics\assets\bus.jpg: 640x480 4 persons, 1 bus, 1 stop sign, 70.0ms
Speed: 10.0ms preprocess, 70.0ms inference, 325.5ms postprocess per image at shape (1, 3, 640, 480)
Results saved to runs\detect\predict
💡 Learn more at https://docs.ultralytics.com/modes/predict
打开文件夹 ./ultralytics-main/runs/detect/predict
就可以看到预测文件
8.2 训练测试
1.训练测试数据集先使用coco128样本。下载链接
https://github.com/ultralytics/assets/releases/download/v0.0.0/coco128.zip
2.存放路径
下载完成后存放在根目录下的 datasets
文件夹中
./ultralytics-main/datasets
3.训练命令,选择yolov8n模型,利用coco128数据进行训练,如果没有事先下载这个数据集,会通过coco128.yaml配置文件进行下载,但是会很慢。
yolo train model = yolov8n.pt data = coco128.yaml epochs = 10 imgsz = 640
命令最终执行情况:
Speed: 0.1ms preprocess, 1.7ms inference, 0.0ms loss, 1.3ms postprocess per image
Results saved to runs\detect\train
💡 Learn more at https://docs.ultralytics.com/modes/train
执行过程一些图片
打开文件夹 ./ultralytics-main/runs/detect/train
就可以看到预测文件
8.3 验证测试
1.验证测试命令
yolo val model = yolov8n.pt data = coco128.yaml
命令执行情况
Speed: 4.0ms preprocess, 9.0ms inference, 0.0ms loss, 3.6ms postprocess per image
Results saved to runs\detect\val
💡 Learn more at https://docs.ultralytics.com/modes/val
打开文件夹 ./ultralytics-main/runs/detect/val
就可以看到预测文件
至此,你的Yolov8工具已经搭建好了!!!可以专注于学习了。
欢迎各位朋友在下面跟我交流互动,有问题必回,后面我也会更新Yolo其他相关教程。