yolov5环境搭建
YOLOv5模型: 环境部署
一、🏴总概述 教程原文链接
- ✨GPU/CPU环境详解及安装
- ✨GPU/CPU环境详解及安装
- 🌟Labelimg数据标注及数据转化
二、✨GPU/CPU环境详解及安装
什么是CPU?什么GPU?
- CPU主要用于串行运算;而GPU则是大规模并行运算。由于深度学习中样本量巨大,参数量也很大,所以GPU的作用就是加速网络运算
- CPU计算神经网络也是可以的,算出来的神经网络放到实际应用中效果也很好,只不过速度会很慢罢了。而目前GPU运算主要集中在矩阵乘法和卷积上,其他的逻辑运算速度并没有CPU快
我该选择使用GPU还是CPU?
- GPU和CPU的选择一方面看自己的需求,另一方面取决于自己的PC性能(如果你拥有一块RTX3060,而你刚好对深度学习感兴趣,那你有什么利用不利用起来它呢)。
怎么安装GPU环境
安装GPU环境需要我们首先安装CUDA和CUDNN
- CUDA: ComputeUnified Device Architecture),是显卡厂商NVIDIA推出的运算平台。 CUDA是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。
- CUDNN:NVIDIA cuDNN是用于深度神经网络的GPU加速库。它强调性能、易用性和低内存开销。
查看本机显卡
- 首先我们要确定本机是否有独立显卡,在
计算机管理-设备管理器-显示适配器
中,查看是否有独立显卡 - 如下图所示:可以看到本机有一个集成显卡和独立显卡
NVIDIA GetForce GTX 1050
。
- 首先我们要确定本机是否有独立显卡,在
查询是否支持CUDA安装
- 进入:https://developer.nvidia.com/cuda-gpus :从下图中,从上图中,可以看到我本机的独立显卡是支持
CUDA
安装的,计算力是6.1
。
- 进入:https://developer.nvidia.com/cuda-gpus :从下图中,从上图中,可以看到我本机的独立显卡是支持
CUDA下载
- 进入https://developer.nvidia.com/cuda-toolkit-archive :在这里会有众多CUDA版本,关于如何选择,我不能给出详细说法,只能说说我的理解。(
CUDA的安装主要取决于个人使用要求和硬件性能,如你是RTX3060及以上的30系显卡我推荐你安装CUDA11.x,如果你像我一样是RTX1050这样不太高端显卡,选择CUDA9.x和CUDA10.x均可以,以我的习惯就是下载CUDA10.2
)- 从上到下*依次单击选择:
Operating System
、Architecture
、Version
、Installer Type
、“Download`。等待下载,下载完成后你就会获得安装包。
- 从上到下*依次单击选择:
- 进入https://developer.nvidia.com/cuda-toolkit-archive :在这里会有众多CUDA版本,关于如何选择,我不能给出详细说法,只能说说我的理解。(
CUDA安装
双击打开,显示解压安装目录,不需要改变,默认即可。
默认安装,保证后续过程不会出现太多其他不必要的问题!
接下来,进入
NVIDIA
安装过程,在这安装过程中,我一开始直接选择的精简安装,如果由于VS的原因,导致无法正常安装,可以换成自定义的安装方式,并将VS勾给去掉,便可以正常安装了,至于CUDA的安装目录,大家默认安装在C盘即可。
CUDA环境变量设置
安装完成之后,便是配置环境变量。方法为:
右键我的电脑
–属性
–高级系统设置
–环境变量
–系统变量
–找到变量名为PATH
–双击打开
,添加以下环境变量。新增变量
1
2
3
4C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\lib\x64
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\lib
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\libnvvp测试安装, 有以下输出即为安装正确!
1
2
3
4
5$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Wed_Oct_23_19:32:27_Pacific_Daylight_Time_2019
Cuda compilation tools, release 10.2, V10.2.89
CUDNN下载
进入https://developer.nvidia.com/zh-cn/cudnn ,点击
下载cuDNN
会出现这里写的很明白,就是必须你注册登录账户才有资格下载,因此你注册一个账户登录进去即可!
登录进去以后,点击选择相应的下载即可,但是要注意:CUDA的版本与CUDNN的版本要一致
- 在要下载的CUDNN的点击名称最后会有
CUDA 10.0
或者CUDA 10.2
这样的后缀,这就是代表与相应CUDA对应版本的CUDNN。
- 在要下载的CUDNN的点击名称最后会有
CUDNN安装
- 下载之后,你会得到一个zip的压缩包。解压缩,将CUDNN压缩包里面的
bin
、include
、lib
三整个文件夹直接复制到CUDA的安装目录
下,覆盖掉原来CUDA的这三个文件夹 即可。
- 下载之后,你会得到一个zip的压缩包。解压缩,将CUDNN压缩包里面的
GPU版本的Pytorch安装
🟢在线安装
有了本地的GPU环境,我们就可以安装
GPU版本的Pytorch了
。进入https://pytorch.org/ ,点击INXTALL
:根据自己的需求和安装的CUDA的版本对应安装Pytorch,复制输出的命令即可。如果下方Run this Command提醒CUDA-10.2 PyTorch builds are no longer available for Windows, please use CUDA-11.3 , 可以访问:https://pytorch.org/get-started/previous-versions/ 查找之前的版本在线安装。
🟡离线安装
📌 方法一:进入官网下载地址,torch安装包列表 | torchvision安装包列表
📌 方法二:进入官网指定的CUDA版本下载地址:https://download.pytorch.org/whl/cu113/torch_stable.html (以CUDA11.3为例)
1
2# 标*部分可以根据自己的CUDA型号进行搜索,比如CUDA 10.2对应为102,CUDA11.3对应为113
https://download.pytorch.org/whl/cu***/torch_stable.html根据自己的实验环境,包括操作系统、CUDA类型、Python版本等,选择安装的
torch
和torchvision
的安装包```python
pip install ./torch-.whl # 先安装
pip install ./torchvision-.whl # 后安装注意:这里存在安装顺序,由于torch是torchvision的上级安装包,如果先安装torchvision,则会自动下载torch安装# 包。因此先安装torch,再安装torchvision
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
5. 👉最后,给大家放一个Pytorch和torchvision对应的版本表:https://github.com/pytorch/pytorch/wiki/PyTorch-Versions
至此,所有比较麻烦的环境安装问题基本解决完成了,接下来我们就可以去找数据、标数据、训数据了。
## 三、🌟Labelimg数据标注及数据转化
1. 初识Labelimg
- 用于深度网络训练的数据集做标注的方法和工具有好多,像Labelme、labelImg、yolo_mark、Vatic、Sloth等等,此处暂时只介绍其中的一种标注工具:labelImg。👁️🗨️[中文版本的labelImg下载](https://mianbaoduo.com/o/bread/mbd-YpqZm5lx)
![img](https://aitechtogether.com/wp-content/uploads/2022/05/3f601c82-5884-485f-9096-5e4d761ef477.webp)
- [Labelimg](https://github.com/tzutalin/labelImg) 是一款开源的数据标注工具,可以标注三种格式:
1. PascalVOC标签格式,保存为xml文件
2. YOLO标签格式,保存为txt文件
3. CreateML标签格式,保存为json文件images
2. Labelimg标注
1. 我们找一个新的位置,新建两个文件夹:存放图片:`images`,存放标签:`labels`,然后打开labelimg进行标注就可以了。
```bash
.
│
├─images
├─ 1.jpg
├─ 2.jpg
├─ 3.jpg
...
└─labels
├─ 1.txt
├─ 2.txt
├─ 3.txt
# 注意如果你发现你的图片的后缀不一致,最好是修改成一样的,避免后续的麻烦!!!(可以看到我这里JPEGImages文件夹下都是.jpg结尾的)
# bach脚本(这里的意思是将.jpg修改成.jpeg)
>>> ren *.jpg *.jpeg
超级详细的标注过程看这里:YOLO数据集制作1(含LabelImg工具讲解)