深度学习环境部署主要包含以下几个板块:
环境管理(Anaconda,miniconda…)
GPU加速(cuda,cudnn)
深度学习框架(Pytorch,tensorflow,华为的Mindspore…)
操作交互界面(Pycharm,Visual Studio Code…)
我把配置深度学习环境比作建一栋大楼,我们需要打地基,钢筋混凝土框架,个性化房间布局。。。下面来从头配置深度学习环境。
PS:在配置每一部分时,安装好都要有一步检查测试是否安装成功,这样才能及时发现问题及时更改相应部分。
python是深度学习首选编程语言,但真正想用这个语言做事情呢需要很多工作,比如代码编写,项目管理,编译器,脚本运行,各种库的下载部署,环境版本管理,最好再来点自动缩进,语法纠错,智能填词等各种方便的功能。**Anaconda就把这些繁琐的东西全给你准备好了。**所以我们得先下载Anaconda来部署我们将要配置的深度学习环境。
注:在Anaconda安装的过程中,比较容易出错的环节是环境变量的配置,所以大家在配置环境变量的时候,要细心一些。
**步骤一:**输入链接“https://www.anaconda.com/”登录Anaconda官网。
**步骤二:**选择Windows版本“64-Bit Graphical Installer(510 MB)”进行安装。(根据自己电脑的系统)
**步骤三:**双击“Anaconda3-2021.11-Windows-x86_64.一路点击next,agree
**步骤四:**设置Anaconda的安装路径,**路径名称最好为全英文,**随后点击“Next”。
步骤五:点击“Install”。这里就不选择自动将Anaconda添加到系统路径了(因为我之前安装Anaconda的时候都是手动添加路径,使用的时候没有出现过问题
**步骤六:**一路点击“Next”,直到Finish
步骤七:接下来就是手动配置环境变量了(比较关键)
由于每台电脑打开环境变量的操作可能不同,所以本文仅以本电脑打开环境变量的步骤进行讲解。打开环境变量:双击桌面“此电脑”,右键选择“属性”,随后在打开的页面点击“高级系统设置”,点击环境变量。
在**系统变量(一定要看清,是系统变量,不是用户变量)**一栏中,找到“Path”(这个Path不同电脑的书写可能不一样,所以根据自己电脑上的来,我这里是Path,但其它的电脑可能在大小写上有区别)。
双击“Path”,并点击新建。
输入以下信息(Anaconda安装路径要根据自己当时安装Anaconda的路径来):
Anaconda安装路径
Anaconda安装路径\Scripts
Anaconda安装路径\Library\bin
(上图中的内容仅是个人安装路径的配置,大家配置的时候,只需要更改“Anaconda安装路径”,改成自己的路径),输入完三条变量后,点击确定。
步骤八:检查是否安装成功
**(1)**打开cmd。
**(2)**输入“conda --version”
**(3)**输入“conda info”
(4)输入“activate”,回车,之后再输入“python”。
若显示的内容均与上图相同或类似,这说明环境变量配置成功。
至此,Anaconda的安装就完成了。
安装这一块儿的目的是为了给深度学习网络调用GPU显卡,提供并行计算能力,加快网络运算速度。下面是要安装的各部分解释。
显卡:一块焊了GPU 芯片的电路板,上面还有电容电阻以及其他辅助芯片。 因为有些复杂计算 CPU 效率太低了,所以放在 GPU 中执行运算。类比的, cpu主板也就是一块焊了 CPU 、辅助芯片、电容电阻的电路板。至于独立显卡与集成显卡的概念,自己查吧。
显卡驱动 :GPU 是硬件,操作系统怎么识别并与它传输数据呢?这就需要在操作系统上装显卡驱动了。目前 GPU 厂商国外有 inter、nvidia、amd三家巨头,国内有景嘉微、中船重工等厂商。不同厂商的 GPU 都有各自的显卡驱动,因为还要适配操作系统,所以每个型号的 GPU 都有 windows 和 linux 两套版本的显卡驱动。
CUDA:GPU 的运算能力很强大,如果只用在做简单的、特定的计算任务那就有点亏。但是直接操作 GPU 难度又有点高,英伟达就设计了一个 GPU 的通用计算框架构(框架):cuda,并且开发实现 cuda 意图的完整的工具:CUDA Toolkit。这个 CUDA Toolkit 中包含了英伟达 GPU 的驱动程序、cuda库函数、编译器等等等等。那它能做什么呢?1:调用CUDA Toolkit 里面的cuda api 就能直接操作 GPU;2:CUDA Toolkit 里面的一些工具能将 pytorch 语法编译成 GPU 可识别的指令,pytorch 底层是 C++ 实现的。英伟达设计的 cuda 的目的就是做 GPU 的通用计算平台,开发者只需要使用 cuda api 或者 cuda可翻译的语言写程序,就能实现操作 GPU,这大大降低了使用门槛。正如不是所有的奶都叫特仑苏,也不是所有的 GPU 都支持 cuda 。 cuda 是英伟达设计并实现的,所以只支持 NVIDIA GPU。
CUDNN:这是一个专门针对深度学习领域的软件库,它里面提供了一些函数能够加速卷积神经网络的运算。它也只支持 NVIDIA GPU,这么做的原因很简单,cuda+cudnn,想搞深度学习大概率只能买 NVIDIA GPU。
这一部分的安装详见此博客
深度学习框架:各种互联网大厂在 cuda + cudnn 的基础上设计的框架。二十多层的网络架构,调用 pytorch 只需要配置入口参数一行代码就搞定了,自己使用底层语言搭模型,难度大,费时间不说,关键还不一定能 work。TensorFlow、Ptorch 的只需要会 python 就行,至于搭网络,一行代码搞定。框架的出现更是降低了开发者的使用门槛,一批一批的人前赴后继地入坑。
经历了以上几步,我们终于配置好了显卡的驱动相关,接下来我们开始安装pytorch。首先需要创建一个虚拟环境(相当于建一个你自己的小房间,里面怎么安装库,模块都不会影响大环境,方便后续环境的管理),然后进入我们创建好的的pytorch环境,输入以下命令:
创建名叫pytorch的虚拟环境:
conda create -n pytorch python=3.9
进入pytorch虚拟环境:
conda activate pytorch
然后安装pytorch(关键):
1、打开pytorch官网,即https://pytorch.org/,点击“install”,然后进入版本的选择页面。
PS:注意这里cuda的版本与你自己的要对应,向下兼容,比如你是cuda11.6,你可以选11.4
2、然后将下面这条Command命令复制。
3、运行Anaconda prompt,并将刚刚这条命令粘贴到控制台上。即可安装。
4、安装过程可能因网络问题失败,可以升级清华源镜像后再安装
[参考这篇文章]:
步骤二:测试是否安装成功
即首先用conda activate pytorch
进入pytorch(这里的pytorch是你创的虚拟环境名字,可自定义)虚拟环境,然后在终端输入python进入python界面,分别输入:
import torch
torch.cuda.is_available()
在完成上面几步以后,恭喜你,就算完成90%啦。
步骤一:进入你刚刚配置好的虚拟环境
步骤二:cd到你的网络目录
以yolov5为例子,下载地址:https://github.com/ultralytics/yolov5,放在合理的位置
我这里放在了D盘的yolov5-master,ls一下看看有没有requirements.txt文件。
步骤三:安装网络需要的相关依赖库
一键安装:pip install -r requirements.txt
步骤四:验证
等待安装完成,运行范例检测是否成功。输入命令:python detect.py
如上图所示,成功运行YOLOv5网络,结果图片保存到了runs/detect/exp3里。
关于yolov5如何训练自己的数据集参考这篇文章: