0x00 前言
由清华大学的研究团队基于 Ultralytics Python 包研发的 YOLOv10,通过优化模型结构并去除非极大值抑制(NMS)环节,提出了一种创新的实时目标检测技术。这些改进不仅实现了行业领先的检测性能,还降低了对计算资源的需求。大量实验结果证明,YOLOv10 在不同规模的模型上都能提供卓越的准确率和延迟之间的平衡。
0x01 运行环境
名称 | version | |
---|---|---|
编程语言 | python | 3.8 |
操作系统 | Windows | 10 |
目标识别 | yolo | v10 |
GPU算力 | cuda | 10.1 |
基础组件库 | conda | 24.5.0 |
0x02 环境准备
1. 下载安装CUDA 套件
CUDA(ComputeUnified Device Architecture),是显卡厂商NVIDIA推出的运算平台。CUDA是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。
CUDA下载官网:https://developer.nvidia.com/cuda-toolkit-archive
到NVIDIA官网选择适合自己的CUDA套件,找到LZ需要的CUDA Toolkit 10.1,下载并安装。
2. 下载安装cuDNN
cuDNN 是用于深度神经网络的GPU加速库(Windows下是多个dll和.h文件等组成)。它强调性能、易用性和低内存开销。NVIDIA cuDNN可以集成到更高级别的机器学习框架中,如谷歌的Tensorflow、加州大学伯克利分校的流行caffe软件。简单的插入式设计可以让开发人员专注于设计和实现神经网络模型,而不是简单调整性能,同时还可以在GPU上实现高性能现代并行计算。无论是大型计算还是个人研究都是福音的存在。
下载官网:https://developer.nvidia.com/rdp/cudnn-archive
根据CUDA 10.1版本找到对应cuDNN版本,这里下载的是cuDNN v8.0.5
安装cuDNN
可以参考官方安装文档【传送门】:
https://docs.nvidia.com/deeplearning/cudnn/latest/installation/windows.html
- 解压cuDNN的压缩包,得到
bin
,include
,lib
三个目录 - 将这三个目录分别复制到cuda的安装目录中,对应关系如下:
注意:官网的这个关系并不完全对,lib\x64
应该也要复制到lib\x64
下面 - 配置Windows的环境变量
PATH
,增加这些路径
1. 创建python虚拟环境
之前因为已经准备了一套gpu算力的环境,所以复制这个python环境即可
conda create -n yolov10 --clone A
2. 确认pytorch版本,并安装
这里是有点坑,因为之前A的环境已经手动改成了适配cuda10.1的pytorch1.8.1,不过运行完居然提示我占不到gpu device。与实检查pytorch,发现是pytorch2.4.0。于是要卸载重装。
进入yolov10环境,卸载pytorch2.4.0。
(base) D:\yolov10> conda activate yolov10
(yolov10) D:\yolov10> pip uninstall torch
(yolov10) D:\yolov10> pip uninstall torchaudio
(yolov10) D:\yolov10> pip uninstall torchvision
重新安装pytorch1.8.1, 参考官方版本【传送门】
# CUDA 10.1
pip install torch==1.8.1+cu101 torchvision==0.9.1+cu101 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html
0x03 检验torch是否可用
使用如下代码即可:
import torch
flag = torch.cuda.is_available()
if flag:
print("cuda is valid")
else:
print("cuda is not valid")
ngpu = 1
device = torch.device("cuda:0" if (torch.cuda.is_available() and ngpu >0) else "cpu")
print("GPU设备为:", device)
print("显卡设备名称为:", torch.cuda.get_device_name(0))
0x04 部署源码
下载YOLOv10源码
地址:https://github.com/THU-MIG/yolov10
0x05 参考文献
https://docs.nvidia.com/
https://blog.csdn.net/2401_85556416/article/details/141431698
https://zhuanlan.zhihu.com/p/651151335
https://pytorch.org/get-started/previous-versions/