您的位置:首页 > 其它

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

2020-01-11 18:56 1061 查看

配置自己的深度学习平台

  • cuda 9.2 安装,成功
  • cudnn 7.3.1 安装,成功
  • 安装pytorch 1.2.0,成功
  • 失败的安装教训,cuda 9.0,cudnn 7.3.1、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

    • 点赞
    • 收藏
    • 分享
    • 文章举报
    jsk_learner 发布了25 篇原创文章 · 获赞 9 · 访问量 3136 私信 关注
    内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: 
    相关文章推荐