版本信息
系统版本:ubuntu 18.04
系统架构:x86_64
nvidia driver 驱动版本:NVIDIA-Linux-x86_64-440.100 (GPU:2080TI)
CUDA版本:10.0
cuDNN:7.6.4
gcc:4.8.5
tensorflow-gpu:1.14.0
nvidia
禁用nouveau
sudo vim /etc/modprobe.d/blacklist.conf
在文本最后添加:
blacklist nouveau
options nouveau modeset=0
然后执行:sudo update-initramfs -u
重启机器后,执行以下命令,如果没有屏幕输出,说明禁用nouveau成功:lsmod | grep nouveau
驱动下载
官网下载地址:https://www.nvidia.cn/Download/index.aspx?lang=cn
卸载旧驱动
重启后,使用快捷键进入文本模式,然后输入用户名密码就可:Ctrl-Alt+F1
|| 或使用SSH连接
执行以下命令禁用X-Window服务,否则无法安装显卡驱动:sudo service lightdm stop
|| 有可能没安装lightdm,则直接跳过
执行以下命令卸载原有显卡驱动:注意匹配自己下载的驱动版本
sudo apt-get remove --purge nvidia*
sudo apt-get autoremove
sudo chmod +x NVIDIA-Linux-x86_64-4**.**.run # 源显卡驱动
sudo ./NVIDIA-Linux-x86_64-4**.**.run --uninstall # 默认即可
重启
安装新驱动
执行驱动文件即可安装新驱动,一直默认即可:
sudo ./NVIDIA-Linux-x86_64-440.100.run -no-opengl-files
执行以下命令启动X-Window服务
sudo service lightdm start
最后执行重启命令,重启系统:
sudo reboot
gcc
查看gcc版本:gcc --version
若gcc版本太高就更改版本:sudo apt-get install gcc-4.8 g++-4.8
切换gcc版本:sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 100
激活生效:sudo update-alternatives --config gcc
CUDA
驱动下载
- 下载地址:https://developer.nvidia.com/rdp/cudnn-archive
驱动安装
-
sudo chmod a+x ....run
-
sudo ./...run
Do you accept the previously read EULA? # ctrl+c 可加快速度 accept/decline/quit: accept Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 410.48? (y)es/(n)o/(q)uit: n 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/user ]:
# 安装结果 - Driver: Not Selected Toolkit: Installed in /usr/local/cuda-10.0 Samples: Installed in /home/***, but missing recommended libraries 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
-
添加环境变量
-
vim ~/.bashrc
# >>> coda initialize >>> export PATH="/usr/local/cuda-10.0/bin:$PATH" export LD_LIBRARY_PATH="/usr/local/cuda-10.0/lib64/:$LD_LIBRARY_PATH" # <<< coda initialize <<<
-
激活生效:
source ~/.bashrc
-
nvcc --version
查看版本信息是否一致
-
-
测试
cd ~/NVIDIA_CUDA-10.0_Samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
- 显示PASS即通过
CUDNN
驱动下载
下载地址:https://developer.nvidia.com/rdp/cudnn-archive
驱动安装
方案一:下载.tgz 文件,复制:
-
解压
sudo tar -xvf cudnn-10.0-linux-x64-v7.6.5.32.tgz
-
复制文件
sudo cp cuda/include/cudnn.h /usr/local/cuda-10.0/include/ sudo cp cuda/lib64/libcudnn* /usr/local/cuda-10.0/lib64/ sudo chmod a+r /usr/local/cuda-10.0/include/cudnn.h sudo chmod a+r /usr/local/cuda-10.0/lib64/libcudnn*
-
测试
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2 #查看cudnn的版本
方案二:下载DEB文件,并安装(建议ubuntu用户使用该方案):
-
下载cudnn DEB文件 安装
sudo dpkg -i libcudnn7_7.6.4.38-1+cuda10.0_amd64.deb #安装cudnn-runtime库 sudo dpkg -i libcudnn7-dev_7.6.4.38-1+cuda10.0_amd64.deb #安装cudnn-developer库 sudo dpkg -i libcudnn7-doc_7.6.4.38-1+cuda10.0_amd64.deb #安装cudnn代码样本和使用者指引
-
测试
# 测试cudnn cp -r /usr/src/cudnn_samples_v7/ $HOME #拷贝测试样例到主文件夹 cd $HOME/cudnn_samples_v7/mnistCUDNN #进入样例下的mnistCUDNN目录 make clean && make #编译mnistCUDNN样例 ./mnistCUDNN #运行编译好的mnistCUDNN样例 # Test passed 即为通过
make过程中如遇到
WARNING - FreeImage is not set up correctly. Please ensure FreeImage is set up correctly.-->
,可能没创建cuda文件夹的软连接,如检查缺失没有,sudo ln -s cuda-10.0/ cuda
创建软连接重试即可
Anaconda
-
安装步骤
sudo sh A...sh Do you accept the license terms? [yes|no] yes path choose default by running conda init? [yes|no] yes source ~/.bashrc
-
-
首先将对应镜像源的地址通过 conda config --add 命令加入 conda 的 channel 列表中,可以选择添加整个镜像源的地址或只添加与 pytorch 相关的镜像源的地址。(或者更傻瓜的方式,将 ~/.condarc 文件备份后,将清华 Anaconda 镜像源页面中的配置文件内容复制至 ~/.condarc 文件中)
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ #添加整个镜像源的地址 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/ #添加镜像源中 pytorch 对应的地址
-
通过 conda config 命令设置使用 conda 进行软件包下载时显示软件包的 url 地址,这样就可以看到下载软件包的时候是否是从国内镜像源下载。具体命令为 conda config --set show_channel_urls yes。(Windows 环境中用户主目录下会生成对应的 .condarc 文件,里面保存一些与源相关的信息)
conda config --set show_channel_urls yes #下载时显示软件包的来源
-
通过 conda config --show-sources 命令查看添加的软件源,确定是否添加有效。
conda config --show-sources #查看已有的软件源
-
Tensorflow
-
安装
pip install tensorflow==1.14.0 pip install tensorflow-gpu==1.14.0
-
测试
# python环境 import tensorflow as tf tf.test.is_gpu_available() # 最后显示True即可调用gpu
奇奇怪怪的问题
-
sudo make 报错 g++: No such file or directory
缺少配置g++ -
anaconda无权限
开放anaconda安装文件夹权限:
sudo chown -R user /home/ubuntu/anaconda3
-
WARNING - FreeImage is not set up correctly. Please ensure FreeImage is set up correctly.
- 缺少cuda软链接
sudo ln -s cuda-10.0/ cuda
-
pip No such file or directory: ‘c++’
尝试升级pip版本
-
numpy与tensorflow版本问题
-
警告信息: FutureWarning: Passing (type, 1) or ‘1type’ as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / ‘(1,)type’.
-
pip install -U -i https://pypi.tuna.tsinghua.edu.cn/simple numpy==1.16.0
-
tensorflow numpy cuda cudnn 1.14 1.16.0 10.0 7.6.4
-
-
WARNING:root:Limited tf.compat.v2.summary API due to missing TensorBoard installation.
重新安装tensorboard
总结
- 注意版本对齐:nvidia、cuda、cudn、gcc、tensorflow、numpy TF官方版本
- 期间很多奇奇怪怪问题,多查查资料就行啦
参考
ubuntu18.04安装tensorflow-gpu==1.14.0(CUDA10.0+cuDNN7.4.1)
Ubuntu18.04安装tensorflow-gpu(2019.7新版cuDNN-7.6.2)
Ubuntu下安装INVIDIA显卡驱动(避免循环登录问题)