深度学习Pytorch/Caffe-GPU环境配置

双系统Ubuntu16.04LTS+Nvidia显卡驱动 + Anaconda3 (Python3.6) + Cuda8.0 + CuDNN6.0.21 +Opencv 3.4.0 + Pytorch/Caffe-GPU

目录

一、安装双系统

二、安装显卡驱动

三、安装Anaconda

四、安装Cuda8.0

五、安装CuDNN

六、Opencv 3.4.0

七、安装Pytorch

八、安装Caffe-GPU


 

深度学习环境的搭建比较复杂,重要的是掌握整体的安装思路,这样才能应对软件硬件环境不同带来的各种的问题!

一、安装双系统

建议双系统,不要用虚拟机,因为虚拟机无法访问显卡,无法安装显卡驱。

电脑硬件:HP OMEN 15-dc0011tx 暗影精灵 IV 代 144HZ i7-8750H 8G 128GSSD+1T GTX1060 6G独显;

软件:Window10家庭版64位(10.0,版本16299)+EUFI启动+GPT硬盘格式

准备工作:

  • 关闭快速启动:电源选项--选择电源按钮的功能--更改当前不可用的设置--取消选择"启用快速启动(推荐)"
  • 禁用安全启动:进入BIOS(F10 for HP), 系统设置--安全启动模式--禁用安全启动(disable)
  • 电脑分区:在SSD盘中分出55G, 机械硬盘压缩出 100G。
  • Ubuntu16.04LTS系统官网下载后用Ultraiso软件将镜像文件写入到U盘。

详细步骤可以查看 jiajinrang93的博客Window10系统下安装Ubuntu双系统教程及一些问题的解决办法(重要)以及 Ryan的博客:环境配置1-安装Ubuntu双系统


U盘启动进入Ubuntu安装界面:

  1. 安装Ubuntu系统时断网,防止在选地图处安装程序卡死;不勾选安装时更新,不勾选安装第三方软件;
  2. Ubuntu系统的界面语言选择英文,后面安装中文输入法就好。
  3. 安装类型:选择“其他选项”,自己创建调整分区。注意不要选“这台计算机已经安装了win10, 与win10共存”,否则Ubuntu引导会破坏win10引导,导致之后需要卸载Ubuntu删除引导时原来系统无法恢复。
  4. 添加Ubuntu系统分区:
  •   EFI系统分区:从之前SSD硬盘压缩出的freespace中添加出 1G  (注意EUFI启动是设置EFI system,而不是老版本grub引导的/boot)
  • swap: 8G, 主分区(因为我的电脑内存是8G的)
  • 挂载 /usr  : 软件安装位置 ;SSD硬盘28G (如果硬盘更大,可以分配30~50G), Ext4日志文件系统
  • 挂载 /      :除了home和usr的其他目录,如bin,dev,etc,lib,sys等; SSD硬盘16G   Ext4日志文件系统
  • /home :个人文件夹,存放自己的各种文件,下载的内容等,是最大的文件系统,所以使用从机械硬盘中压缩出的100G, Ext4日志文件系统
  • 关键:安装启动引导器的设备选择刚刚添加的EFI system,千万不要按照默认的覆盖掉win10的启动引导器!!!!!

参考资料: Carina_Cao的博客:双硬盘SSD+HDD+ win10装双系统Ubuntu16.04


启动时选择系统:

  • 安装好后,引导会自动通过ubuntu引导;EUFI启动的安装无需再用软件制作引导;
  • 如果要使用window, 建议F9(惠普)选择window启动,而不是在ubuntu引导界面进入win10, 否则启动window10会很慢(>1min);如果经常使用window,偶尔使用ubuntu,可以在BIOS的 系统设置--操作系统的启动管理员 中把window引导设为优先,每次开机即自动进入window系统,需要ubuntu系统是用F9选择启动系统。

后续工作:

  • 安装了Ubuntu后原来的window系统无线网卡可能不能用,需要先连网线升级ubuntu软件包,方法:
sudo apt-get update //查看可安装的软件列表

sudo apt-get upgrade //进行安装包的更新

安装后window系统下无线网卡可以正常使用。但由于电脑刚上市不久,用的无线网卡还没有出linux系统的驱动,所以只能自己买一个外置的无线网卡,插在USB口使用。

  • 为Ubuntu系统安装中文输入法: 打开 系统设置->语言支持(System->Language Support),系统自动更新语言包;将键盘输入法系统由默认的iBus改为fcitx (搜狗输入法是基于fcitx输入法系统的); 下载搜狗输入法deb包并安装,方法:
      sudo apt-get install -f

      sudo dpkg -i sogoupinyin_2.2.0.0108_amd64.deb   //包名称跟自己的版本保持一致

 

二、安装显卡驱动

到NVIDIA官网找匹配自己网卡的驱动,我的版本为 NVIDIA-Linux-x86_64-390.77.run ;

禁用安全启动Secure Boot !!! (有人安装完双系统后恢复了安全启动,这会导致显卡驱动作为第三方软件无法正常安装,Ubuntu系统输入密码登陆后又不能进入系统,又调回输入密码登录的界面)

安装思路:

  1. 禁用nouveau
  2. 删除原有的NVIDIA驱动
  3. 按Ctrl + Alt +F1到第一控制台(+F7是回到桌面)
  4. 结束X桌面服务,sudo service lightdm stop
  5. 进行安装
  6. 安装完成后,sudo service lightdm start

具体安装步骤可参考: Ryan的博客:环境配置2-Ubuntu下安装NVIDIA显卡驱动

安装完后,一定要检查是否显卡已经正确安装,以便在后面安装Cuda出现问题时确认不是显卡驱动的问题。 方法:

nvidia-smi 

 

三、安装Anaconda

版本:Anaconda3-5.2.0

官网下载anaconda的linux版本,运行安装程序。

bash Anaconda3-5.2.0-Linux-x86_64.sh

将安装路径加入到系统路径中,即将anaconda的bin目录加入PATH,方法:

$ echo 'export PATH="~/anaconda3/bin:$PATH"'>>~/.bashrc

然后更新bashrc,使其立即生效:

$ source ~/.bashrc

在terminal输入anaconda-navigator就可以启动图形界面;也可以直接输入spyder或者jupter notebook打开相应软件。

四、安装Cuda8.0

安装思路:

  1. 更新系统
  2. 安装依赖项
  3. Nvidia官网下载CUDA8.0,并运行安装。注意:安装界面会询问Install NVIDIA Accelerated Graphics Driver for Linux-86_64? 选择no !!! 因为之前已经手动安装了适合自己版本的显卡驱动。剩下的都选择默认值。
  4. 配置环境变量
     sudo gedit ~/.bashrc
    在打开的文件末尾加入
            export CUDA_HOME=/usr/local/cuda-8.0
            export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH
            export PATH=/usr/local/cuda-8.0/bin:$PATH

    刷新

     source ~/.bashrc

    如果gedit打不开~/.bashrc,可以使用

    sudo vim ~/.bashrc

    利用vim编辑文件的方法可以参见Anonymous的博客: [Linux/Ubuntu] vi/vim 使用方法讲解 。

  5. 创建链接文件
     sudo gedit /etc/ld.so.conf.d/cuda.conf

    或者

     sudo vim /etc/ld.so.conf.d/cuda.conf

    写入

    /usr/local/cuda-8.0/lib64

    更新

     sudo ldconfig

具体安装步骤可参考:Ryan的博客: 环境配置3-Ubuntu下安装CUDA8.0和cuDNN


安装完后,检查Cuda是否已经正确安装,

nvcc --version

再跑一个例子确认是否正确,

cd /usr/local/cuda/samples
sudo make clean && sudo make -j$(nproc) -Wno-deprecated-gpu-targets
cd bin/x86_64/linux/release
./deviceQuery
./bandwidthTest

若编译通过则表示已经正确安装。

可参考 爱吃鱼的猫的博客: ubuntu下安装cuda+cudnn步骤 。

五、安装CuDNN

CuDNN就是拷贝几个文件,换不同版本也只需要删除原来的文件后加入新版的文件。

解压:

$ tar -xzvf cudnn-8.0-linux-x64-v6.0.tgz

复制到路径并设置权限

$ sudo cp cuda/include/cudnn.h /usr/local/cuda/include
$ sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
$ sudo chmod a+r /usr/local/cuda/include/cudnn.h  /usr/local/cuda/lib64/libcudnn*

生成软连接(如果没有这步可能找不到某些库,具体so.**数字根据自己下载的文件确定):

cd /usr/local/cuda-8.0/lib64/
sudo rm -rf libcudnn.so libcudnn.so.6   
sudo ln -sf libcudnn.so.6.0.21 libcudnn.so.6 
sudo ln -sf libcudnn.so.6 libcudnn.so  

具体步骤可参考 NVIDIA官方文档  。


查看CuDNN信息:

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

安装完成后测试是否能正常运行。官网下载code samples, 如果下载的tgz版本直接解压;如果下载的是deb版本,被安装在了/usr/src/cudnn_samples_v6下,放到有操作权限的路径下:

$cp -r /usr/src/cudnn_samples_v6/ $HOME
$ cd  $HOME/cudnn_samples_v6/mnistCUDNN

进行编译:

$make clean && make
$ ./mnistCUDNN

若出现 Test passed! 表示安装成功。


编译CuDNN的例子可能出现如下bug:

Testing single precision
CUDNN failure
Error: CUDNN_STATUS_INTERNAL_ERROR
mnistCUDNN.cpp:394
Aborting...

这是由于破坏的缓存导致CUBLAS不工作,解决方案:

sudo rm -rf .nv/ 

参考文件:https://devtalk.nvidia.com/default/topic/1025900/cudnn/cudnn-fails-with-cudnn_status_internal_error-on-mnist-sample-execution/


如果想要卸载CuDNN,只需要删除这些文件:

$ sudo rm /usr/local/cuda/include/cudnn.h 
$ sudo rm -r /usr/local/cuda/lib64/libcudnn* 

六、Opencv 3.4.0

这个安装相对简单,一般不会遇到问题。建议使用cmake-gui进行配置。

详细步骤可参见 oppo62258801的博客:Ubuntu16.04+Cuda8.0(gtx1060)+OpenCV2.4.13+anaconda2+caffe详细配置 。里面写了安装完后如何测试是否成功。

注意:这种方法安装opencv是安装在ubuntu系统的python2.7的中了,只能在python2.7中使用,如果想要在anaconda3中使用opencv,可以用conda安装opencv。

七、安装Pytorch-GPU

Pytorch安装简洁。官网下载,如torch-0.2.0.post3-cp36-cp36m-manylinux1_x86_64.whl , 其中0.2.0表示PyTorch版本,cp36表示支持Python3.6,cuda80表示支持GPU版本。

步骤可参见 红色石头的专栏: Ubuntu16.04环境下PyTorch简易安装教程 。

最后通过验证是否已经正确安装,方法:

python
import torch
import torchvision
print(torch.cuda.is_available())

若显示true则表示安装成功。

八、安装Caffe-GPU

稍微有些复杂,单独写了一篇博客,请见链接https://blog.csdn.net/Cxiazaiyu/article/details/81366171


猜你喜欢

转载自blog.csdn.net/Cxiazaiyu/article/details/81155048