从零配置深度学习环境(windows)

概述

深度学习环境部署主要包含以下几个板块:

  • 环境管理(Anaconda,miniconda…)

  • GPU加速(cuda,cudnn)

  • 深度学习框架(Pytorch,tensorflow,华为的Mindspore…)

  • 操作交互界面(Pycharm,Visual Studio Code…)

我把配置深度学习环境比作建一栋大楼,我们需要打地基,钢筋混凝土框架,个性化房间布局。。。下面来从头配置深度学习环境。

PS:在配置每一部分时,安装好都要有一步检查测试是否安装成功,这样才能及时发现问题及时更改相应部分。

Anaconda的安装

python是深度学习首选编程语言,但真正想用这个语言做事情呢需要很多工作,比如代码编写,项目管理,编译器,脚本运行,各种库的下载部署,环境版本管理,最好再来点自动缩进,语法纠错,智能填词等各种方便的功能。**Anaconda就把这些繁琐的东西全给你准备好了。**所以我们得先下载Anaconda来部署我们将要配置的深度学习环境。

下载Anaconda

注:在Anaconda安装的过程中,比较容易出错的环节是环境变量的配置,所以大家在配置环境变量的时候,要细心一些。

**步骤一:**输入链接“https://www.anaconda.com/”登录Anaconda官网。

从零配置深度学习环境(windows)_第1张图片

**步骤二:**选择Windows版本“64-Bit Graphical Installer(510 MB)”进行安装。(根据自己电脑的系统)

从零配置深度学习环境(windows)_第2张图片

**步骤三:**双击“Anaconda3-2021.11-Windows-x86_64.一路点击next,agree

**步骤四:**设置Anaconda的安装路径,**路径名称最好为全英文,**随后点击“Next”。

从零配置深度学习环境(windows)_第3张图片

步骤五:点击“Install”。这里就不选择自动将Anaconda添加到系统路径了(因为我之前安装Anaconda的时候都是手动添加路径,使用的时候没有出现过问题

从零配置深度学习环境(windows)_第4张图片

**步骤六:**一路点击“Next”,直到Finish

从零配置深度学习环境(windows)_第5张图片

步骤七:接下来就是手动配置环境变量了(比较关键)

由于每台电脑打开环境变量的操作可能不同,所以本文仅以本电脑打开环境变量的步骤进行讲解。打开环境变量:双击桌面“此电脑”,右键选择“属性”,随后在打开的页面点击“高级系统设置”,点击环境变量。

从零配置深度学习环境(windows)_第6张图片

在**系统变量(一定要看清,是系统变量,不是用户变量)**一栏中,找到“Path”(这个Path不同电脑的书写可能不一样,所以根据自己电脑上的来,我这里是Path,但其它的电脑可能在大小写上有区别)。

从零配置深度学习环境(windows)_第7张图片

双击“Path”,并点击新建。

从零配置深度学习环境(windows)_第8张图片

输入以下信息(Anaconda安装路径要根据自己当时安装Anaconda的路径来):

Anaconda安装路径

Anaconda安装路径\Scripts

Anaconda安装路径\Library\bin

从零配置深度学习环境(windows)_第9张图片

(上图中的内容仅是个人安装路径的配置,大家配置的时候,只需要更改“Anaconda安装路径”,改成自己的路径),输入完三条变量后,点击确定。

步骤八:检查是否安装成功

**(1)**打开cmd。

**(2)**输入“conda --version”

在这里插入图片描述

**(3)**输入“conda info”

从零配置深度学习环境(windows)_第10张图片

(4)输入“activate”,回车,之后再输入“python”。

从零配置深度学习环境(windows)_第11张图片

若显示的内容均与上图相同或类似,这说明环境变量配置成功。

至此,Anaconda的安装就完成了。

cuda,cudnn安装

安装这一块儿的目的是为了给深度学习网络调用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。

这一部分的安装详见此博客

安装Pytorch

深度学习框架:各种互联网大厂在 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”,然后进入版本的选择页面。

从零配置深度学习环境(windows)_第12张图片

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()

从零配置深度学习环境(windows)_第13张图片

深度学习网络配置(以yolov5为例)

在完成上面几步以后,恭喜你,就算完成90%啦。

步骤一:进入你刚刚配置好的虚拟环境

在这里插入图片描述

步骤二:cd到你的网络目录

以yolov5为例子,下载地址:https://github.com/ultralytics/yolov5,放在合理的位置

我这里放在了D盘的yolov5-master,ls一下看看有没有requirements.txt文件。

从零配置深度学习环境(windows)_第14张图片

步骤三:安装网络需要的相关依赖库

一键安装:pip install -r requirements.txt

步骤四:验证

等待安装完成,运行范例检测是否成功。输入命令:python detect.py

从零配置深度学习环境(windows)_第15张图片

如上图所示,成功运行YOLOv5网络,结果图片保存到了runs/detect/exp3里。

Congratulations!!!至此,基于pytorch框架的yolov5环境配置成功!下一步就是如何准备你自己的带标签数据集,训练网络,评估训练结果,个性化修改网络等等。

关于yolov5如何训练自己的数据集参考这篇文章:

你可能感兴趣的:(深度学习,windows,python)