摘要:图和之间的关系图例与各版本之间的环境依赖关系的原装驱动并不支持,因此需要禁用掉并且重装卡官方驱动。会有很多同学在不知道的情况下安装了,最后导致和无法使用或者无法安装等问题。
这是博主第一次写CSDN的博客,本人还是大学生一枚,如果有忽略的点请各位大哥大姐们指正。
今年博主就是个大四萌新了,想着继续冲击一把读研,研究生想走的方向也是深度学习相关方向。因此把原本电脑上的win10换成了ubuntu,换了之后在安装Tensorflow和pytorch的路上疯狂采坑,接连重装了三次Ubuntu,一度将Ubuntu20.04降版本为18.04,而关于我在学习使用Ubuntu时的问题和解决方案我也会在后续的文章中列出。
博主在学习使用初期是在本机上搭的炼丹炉,而后来发现了一系列问题诸如:
(1)目前主流的深度学习框架如PyTorch和Tensorflow基本上是基于N卡的GPU,需要使用者安装CUDA支持,而pytorch和tensorflow的版本对cudatoolkit又有着不同的对应版本要求,不同版本的cudatoolkit可能在运行框架代码时无法找到对应的文件。cudatoolkit版本与显卡驱动版本之间,甚至针对linux kernel和gcc/g++版本之间也有互相对应(参考图1-1和图1-2)。过于繁杂的对应关系,导致在环境搭建时及其容易导致环境冲突或者环境不满足,最后无法正常运行甚至把操作系统搞坏不得不重装(我之前不熟悉Ubuntu apt的功能时为了重新安装g++删除旧版本的时候不小心把操作系统搞坏过,最后导致XServer、apt等一系列功能全部失效,不得不重装(后期博主也会发一份重装Ubuntu的教程,为防止各位和傻乎乎的我一样))。
(2)Linux的原装驱动Nouveau并不支持CUDA,因此需要禁用掉Nouveau并且重装N卡官方驱动。会有很多同学在不知道的情况下安装了cuda,最后导致pytorch和tensorflow无法使用或者CUDA无法安装等问题。而且更换显卡驱动的时候也会出一些问题,比如博主在更换为N卡官方驱动的时候,当时使用的是Ubuntu20.04,不知为何在进入bios里关掉Enable Security Boot的时候,直接就进不去了,导致无法正常安装驱动,不得已才降版本为Ubuntu18.04,20.04虽然速度快的多,但是bug同样也多,尤其是snap商店不显示应用的问题。
(3)在安装完成CUDA之后,还需要安装cuDNN这一GPU加速库,否则无法正常运行tensorflow,这些下文都会讲到
(4)之前我的朋友想让我买个AMD的显卡外接训练数据,但是A卡并不支持CUDA,虽然可以将CUDA代码转为OpenCL,但是想要适配A卡的生产环境极其麻烦,这边不考虑A卡。
本文是关于如何在win10以及Ubuntu环境下搭建Anaconda3+CUDA+cuDNN+tensorflow深度学习环境,我会分步骤分系统慢慢给同学们讲,有人会问为什么不用原生python呢,是因为anaconda它香啊,conda和pip的差别我不在这里赘述了,大家可以参考知乎上一篇文章https://www.zhihu.com/question/395145313。博主的anaconda是完全使用命令行的,因为我的Navigator第一次打不开,后来也就没再用过。后续随着学习的深入我应该会出一篇关于pycharm或vscode(我主要还是用pycharm作为IDE)+docker的tensorflow炼丹炉搭建教程。
这里是我使用的两台笔记本电脑的性能参数
HP OMEN
DELL Precision 7530
首先进入清华镜像站下载Anaconda3,我这边使用的是Anaconda3-5.3.1版本
https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
下载完成后点击exe执行文件安装,注意不要安装vscode,我尝试过根本安装不上
与pip相似,如果采用默认的channel进行下载,在国内是非常慢的,因此需要采用镜像,在配置anaconda的国内源镜像前,我这边先把pip国内镜像源和使用方法附在下面
镜像名称 | 镜像地址 |
---|---|
阿里云 | http://mirrors.aliyun.com/pypi/simple/ |
豆瓣 | http://pypi.douban.com/simple/ |
清华大学 | https://pypi.tuna.tsinghua.edu.cn/simple/ |
中国科学技术大学 | http://pypi.mirrors.ustc.edu.cn/simple/ |
华中科技大学 | http://pypi.hustunique.com/ |
pip install [module_name] -i [mirror_address]pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple/
Anaconda镜像安装(以清华源为例,win10和Ubuntu步骤相同,因此不再赘述)
conda config --set show_channel_urls yes
这个命令会在当前目录下生成配置文件.condarc
win10中用任意文本编辑器打开即可
ubuntu中使用命令
sudo gedit .condarc
将以下配置信息复制粘贴进.condarc文件保存
channels: - defaultsshow_channel_urls: truedefault_channels: - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2custom_channels: conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
如果使用conda install 任意包显示清华镜像源的信息则说明配置成功
依然是先进入清华镜像站下载Anaconda3-5.3.1
https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
这次我们下载的是
由于我们是64位的系统,因此下载x86_64的版本
随后进入到下载目录
cd 下载
输入命令运行安装文件
bash Anaconda3-5.3.1-Linux-x86_64.sh
博主由于已经安装过anaconda了,因此将安装文件换了个位置,你如果是在谷歌或者火狐浏览器上下载的话默认是放在"~/下载"这个目录里
然后就是看一堆license,copyright声明了,这些大家一定不要快速敲回车,容易进入到下一步了还在摁回车
随后是问你同不同意这个license,不同意就无法安装,因此我们输入yes
接下来是让你选择安装的路径,默认是安装在当前用户的家目录下,由于博主已经安装过了,所以博主将目录改到我挂载的其中一个硬盘上(关于Ubuntu开机自动挂载硬盘的知识我也会在后面介绍)
接下来默默等待进入下一步就行
接下来它会提示是否需要initialize Anaconda,这个其实是为你的用户添加环境变量,由于Ubuntu中没有prompt,因此我们使用shell来进行conda命令操作,因此我们输入yes(由于博主已经安装过了,不想再动环境变量,就输了no)
接下来会问你是否需要安装VSCode,这里我们选择no,似乎是因为Anaconda安装包VSCode配置的问题,我们没法成功安装上VSCode,但是后续我们可以自行安装VSCode,这个不用担心
安装完成
我们来验证一下,输入
conda -V
或者
conda --version
若显示以下信息说明安装成功
参考https://www.tensorflow.org/install/gpu?hl=zh_cn
打开Anaconda Prompt
创建虚拟环境
conda create --name tensorflow python=3.7
激活虚拟环境
activate tensorflow
使用pip指令
pip install tensorflow -i https://pypi.tuna.tsinghua.edu.cn/simple/
打开pycharm–>File–>New Project
项目存放位置自定
选择编译器Previously configured interpreter
点击路径后的省略号进入Add Python Interpreter
选择Conda Environment
点击Interpreter路径后的省略号进入Select Python Interpreter
选择你Anaconda3目录下的envs下的tensorflow目录,并选择里面的python.exe文件
一直点OK最后点击create
新建一个python文件
输入下面代码查看是否报错
import tensorflow
若无报错则说明tensorflow第三方库安装没有问题
在刚才的python文件内输入
from tensorflow.python.client import device_libprint(device_lib.list_local_devices())
如果输出结果如上图所示说明你当前只有CPU设备可用,如果有输出GPU设备的各项属性则说明你之前已经搭建过了CUDA+cuDNN的环境
接下来开始进行GPU环境搭建
以管理员身份打开cmd
输入nvidia-smi指令
若无该指令则需要手动安装一下Nvidia Driver,建议直接安装百度搜索Nvidia GeForce Experience,这个应用是英伟达官方安装N卡驱动的神器(windows专属)
查看Driver Version(驱动版本)和CUDA Version(这个参数并非你已安装的CUDA,而是你驱动可适配的CUDA Toolkit版本)
随后查看自己先前是否有安装CUDA Toolkit
如果有以上信息则无需再安装CUDA Toolkit
如果没有则可以前往https://developer.nvidia.com/cuda-toolkit-archive根据自己适配的CUDA进行安装
这里博主选择的是CUDA Toolkit 11.4.0
根据自己的电脑系统选择版本下载exe安装就可以了
安装完成后重新在控制台上输入nvcc-V查看是否安装完成
接下来开始cuDNN的安装
安装完成后再重新跑代码则可得GPU的参数
在ubuntu上创建虚拟环境、安装tensorflow第三方类库以及检验环境方法是完全一样的,下面我着重讲解一下Ubuntu18.04(CUDA 11.4)GPU支持的搭建,而且注意,不同的Ubuntu方法可能有差别,具体参考官方网站https://www.tensorflow.org/install/gpu?hl=zh_cn
还有一点要注意的,以下步骤尽量不要开梯子下,博主之前用梯子屡次下载不成功
因为之前安装过,图片就先不放了
博主曾经因为手动安装驱动出现了诸如Security Boot进入黑屏、Nouveau驱动禁用后导致电脑可视化进不去等问题,后来重装了三遍最后确定了一个比较稳定的方案。
接下来等待安装完成,安装中途可能会出现需要你输入用于secure boot的密码,reboot重启电脑,会进入Secure Boot,选择第二还是第三个选项(具体不记得了,因为bios模式下截图我还没有学),进入之后命令行输入nvidia-smi
若有以上信息则安装成功
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pinsudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pubsudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/ /"sudo apt-get updatewget http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/nvidia-machine-learning-repo-ubuntu1804_1.0.0-1_amd64.debsudo apt install ./nvidia-machine-learning-repo-ubuntu1804_1.0.0-1_amd64.debsudo apt-get updatewget https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/libnvinfer7_7.1.3-1+cuda11.0_amd64.debsudo apt install ./libnvinfer7_7.1.3-1+cuda11.0_amd64.debsudo apt-get update
sudo apt-get install --no-install-recommends cuda-11-4 libcudnn libcudnn8-dev
随后reboot重启电脑,命令行输入nvidia-smi, 以及nvcc -V进行验证
如有需要安装TensorRT加速库,我也把安装命令放在了下方
sudo apt-get install -y --no-install-recommends libnvinfer7/ libnvinfer-dev/ libnvinfer-plugin7
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/119690.html
摘要:大家都知道深度学习涉及到大量的模型算法,看着那些乱糟糟的公式符号,心中一定是。以最常用的环境为例。这里强烈推荐版本,因为深度学习动辄几小时几天几周的运行市场,加速会节省你很多时间甚至电费。常见错误找不到指定的模块。 区别于其他入门教程的手把手式,本文更强调因而非果。我之所以加上通用字样,是因为在你了解了这个开发环境之后,那些很low的错误你就不会犯了。 大家都知道深度学习涉及到大量的...
摘要:打开命令提示符输入出现下面提示说明已经安装成功安装添加的环境变量环境变量中加上的路径,例如。在命令提示符输入安装完成,建立一个全新的环境,例如我们想建立一个叫的开发环境,路径为,那么我们输入安装完成。 工欲善其事,必先利其器。首先我们需要花费一些时间来搭建开发环境。 1.安装python。python是人工智能开发首选语言。 2.安装virtualenv。virtualenv可以为一个...
阅读 3482·2021-11-18 10:02
阅读 1611·2021-10-12 10:12
阅读 2988·2021-10-09 09:53
阅读 4857·2021-09-09 09:34
阅读 844·2021-09-06 15:02
阅读 2775·2021-08-05 10:02
阅读 3132·2019-08-30 15:44
阅读 3118·2019-08-28 18:04