深度学习框架配置和实践
显卡驱动没有安装按照右面教程进行安装-显卡驱动安装教程
链接:https://developer.nvidia.com/cuda-downloads
cuda和cudnn解释:https://www.jianshu.com/p/622f47f94784
大家注意一下:
下载之前查看自己显卡驱动和cuda版本号之间的关系,如下图所示,然后进行选择性安装。
https://blog.csdn.net/fengxinzioo/article/details/101679140
nvidia驱动版本号:nvidia-smi进行查看,如下图红色框标出来所示:
cuda下载https://developer.nvidia.com/cuda-toolkit-archive:
cudnn下载
cudnn链接:https://developer.nvidia.com/cudnn
一、安装cuda
链接:https://www.cnblogs.com/xuliangxing/p/7575586.html
1、安装缺失的依赖库文件
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libgl1-mesa-dev libglu1-mesa libglu1-mesa-dev libxi-dev
2、安装执行文件
sudo sh cuda_10.0.130_410.48_linux.run #执行安装文件
按q键跳过读取这些条款
3、安装过程
Do you accept the previously read EULA?
accept/decline/quit: accept
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 410.48?
(y)es/(n)o/(q)uit: n 一定要选择NO
Install the CUDA 10.0 Toolkit?
(y)es/(n)o/(q)uit: y
Enter Toolkit Location
[ default is /usr/local/cuda-10.0 ]:
Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit: y
Install the CUDA 10.0 Samples?
(y)es/(n)o/(q)uit: y
Enter CUDA Samples Location
[ default is /home/bubble ]:
Installing the CUDA Toolkit in /usr/local/cuda-10.0 ...
Installing the CUDA Samples in /home/bubble ...
Copying samples to /home/bubble/NVIDIA_CUDA-10.0_Samples now...
Finished copying samples.
===========
= Summary =
===========
Driver: Not Selected
Toolkit: Installed in /usr/local/cuda-10.0
Samples: Installed in /home/bubble
Please make sure that
- PATH includes /usr/local/cuda-10.0/bin
- LD_LIBRARY_PATH includes /usr/local/cuda-10.0/lib64, or, add /usr/local/cuda-10.0/lib64 to /etc/ld.so.conf and run ldconfig as root
To uninstall the CUDA Toolkit, run the uninstall script in /usr/local/cuda-10.0/bin
Please see CUDA_Installation_Guide_Linux.pdf in /usr/local/cuda-10.0/doc/pdf for detailed information on setting up CUDA.
***WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 384.00 is required for CUDA 10.0 functionality to work.
To install the driver using this installer, run the following command, replacing with the name of this run file:
sudo .run -silent -driver
Logfile is /tmp/cuda_install_17026.log
4、设置环境变量
输入命令,编辑环境变量配置文件
sudo vim ~/.bashrc
在文本末端追加以下两行代码(按键“i”进行编辑操作---根据自己cuda版本号进行修改cuda-10.0)
export PATH=/usr/local/cuda-10.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64:$LD_LIBRARY_PATH
export CUDA_HOME=/usr/local/cuda
保存退出(按“!wq”),执行下面命令,使环境变量立刻生效
#环境变量立即生效
sudo source ~/.bashrc#如果提示source命令找不到可以忽略执行下一个
sudo ldconfig
5、检查cuda是否配置正确
到这一步,基本的CUDA已经安装完成了,我们可以通过以下命令查看CUDA是否配置正确.必须关闭当前终端,重新打开一个终端:
nvcc --version
如图所示:
6、测试CUDA的sammples
为什么需要安装cuda samples?一方面为了后面学习cuda使用,另一方面,可以检验cuda是否真的安装成功。如果cuda samples全部编译通过,没有一个Error信息(Warning忽略),那么就说明成功地安装了cuda。如果最后一行虽然显示PASS,但是编译过程中有ERROR,请自行网上搜索相关错误信息解决之后。
# 切换到cuda-samples所在目录
cd /usr/local/cuda-10.0/samples 或者 cd ~/NVIDIA_CUDA-10.0_Samples
# 没有make,先安装命令 sudo apt-get install cmake,-j是最大限度的使用cpu编译,加快编译的速度
make –j
# 编译完毕,切换release目录(/usr/local/cuda-8.0/samples/bin/x86_64/linux/release完整目录)
cd ./bin/x86_64/linux/release
# 检验是否成功,运行实例
./deviceQuery
# 可以认真看看自行结果,它显示了你的NVIDIA显卡的相关信息,最后能看到Result = PASS就算成功。
如下图所示:
二、安装cuDNN
安装cudnn比较简单,简单地说,就是复制几个文件:库文件和头文件。将cudnn的头文件复制到cuda安装路径的include路径下,将cudnn的库文件复制到cuda安装路径的lib64路径下。安装cudnn中更新软链接步骤,版本号在cudnn解压出来的cuda文件中lib64中查看,具体操作如下:
#解压文件,cd到cudnn路径下
tar -xzvf cudnn-10.0-linux-x64-v7.6.0.64.tgz
#切换到刚刚解压出来的文件夹路径
cd cuda
#复制include里的头文件(记得转到include文件里执行下面命令)
cd ./include
sudo cp cudnn.h /usr/local/cuda/include/
#复制lib64下的lib文件到cuda安装路径下的lib64(记得转到lib64文件里执行下面命令)
cd ../lib64
sudo cp lib* /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文件夹中查看
sudo ln -s libcudnn.so.7.6.0 libcudnn.so.7 #生成软衔接(注意这里要和自己下载的cudnn版本对应,可以在/usr/local/cuda/lib64下查看自己libcudnn的版本)
sudo ln -s libcudnn.so.7 libcudnn.so #生成软链接
sudo ldconfig -v #立刻生效
最后我们看看验证安装cudnn后cuda是否依旧可用
nvcc --version # or nvcc -V
软链接命令那地方解释说明一下:
这句命令执行之前sudo rm -rf libcudnn.so libcudnn.so.7 #删除原有动态文件,版本号注意变化,可在cudnn的lib64文件夹中查看
/usr/local/cuda/lib64/下面libcudnn.so动态库如下图,其中libcudnn.so.7.6.0是我们最终要建立的软连接
sudo rm -rf libcudnn.so libcudnn.so.7这句命令之后,把libcudnn.so libcudnn.so.7删掉了,只剩下libcudnn.so.7.6.0如下图所示
sudo ln -s libcudnn.so.7.6.0 libcudnn.so.7 这句命令之后,如下图所示
sudo ln -s libcudnn.so.7 libcudnn.so这句命令之后,如下图所示: