Ubuntu 16.04+Nvidia1080ti 深度学习环境配置

本文详细介绍了在Ubuntu 16.04系统上搭建深度学习环境的步骤,包括更新系统资源、安装显卡驱动、CUDA、cuDNN及Anaconda等关键组件。针对常见错误提供了详细的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、准备工作

1.update一下更新资源

sudo apt-get update

2.upgrade更新升级

sudo apt-get upgrade

二、安装显卡驱动

附英伟达官网nvidia

1.禁用nouveau驱动

终端中运行:

 lsmod | grep nouveau

如果有输出,则代表nouveau正在运行, 需要我们手动禁掉nouveau。

在/etc/modprobe.d中创建文件blacklist-nouveau.conf

sudo touch /etc/modprobe.d/blacklist-nouveau.conf
sudo gedit /etc/modprobe.d/blacklist-nouveau.conf

在文件中输入以下内容:

blacklist nouveau
options nouveau modeset=0

更新系统:

 sudo update-initramfs -u
 reboot

重启后查看nouveau是否已经成功禁用,无输出则为成功:

lsmod | grep nouveau

这时无输出,表示已经成功禁用了nouveau

2.关闭图形化界面(这里最好拍个照片,然后执行以下步骤!!!)

sudo service lightdm stop
ctrl+alt+f1进入命令行界面

安装显卡驱动

sudo sh NVIDIA-Linux-x86_64-390.48.run 

Accept->Continue installation->sign the kernel module(为内核模块签名)?选择->使用已有的密钥给模块签名还是重新生成?选重新生成密钥->是否删除已生成的密钥文件?选择->安装完成

报错问题及解决

问题:The target kernel has CONFIG_MODULE_SIG set,which means that it supports cryptographic signatures on kernel module. On some systems, the kernel may refuse to load modules without a valid signature from a trusted key.This system also UEFI Secure Boot enabled; many distributions enforce module signature verification on UEFI systems when Secure Boot is enabled. Would you like to sign the NVIDIA kernel module?

解决:禁用UEFI安全启动功能
然后执行下面指令回到图形化界面

sudo service lightdm start

检查 NVIDIA Driver是否安装成功

nvidia-smi

nvidia-smi

nvidia-settings

nvidia-settings
至此显卡驱动安装成功


三、安装cuda

在官网下载cuda,这里一定要注意:CUDA版本一定要和显卡驱动版本匹配不然会报错,详情看这里

1.安装驱动也要在非图形化界面安装(此处应该用手机拍照!!!)

关闭图形化界面

sudo service lightdm stop

然后摁下ctrl+alt+f1打开指令窗口
切换到cuda的下载位置

cd /home/用户名/Downloads/
ls

安装依赖项

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

然后安装cuda

sudo bash cuda_9.1.85_387.26_linux.run

安装成功后回到图形化界面

sudo service lightdm start
报错及解决办法

这里写图片描述
error:Installing the NVIDIA display driver... It appears that an X server is running. Please exit X before installation. If you're sure that X is not running, but are getting this error, please delete any X lock files in /tmp.
解决办法:
这种报错因为我在图形化界面安装CUDA,这个会与x-config起冲突,故要在非图形化界面安装
另一种报错:
error:installing the NVIDIAdisplay driver... The driverinstallation is unable to locate the kernel source. Please make surethat the kernel source packages are installed and set up correctly.If you know that the kernel source packages are installed and set upcorrectly, you may pass the location of the kernel source with the'--kernel-source-path' flag.
错误原因是在安装显卡驱动时没有按以下步骤选择,重新按照本文方法安装显卡驱动后问题就解决了
Accept->Continue installation->sign the kernel module(为内核模块签名)?选择->使用已有的密钥给模块签名还是重新生成?选重新生成密钥->是否删除已生成的密钥文件?选择->安装完成
###2.配置 CUDA 环境变量:
这里一般在安装过程中有引导项,正确选择引导项就可以忽略以下步骤,不放心的话可以看执行以下步骤也没毛病

sudo gedit ~/.bashrc 

在文件最后添加:

export PATH=/usr/local/cuda/bin:$PATH

export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

export CUDA_HOME=/usr/local/cuda

修改完毕之后执行一下使其生效:

source ~/.bashrc

检查cuda是否配置正确,到这一步,基本的CUDA已经安装完成了,我们可以通过以下命令查看CUDA是否配置正确:

nvcc --version

这里写图片描述

3.测试CUDA的sammples

切换到cuda-samples所在目录

cd /usr/local/cuda-9.1/samples 或者 cd /home/NVIDIA_CUDA-9.1_Samples 

没有make的话,先命令安装 sudo apt-get install cmake,然后执行编译

sudo make –j4  #-jn是最大限度的使用cpu编译,加快编译的速度,`n`指的是cpu核心数

编译完毕,切换release目录(/usr/local/cuda-8.0/samples/bin/x86_64/linux/release完整目录)

cd ./bin/x86_64/linux/release

检验是否成功,运行实例

./deviceQuery 

这里写图片描述
它显示了你的NVIDIA显卡的相关信息,最后能看到Result = PASS就算成功。

至此cuda安装完成

错误及解决办法

这里写图片描述
错误一
error:/usr/local/cuda-9.1"/bin/nvcc -ccbin g++ -m64 -Xcompiler -no-pie -gencode arch=compute_30,code=compute_30 -o cudaDecodeGL FrameQueue.o ImageGL.o VideoDecoder.o VideoParser.o VideoSource.o cudaModuleMgr.o cudaProcessFrame.o dynlink_cuda.o dynlink_nvcuvid.o videoDecodeGL.o -L/usr/lib/nvidia-352 -lGL -lGLU -lX11 -lglut -lcuda -L../../common/lib/linux/x86_64 -lcudart -lnvcuvid -lGLEW /usr/bin/ld: cannot find -lnvcuvid collect2: error: ld returned 1 exit status Makefile:404: recipe for target 'cudaDecodeGL' failed make[1]: *** [cudaDecodeGL] Error 1 make[1]: Leaving directory '/usr/local/cuda-9.1/samples/3_Imaging/cudaDecodeGL' Makefile:52: recipe for target '3_Imaging/cudaDecodeGL/Makefile.ph_build' failed make: *** [3_Imaging/cudaDecodeGL/Makefile.ph_build] Error 2

解决办法:
编译时执行sudo make -j而不是简单的执sudo make
错误二:
这里写图片描述
error:./deviceQuery Starting... CUDA Device Query (Runtime API) version (CUDART static linking) cudaGetDeviceCount returned 35 -> CUDA driver version is insufficient for CUDA runtime version Result = FAIL
解决办法
原因是因为显卡驱动版本和CUDA版本不匹配造成的,详情看这里

nvidia-smi #查看自己的显卡驱动版本
nvcc --version #查看cuda版本

在官网重新选择版本下载后,卸载现有版本并且重新安装(此处要拍照后再执行!!!)
关闭图形化界面

sudo service lightdm stop
ctrl+alt+f1进入命令行界面

卸载显卡驱动

sudo apt-get remove nvidia*

然后再按教程重新安装符合要求的显卡驱动
所以下载的显卡驱动和cuda版本时一定要注意!!
返回图形化界面指令

sudo service lightdm start

四、安装cudnn

cudnn下载链接,需注册后下载
切换到下载文件夹、解压文件

tar -zxvf cudnn-8.0-linux-x64-v7.tgz

切换到刚刚解压出来的文件夹路径

cd cuda 

复制include里的头文件(记得转到include文件里执行下面命令)

sudo cp include/cudnn.h  /usr/local/cuda/include/

复制lib64下的lib文件到cuda安装路径下的lib64(记得转到lib64文件里执行下面命令)

sudo cp lib64/libcudnn*  /usr/local/cuda/lib64/

设置权限

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

更新软连接

cd /usr/local/cuda/lib64/ 
sudo rm -rf libcudnn.so libcudnn.so.7   #删除原有动态文件,版本号注意变化,可在cudnn的lib64文件夹中查看   

这里写图片描述
我这里是libcudnn.so.7.1.3故将libcudnn.so.7的软连接到7.1.3版本上面

sudo ln -s libcudnn.so.7.1.3 libcudnn.so.7  #生成软衔接(注意这里要和自己下载的cudnn版本对应,可以在/usr/local/cuda/lib64下查看自己libcudnn的版本)

然后执行

sudo ln -s libcudnn.so.7 libcudnn.so #生成软链接
sudo ldconfig -v #立刻生效

至此cudnn安装完成

20190221补

  • 许久没用,在训练数据时发现报错如下
  • 在这里插入图片描述
  • 查询原因是因为cudnn版本地导致,这里需要卸载原来的版本然后从官网下载最新的版本进行安装
    1、解压出一个名为cuda的文件夹,文件夹中有include和lib64两个文件夹
    2、删除原来的cudnn
sudo rm -rf /usr/local/cuda/include/cudnn.h
sudo rm -rf /usr/local/cuda/lib64/libcudnn*

3、安装最新版本的cudnn

cd ~/Downloads/cuda
sudo cp include/cudnn.h /usr/local/cuda/include/
sudo cp lib64/lib* /usr/local/cuda/lib64/

4、建立软链接版本号换成最新的

cd /usr/local/cuda/lib64/
sudo chmod +r libcudnn.so.7.4.5 2
sudo ln -sf libcudnn.so.7.4.2 libcudnn.so.7
sudo ln -sf libcudnn.so.7 libcudnn.so  
sudo ldconfig  

5、检测链接是否成功更新

cd /usr/local/cuda/lib64/
ll

五、安装anaconda

官网下载后,切换到下载文件夹,执行安装

bash Anaconda2-5.1.0-Linux-x86_64.sh

这里写图片描述

安装完成后设置启动anaconda2

首先将anaconda2加入环境变量中

sudo gedit ~/.bashrc

在最后加入export PATH="/home/dc/anaconda2/bin:$PATH"
是环境变量立即生效

source ~/.bashrc

安装启动项

conda install -c anaconda anaconda-navigator

这里写图片描述
输入anaconda-navigator即可启动anaconda2

anaconda-navigator

启动界面如下
这里写图片描述
可以将图标Lock to Launcher 方便启动
至于tensorflow、notebook、spyder等安装直接通过anaconda2安装即可,非常方便
至此anaconda2安装完成

  • 升级Anaconda需要先升级conda
conda update conda
conda update anaconda
  • 卸载
    由于Anaconda的安装文件都包含在一个目录中,所以直接将该目录删除即可。删除整个Anaconda目录:
rm -rf anaconda

最后清理下.bashrc中的Anaconda路径


#本文是在刚安装的ubuntu16.04系统去配置深度学习的环境,每一步也都是通过网上搜索一步步走下来,并且实时的将过程和问题记录下来了供大家学习参考


参考文献
https://blog.youkuaiyun.com/qq_15933615/article/details/79600525
https://blog.youkuaiyun.com/chris_xy/article/details/78062669
https://blog.youkuaiyun.com/zhdgk19871218/article/details/46502637
http://blog.163.com/qimo601@126/blog/static/158220932013112114532667/
https://blog.youkuaiyun.com/htt789/article/details/79627015

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值