当前位置:   article > 正文

001-Windows下PyTorch极简开发环境配置

001-Windows下PyTorch极简开发环境配置

本节介绍Windows系统下配置一套基于Pytorch框架的极简深度学习开发环境。

目录

0.1 缘起

0.2 准备

1.1 安装Anaconda

1.2 安装CUDA和cudnn

(1)确定CUDA版本

(2)安装CUDA

(3)安装cudnn

1.3 安装Pytorch

1.4 安装OpenCV

0.1 缘起

其实大概在2016就开始接触深度学习的相关知识,但一直到2018年左右,还停留在门外汉的状态太,原因很简单,感觉学习的门槛过高。

虽然是所学专业算是半个CS,经常使用各种软硬件平台,但遇到深度学习,却觉得困难重重。

先说一下硬件。这里提到的硬件,其实就是带大容量显存,且支持GPU运算的显卡。现在一提到GPU,放在以前玩家的第一反应是玩大型游戏需要,但估计现在大家的第一反应是用来挖矿或者跑深度网络模型采用到。在当年深度学习快速发展的那个年代(其实也没太久远,还不到10年),不用说1080Ti,TITANX了,那是有一张能带6G现存的1060显卡,都当作香饽饽。有5年以上深度学习开发经验的人都知道,这是最丐版的要求了。

再说软件平台。在windows版的TensorFlow和PyTorch推出之前,早期的深度仿真平台只有一个选择:Unbutu,版本是16.04或18.04 LSTC版。对于习惯了在Windows下简单点击几下鼠标,顶多再手动修改一下环境变量,即能分分钟搞定某个开发平台。刚开始接触Ubuntu时的感觉简直无从下手,更不用谈什么设置、程序安装、调试什么的。这还是对于我这类半个CS专业出身的人员而言。相信看到这儿,有不少人感同身受。

最后说框架。如果说硬件的苦难可以通过金钱来解决,软件平台的不习惯可以通过动手熟悉来克服,那么框架所带来的问题直接是无解的。那个年代,计算机视觉领域主流的框架是Caffee,大家可能听说过其他的名称,比如Keras、Theano等等。这些框架都是专业人员开发的,集成度很高,但对非专业人员很不友好。说明文档少、结构复杂、但功能又不够强大。以Caffee为例,它是贾大神读博期间用C语言开发的一个经典的CNN框架,当我听到它是用C语言写的时候,就早早放弃了。不是不会C语言,相反,个人真正系统学习过的编程语言就只有C。但当一定到Caffee是用C开发的时,就放弃了。C语言写的东东,既常长又难。

基于上述三点原因,虽然很早我就攒好了一台深度学习工作站,但一直让它在吃灰。期间处于好奇,让实验室精通此术的学生,花了已整整一天的时间,才完成了配置。但配好之后从来就没自己用过,想想那个陌生的Ubuntu,就想再等等。这一等就是2年。

时间到了2020年,出现了转机。在此就不得不提到本专栏的第一主角:PyTorch。其实从0.4版本开始PyTorch就开启了对Windows的支持,但奈何当时功能还不能与TensorFlow匹敌。更重要的一个原因,相对于其他同等级的框架,PyTorch退出的时间很晚(它最初其实看作是Torch的python重写版本),对经典模型支持的一般,且使用它开行算法设计和开发的工作很少。但酒香不怕巷深,是金子总会发光的。与其他框架相比,PyTorch有着诸多不可替代的优势。随着时间的推移,版本更新越高,功能越来越强大,使用的人越来越多。终于,在2020年发布了2.0版,功能以及易用性大大提高。也就是在那个时间点之前半年,开始接触并使用Python进行CV经典算法的设计与研发。手头上也有一块全新的2080Ti(目前现在写这个专栏正在用主机上配的)。心里仔细盘算,硬件有了,软件系统也换成Windows了,框架也有PyTorch2.0了,还缺啥?没有任何不干的理由了,Go!

0.2 准备

在配置之前,需要做好以下准备。下面列出的方案只是我使用的,大家根据自己的事情情况调整即可。

硬件:

  • CPU:最好是8代以上的i5或i7。
  • 内存:32G起,有条件的上64G,再大意义不大。
  • 主板:大厂的大版,供电好、扩展性好,比如华硕、微星等。
  • GPU:这是主角,建议1080起,能用4090当然更好。如果能用A100,土豪,请受我一拜。
  • 硬盘:其实很多人忽略了硬盘的重要性,系统盘尽量使用512G以上的M2 SSD,速度快;数据盘可考虑使用HDD,容量4T起(很便宜,但要注意选CMR的),用于大量的数据读写操作。
  • 电源:这是另外一个容易被忽略的配件,其功率一定足够大。可以跟一个参考选项,即你所使用GPU最大功耗+500W,就是建议选用的主机电源功率值。比如,我使用的2080Ti最大功率约250W,则可考虑标称值为750W及以上的电源,最好选大品牌的。

注:为什么选用性能更差的HDD作为数据存储盘?这是因为在训练过程中可能会产生大量的数据读写操作,如果直接在SSD上进行写操作,会影响到SSD的寿命(SSD是有读写上限),但HDD不存在这个问题。开始我也没注意到此事,后来实验室新购的一批机器,在半年内SSD(还是三星的)纷纷出现问题,送到售后检测,被告之到了读写上限,才意识到该问题的严重性。特地在此注明,希望引起大家的重视。

软件

  • Windows10 :建议安装2021年十月份发布的LSTC版(64位),稳定,简约,既能得到长期的更新(据说是六年,到),又不会安装一些用不到的功能。Why not?
  • Anaconda:用过的都知道,Python的最佳基友,方便强大还免费,还有赠品。Why not?
  • 其他:一些必要的Python扩展库,如OpenCV、Pytorch;CUDA相关的套件。

然后呢?然后就没有了,你没看错,既然是极简配置,在不影响基本开发功能的前提下,能不用其他软件就不用。有人说,总要有个代码编辑器吧。有的,我们用Anaconda赠送的,无论是Jupyter Lab/Notebook,还是Spyder,都能完成基本功能。当然,如果您需要搭建更复杂的工程,那么安装一个PyCharm或者VS code还是值得的。

1.1 安装Anaconda

其实Anaconda并不是必须的,但估计99%的开发者都用它,为什么不用呢?

有关Anaconda安装的流程和注意事项,网上有的是资料可查,不再赘述。在此强调两个问题。

一是确认Anaconda中Python的版本,因为扩展库的更新通常赶不上Python的版本迭代,在安装扩展库时需要选择对应的Python版本,总的宗旨是,在能用的前提下,版本越高越好。

如何查Python版本?再简单不过了,打开Anaconda Prompt,键入python,系统即自动显示版本号。

二是完成安装之后,一定记得修改环境变量,将以下四条路径添加到Path路径下:

  • 安装路径\anaconda3
  • 安装路径\anaconda3\Scripts\
  • 安装路径\anaconda3\Library\bin
  • 安装路径\anaconda3\Library\mingw-w64\bin

记得设置完重启或者注销,方可使用。

1.2 安装CUDA和cudnn

呼出命令窗口,打开Windows控制台命令窗口,输入nvidia-smi,如果提示无法运行,则说明当前系统还未安装GPU驱动,这样最省事了。如果之前安装了GPU驱动,则可能涉及到版本的冲突,这种情况后面再单独说明。

首先说明,安装CUDA时,会自动安装GPU驱动的。那么问题来了,选用什么版本的CUDA呢?这个主要取决于两个因素。一是GPU本身,不同的GPU能够适应的CUDA各不相同。一般来说,GPU越新,支持的CUDA版本越高。但安装最新版本的CUDA并不一定合适。这就引出了第二个因素,即我们选用的深度学习框架所能支持的CUDA版本。以Pytorch为例,可以在其官网上查询到不同版本Pytorch版本所支持的CUDA版本。

(1)确定CUDA版本

进入Pytorch官网,选择最新的版本,查询其对应的CUDA版本。以下图为例:

可见,该版本(2.2.1)的Pytorch支持11.8和12.1版本的CUDA。在此选择12.1版本的CUDA。

进入官网CUDA下载,选择并合适版本的CUDA,其宗旨是:版本号小于等于上述最高版本的即可。比如,我们就选择12.1.0版的CUDA,点击进去,依次做出选择。然后下载相关的本地exe文件。另外,建议从官网下载安装文件,不要用某某云盘的。

(2)安装CUDA

在开始安装之前,再次说明,如果之前安装过显卡驱动,无论版本如何,都先卸载,这样最省事。

点击之前下载的本机exe安装文件,开始安装。其实过程很简单,只需要注意一处就行。

首先,选择“自定义”。

然后取消下面安装图中的“Visual Studio Integration”一项,不要问我为什么,我也不清楚,但如果选上它,则在安装过程中会报错,无法正常安装。

剩下就没什么了,其他都默认安装即可。在安装过程中,会有黑屏,这是在安装GPU驱动。另外,还需要说明的是,尽量采用默认安装路径,即便想改变,也尽量安装在C盘上。

安装完成后,还需要查询一下是否修改了环境变量,如下所示。如果没有自动添加,还需要手动添加,大家可自行查询如何操作。

然后,呼出命令窗口,键入命令:nvcc -V,如果有信息输入,则说明安装成功。

OK,到此为止CUDA安装完毕。

(3)安装cudnn

与CUDA相比,cudnn的安装要容易的多,点击cudnn官网链接,然后根据个人主机的配置,下载对应的安装文件,如下图所示:

接下来,点击安装即可。不需要注意任何地方,简单至极。

1.3 安装Pytorch

安装Pytorch的方法也不难,在此推荐pip安装,但不推荐在线安装,因为安装文件较大。

先点击官网提供的pytorch下载链接,直接下载whl文件,并将其存放在指定的路径下:anacongda安装路径/Lib/site-packages/,该路径用于存放第三方库。

然后,在Anaconda的命令窗口中,将当前路径调整到前面提到的路径下,键入以下命令:

pip3 install torch torchvision torchaudio torch-2.2.1+cu121-cp311-cp311-win_amd64.whl

如上图所示的安装结果。如何验证是否成功安装了pytorch呢?打开Anaconda自带的命令行窗口,启动python,然后键入以下命令:

import torch

print(torch.cuda.is_available())

如下图提示,返回值为True,则说明安装成功。

1.4 安装OpenCV

OpenCV对于Pytorch不是必须的,但个别函数调用了OpenCV的内部函数,并且也可以使用OpenCV函数完成一些基本的图像处理操作,因此,强烈建议各位安装该扩展库。

安装OpenCV的流程与Pytorch类似。仍然推荐先根据Anaconda自带的Python版本,搜索并下载合适版本的Opencv安装文件。

建议各位直接去Opencv-python官网下载相关文件,强烈不建议去第三方网站下载,否则很可能出现版本不匹配的情况,而导致无法正常运行。另外,OpenCV的Python版本更新速度低于Python的版本更新,因此只要保证OpenCV-Python支持的python版本不高于本机的Python版本,即可使用。

将下载的whl文件存放到特定的路径下,然后在命令行窗口中用以下pip语句进行安装(对应Python3.7版)。

pip3 install opencv_python-4.9.0.80-cp37-abi3-win_amd64.whl

在此需要注意一点,个别涉及到专利权的OpenCV函数并没有被打包在OpenCV安装包中,而是被打包在opencv-contrib-python扩展包中,各位可根据需要,自行决定是否安装。

安装完毕后,进入Python环境,然后键入:import cv2,如果不报错,即说明安装成功。如下图所示:

到此为止,我们需要的极简开发环境搭建完成,下一节用典型而简单的实例来验证该环境是否真的能work。

(本节初稿完成时间:2024-03-25)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/320445?site
推荐阅读
相关标签
  

闽ICP备14008679号