美文网首页
Deepin(15.7)+Cuda(9.0)+Pytorch(0

Deepin(15.7)+Cuda(9.0)+Pytorch(0

作者: 孟辜 | 来源:发表于2018-10-30 16:54 被阅读0次

    源由

    由于需要做分布式的pytorch实验,首先需要在本地上进行分布式调试后才便于将pytorch部署到天河二号中 进行实验,由于最初使用的是Win10系统,Win10不支持pytorch(0.4)的分布式,即在python环境下,查看下列代码返回的是False还是True,如果是False,则说明该系统下Pytorch无法实现分布式。

    import torch
    torch._C._has_distributed()
    

    Deepin(15.7)双系统安装

    1.下载Deepin,一般可以从官网中获取最新版本的镜像资源,如若想获取旧版本的Deepin,可以从这个网站上获取。
    2.利用U盘作为系统安装的启动盘,可以参考使用Rufus来制作启动盘,特别方便。
    3.启动盘制作完毕后,关机,重开机,进入系统的BIOS设置界面,这时选择从U盘启动电脑,就可以顺利的进入操作系统的安装界面了,具体的安装界面引导可以参考官网介绍

    Nvidia驱动+Cuda(9.0)+Cudnn

    Pytorch是支持GPU的,并且GPU运行深度学习能够极大的提高我们的工作效率和实验运行速度。但使用GPU前,需要我们安装相应的cuda以及显卡驱动。这个过程我安装的时候踩了挺多的坑,现记录下来,仅供参考。

    Nvidia驱动

    1.根据自己电脑显卡的型号下载相对应的显卡驱动
    2.禁用系统自带的集显驱动

    sudo gedit /etc/modprobe.d/blacklist-nouveau.conf
    插入两条语句
    blacklist nouveau
    options nouveau modeset=0
    

    3.执行下列语句,并根据系统提示补装包,可以通过apt-get的方式补装。

    sudo update-initramfs -u
    

    4.执行成功后,重新开机,在进入Deepin系统的选择界面后,不要选择直接进入系统,界面上有三个选项,第一个是直接进入Deepin,第二是进入保护模式,第三忘了....。这个时候需要摁e键,进入boot parameter参数设置界面,需要更改boot启动参数,找到Linux开头的那行,在行末添加3和nomodeset,例如:

    linux XXXXXXXXXXXXXX 3 nomodeset
    

    然后根据提示保存重新boot的。
    5.修改正确后,boot会进入命令行界面,输入用户名和密码,

    关闭Xwindow服务
    sudo service lightdm stop
    进入驱动的下载目录,执行驱动安装程序即可。安装完毕后重新开启Xwindow服务后正常重启。
    sudo service lightdm restart
    sudo reboot
    

    6.终端检查驱动是否安装成功。

    nvidia-smi
    
    显卡驱动安装成功界面

    Cuda(9.0)

    1.根据自己系统的版本号下载对应的Cuda
    2.进入安装包的目录,正常运行安装,安装过程中如若提醒缺少相应的.so文件,可以通过下面的方法补装相对应的编译文件。

    sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev
    

    3.安装过程中,由于deepin系统的gcc是7代以上的,而Cuda9.0需要使用低版本的gcc和g++编译器,那么则需要我们安装gcc5.5和g++5.5来进行编译,然后再添加软连接,更改系统默认的g++和gcc版本。

    #下载安装gcc5.5和g++5.5
    sudo apt-get install gcc-5 g++-5
    #添加软连接,更改系统默认使用的gcc和g++编译器
    sudo ln -s /usr/bin/gcc-5.5 /usr/local/bin/gcc
    sudo ln -s /usr/bin/g++-5.5 /usr/local/bin/g++
    #查看系统g++和gcc版本是否已经修改成功
    gcc --version
    g++ --version
    

    4.重新安装Cuda即可,一般的问题都是出在gcc和g++版本过高以及缺少相应的.so文件导致安装失败的,目前我在安装Cuda的过程中就只遇到了这两个问题。安装完成之后,添加环境变量。

    gedit ~/.bashr,#cuda export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64/:$LD_LIBRARY_PATH
    #插入下面的语句至文件中
    export PATH=/usr/local/cuda-9.0/bin:$PATH
    #激活环境变量
    source ~/.bashrc
    

    5.验证Cuda安装成功

    cd /usr/local/cuda-9.0/samples/1_Utilities/deviceQuery
    sudo make ./deviceQuery
    #显示Pass即表示安装成功
    

    Cudnn

    1.根据自己的Cuda版本下载对应的Cudnn,我下载的是CuDnn7.1.4。
    2.解压安装包并安装。

    #进入安装包目录
    cd Downloads
    tar -zxvf cudnn-9.0-osx-x64-v7.tgz
    #返回cuda文件夹的上一级
    sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
    sudo cp cuda/lib/libcudnn* /usr/local/cuda/lib64
    #激活权限
    sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
    #同样的添加环境变量
    sudo vim ~/.bashrc
    #cudnn 
    export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"
    export CUDA_HOME=/usr/local/cuda
    source ~/.bashrc
    

    3.验证CuDNN安装成功。

    nvvc -V
    
    CuDNN安装成功

    基于Anaconda3安装Pytorch0.4

    1.首先选择喜欢的版本下载Anaconda3,我使用的是Anaconda3-4.3.1-Linux-x86_64.sh
    2.正常安装即可,安装过程中可以让系统帮忙添加路径也可以自己手动添加路径。

    sudo vim ~/.bashrc
    export PATH="/home/user_name/anaconda3/bin:$PATH"
    source ~./bashrc
    #查看conda是否已安装成功
    conda list
    #可以给anaconda3加一个清华源
    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
    conda config --set show_channel_urls yes
    #查看.condarc文件
    sudo vim .condarc
    #删除-defaults
    

    3.创建一个虚环境,在虚环境下安装pytorch

    #先查看基环境的名字,有的是叫root,有的是叫base
    conda info --envs
    #创建虚环境,并且克隆基础环境的所有已安装的包
    conda create -n pytorch --clone root(base)
    #创建成功后激活虚环境
    source activate pytorch
    #退出虚环境
    source deactivate pytorch
    

    4.在虚环境下安装pytorch,详细教程可以参考pytorch官网,但是按照conda的方法来安装,因为被墙的缘故,所以安装下载pytorch很慢,torchvision速度正常。建议翻墙后直接使用迅雷或者浏览器的下载器,下载相对应的pytorch安装包,例如pytorch_9.0_gpu
    5.验证安装成功。

    import torch
    a = torch.Tensor(2,4)
    print (a.cuda())
    

    如果正常显示,说明pytorch可以正常使用,并且cuda也是正常的。

    结语

    哈哈哈,第一次写博客,有些不详细的地方还请大家谅解,其实初衷还是因为自己在安装的过程当中踩了好多坑,而且网上其他的博客有些写得跳跃性太强了一点,自己边看边摸索,虽说Linux技能有增长,但还是耽误了一点点时间的,希望这篇博文可以帮你们快速解决环境配置的问题,立马上手pytorch。后面我还会记录自己做分布式pytorch(单机单卡,单机多卡,多机多卡)这些的攻略,尽请期待啦~

    引用

    上述内容都是从前人的博客啊,官网的内容啊总结而来的,所以也是大家的功劳。

    https://blog.csdn.net/pursuit_zhangyu/article/details/79362128
    https://blog.csdn.net/cvrszeng/article/details/78314859
    https://blog.csdn.net/flyyufenfei/article/details/79187656
    https://www.deepin.org/installation/
    https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html

    相关文章

      网友评论

          本文标题:Deepin(15.7)+Cuda(9.0)+Pytorch(0

          本文链接:https://www.haomeiwen.com/subject/chmwtqtx.html