配置自己的深度学习平台,Ubuntu 16.04和GTX1060软硬件环境下安装Nvidia驱动、cuda 9.2、cudnn 7.3、Pytorch 1.2.0、Anaconda3、Pycharm


在从事深度学习研究的前期,很多人因为成本以及不确定因素等问题,一般不会购买特别好的显卡,而NVIDIA GTX1060 6G却是很大一部分人所选择的一类显卡,其价格不是很高,大概在1400元左右,而且其6G的显存恰好是一些深度学习的入门显存大小,可以用来训练一些数据量不是很大的网络模型

笔者也是在实验室阶段,老师给配备了1060显卡的台式机,之前一直在实验室的服务器进行网络模型的训练,近期因为某些原因,想在自己的机器上配置一下Pytorch框架的深度学习平台,在前人这么多的经验面前,笔者仍然踩了很多坑,所以留下这篇文章,以期望能给后来者提供一些经验或者节约一些时间,毕竟把时间都浪费在配环境这样的工作上实在是不太划算。


本篇文章会有三条线:

  • 一条是NVIDIA Driver=396.37、cuda=9.2、cudnn=7.3.1、Pytorch=1.2.0安装,成功;

  • 一条是NVIDIA Driver=384.13、cuda=9.0、cudnn=7.3.1、Pytorch=1.2.0安装,当然这条线失败,接下来我会说明原因;

  • 最后一条就是Anaconda3、以及Pycharm的安装以及一些Anaconda和Pycharm的简单使用和命令操作。


划重点,成功的安装方法,cuda 9.2,cudnn 7.3.1、pytorch 1.2.0

安装cuda 9.2、cudnn 7.3.1、pytorch 1.2.0是成功的,下面将详细介绍成功的步骤细节。

Nvidia Driver 396.37 安装,成功

这次我准备按照网上说的,不预先安装396.37版本驱动,**直接在安装cuda的时候安装驱动,结果失败。**估计是因为pre-install script failed的问题导致的。

396.37驱动下载连接

  • 具体步骤:
禁用nouveau驱动

安装之前,需要禁用nouveau驱动:

sudo gedit /etc/modprobe.d/blacklist.conf

在文末最后添加:

blacklist nouveau
options nouveau modeset=0

然后执行:

sudo update-initramfs -u

重启后,执行:

lsmod | grep nouveau

如果没有任何屏幕输出,就说明禁用成功。


关闭 X server

期间我在安装的时候出现一个问题:

you appear to be running an X server

原因是没有关闭 X server,所以需要进入到命令行模式将X server关闭。
按下Ctrl+Alt+F1,进入命令行模式,会让你输入用户名和密码。
然后执行

sudo service lightdm stop

装好Nvidia Driver之后,可以使用:

sudo service lightdm restart

重新进入到图形界面


执行安装文件

关掉X server,接下来使用cd命令进入到xxx.run所在的文件夹下。

可以用

chmod a+x ./xxx.run

更改文件的可执行权限
然后

sudo ./xxx.run

即可

安装之后,执行

nvidia-smi

观察到类似如下界面,即表示Nvidia驱动安装成功。
在这里插入图片描述


pre-install script failed 问题,未解决,但不影响

在安装过程中,除了上述关于X server问题外,我还遇到一个问题:

The distribution-provided pre-install script failed......

刚开始,我以为是很大的问题,因为我已经执行完禁用nouveau驱动以及关闭X server ,又查各种博客说要主板关闭secure boot,然后华硕要关掉fast boot,我的刚好是华硕主板,不过执行完这些操作后,pre-install script failed问题依然存在,索性我就佛系不管了,继续continue安装,一路选了yes,然后执行nvidia-smi,发现有驱动详细信息输出,此刻我感觉应该已经成功安装了驱动,但是在cuda以及pytorch等都没装好的情况,我心里依然忐忑。


cuda 9.2 安装,成功

执行安装文件

cuda 9.2 下载链接
在这里插入图片描述
下载完成后,
执行,更改文件的可执行权限

sudo chmod a+x ./xxx.run

再执行

sudo ./xxx.run

会有一个许可说明书,可以直接一直按enter使进度到100%,也可以直接按Q键继续下面的安装过程,如下图。

  1. 第一个选accept;
  2. 第二个是问你是否安装Nvidia Driver,因为我已经安装了,所以我输入n;
  3. 安装cuda 9.2 toolkit,输入y;
  4. 建立链接,输入y;
  5. 安装cuda 9.2样例,输入y;
  6. 其他直接回车即可;

在这里插入图片描述
网上有些说还要关闭图形界面,就是按Ctrl+Alt+F1进入命令行模式,输入以下命令:

sudo service lightdm stop

但是我没有关闭,直接在图形界面中安装的,但结果显示也是成功安装的。但是还没完,需要添加环境变量。
在这里插入图片描述


添加环境变量
sudo gedit ~/.bashrc

打开后,在文档末尾添加如下命令

export CUDA_HOME=/usr/local/cuda-9.2
export LD_LIBRARY_PATH=${CUDA_HOME}/lib64
export PATH=${CUDA_HOME}/bin:${PATH}S

此时在终端输入

nvcc --version

或者

nvcc -V

屏幕会输出如下信息:
在这里插入图片描述
这时,表示cuda已经安装成功


cudnn 7.3.1 安装,成功

cudnn历史版本下载链接
在这里插入图片描述


拷贝头文件和动态库到cuda文件夹

不过其实cudnn的安装其实也叫不上什么安装,就是将cudnn下的头文件和动态库拷贝到cuda相应的文件夹下
注意,cudnn的下载需要nvidia的帐号!

下载下来的cudnn文件有可能是solitairetheme8后缀的,没见过的同学不要疑惑,直接在ubuntu下依次执行如下命令即可:

cp cudnn-9.2-linux-x64-v7.3.1.20.solitairetheme8 cudnn-9.2-linux-x64-v7.3.1.20.tgz
tar -xvf cudnn-9.2-linux-x64-v7.3.1.20.tgz
sudo cp cuda/lib64/* /usr/local/cuda-9.0/lib64/
sudo cp cuda/include/* /usr/local/cuda-9.0/include/
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

如果这些问题没什么问题的话,屏幕中会看到如下信息:
在这里插入图片描述


检测cuda、cudnn是否最终安装成功

但是到这一步,并不意味着你已经安装成功,真正的安装cuda、cudnn成功,你还需要进行如下验证:

cd /usr/local/cuda-9.2/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery

成功的话 你会看到如下信息:
Result = PASS
如果失败,比如因为驱动和cuda不兼容问题,就会出现:
Result = FAIL
在这里插入图片描述

安装pytorch 1.2.0,成功

利用anaconda创建虚拟环境

我先在anaconda下创建了一个python3.5的新环境:

conda create -n python35 python=3.5

激活该环境:

conda activate python35
安装pytorch 1.2.0

pytorch官网链接
在这里插入图片描述
在该环境下直接执行官方命令(不知道为什么,用pip3的话就不知道把第三方库装到哪里了,所以用pip):

pip install torch==1.2.0+cu92 torchvision==0.4.0+cu92 -f https://download.pytorch.org/whl/torch_stable.html

等就好了
成功安装成功后:

Successfully installed numpy-1.17.2 torch-1.2.0 torchvision-0.4.0

检测pytorch是否可以使用cuda:
在这里插入图片描述
True
表示安装成功,真是太费劲了。

失败的安装教训,cuda 9.0,cudnn 7.3.1、pytorch 1.2.0


本次安装过程中,Nvidia Driver 384.13、cuda 9.0以及cudnn 7.3.1的安装都是成功的,但是因为pytorch的原因导致我只能卸载了cuda9.0,重装了cuda9.2,但是这一部分除了pytorch安装都是ok的。


安装NVIDIA驱动应该是比较简单的工作,,但是由于NVIDIA驱动和显卡的版本具有一定的兼容关系,所以官网里通过筛选得到的NVIDIA驱动推荐可能会不太靠谱。其推荐的都是4开头版本的驱动…
在这里插入图片描述
而查看ubuntu系统里的软件与更新部分,会发现其推荐的是384.13版本的驱动。
在这里插入图片描述
所以在第一次安装418.88版本的驱动失败之后,我选择直接安装384.13版本的驱动。


Nvidia Driver 384.13 安装,成功

Nvidia Driver 384.13下载链接

具体安装过程,参考第一部分——成功的部分驱动396.37版本的安装,区别不大。

不过虽然ubuntu 16.04系统推荐的是384.13版本的驱动程序,但是Nvidia的官方文档显示要安装cuda=9.0,需要驱动**>=384.81**,不过在我装完cuda 9.0和cudnn之后,发现同属于384版本的驱动之间好像并不会造成cuda安装失败。

造成本步骤真正失败的原因,是因为pytorch安装的原因,不过如果不考虑pytorch的话,单纯论Nvidia Driver、cuda以及cudnn的安装,这个过程还是成功的。


cuda 9.0 安装过程,成功

安装好了384.13版本的Nvidia Driver之后,我们就可以直接安装cuda 9.0

有些教程里说,cuda里其实是集成了Nvidia驱动程序的,确实是,但是如果你已经安装了Nvidia驱动,在安装cuda的时候,一定要在系统询问你是否安装驱动的时候选择no,否则ubuntu会陷入重复登录的情况,就是让你不断的输入密码,然后又不断的重复登录界面,如果你一旦不幸遇到这种情况,按Ctrl+Alt+F1进入命令行模式,将cuda卸载掉即可。
在这里插入图片描述
整个过程差别不大,就是添加环境变量时将9.2改为9.0即可

成功截图:
在这里插入图片描述
如果遇到解决不了的问题,可以通过卸载驱动和cuda之后重新安装即可。

  • 附上卸载cuda命令
sudo /usr/local/cuda-9.0/bin/uninstall_cuda_9.0.pl
sudo rm -rf /usr/local/cuda-9.0
  • 附上nvidia驱动卸载命令:
sudo apt-get remove nvidia* -y

cudnn 7.3.1安装,成功

和前面基本一致,不作赘述。

成功安装cuda和cudnn后的截图一部分。
在这里插入图片描述

安装Pytorch 1.2.0,失败

anaconda3安装之后,
使用

conda create -n your_env_name python=3.x

创建新的python虚拟环境

如果想删除虚拟环境:

conda remove -n your_env_name --all

但是

pip install pytorch torchvision
conda install pytorch torchvision
pip3 install pytorch torchvisions

均有问题,即没有current platform的版本avaliable,然后去pytorch官网,发现现在更是没有cuda9.0的官方,即便是将9.2直接改成9.0,也是白搭,直接报错。
去ailiyun镜像下载,也是不行。

所以我只好先按照官方命令装了cuda9.2的pytorch,装的很成功,但是

print(torch.cuda.is_avaliable())
False

凉凉…

所以悲催的我只能重装cuda,下载好cuda 9.2之后,装得很成功,但是在装好cudnn之后,执行

cd /usr/local/cuda-9.0/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery

输出

cudaGetDeviceProperties returned 35
CUDA driver version is insufficient for CUDA runtime version
fail

我就知道,绝对是有问题啊,思考了一下,看了下cuda和驱动适配关系的官方文档,发现原来的384.13驱动程序版本太低,所以会出现驱动和cuda不兼容问题,因此,我只好卸载cuda,卸载驱动。

宣告失败。

Anaconda3安装

我下的就是base= python 3.7那个,下载后,就直接

sudo sh ./Anaconda3-2019.07-Linux-x86_64.sh

Pycharm安装

本来下的是专业版的professional,谁知道激活码命令网址作者因为某些原因不再维护了,学生申请的话,好像有点麻烦,省事所以只好装了社区版。
安装后pycharm后每次都得去文件夹下找到sh文件,打开比较麻烦,所以可以做个在启动器那里做个快捷方式。

启动器里添加快捷方式

添加pycharm快捷方式:

sudo gedit  /usr/share/applications/pycharm.desktop

打开后,添加如下

[Desktop Entry]
Type=Application
Name=Pycharm
GenericName=Pycharm3
Comment=Pycharm3:The Python IDE
Icon=/home/xxx/pycharm-community-2019.2.3/bin/pycharm.png
Exec=/home/xxx/pycharm-community-2019.2.3/bin/pycharm.sh
Terminal=pycharm

即可


希望能帮到大家,谢谢。
2019.9.30

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值