折腾4天终于装好 tensorflow-gpu 版,此教程一是给自己做个记录,二是给各位一个参考尽量节省安装时间。
硬件: CPU: i5-7400,GPU: GeForce GTX1050Ti
系统:Ubuntu 16.04, cuda 8.0, cudnn v5
1 安装前准备工作
1.1 检查自己的 GPU 是否满足安装条件
打开终端输入以下指令:
lspci | grep -i nvidia
根据显示的 GPU 信息去 CUDA 官网查询是否支持,也可百度搜索 NVIDIA GPU 计算能力表,计算能力大于或等于3.0即可安装。
1.2 检查自己系统中的 gcc 版本
在终端输入以下指令:
gcc --version
如果你装的也是 cuda 8.0, 需要将 gcc 编译器版本降至5.0以下,降级操作如下:
在终端输入以下指令:
sudo apt-get install g++-4.9 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 20 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 10 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 20 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 10 sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 30 sudo update-alternatives --set cc /usr/bin/gcc sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 30 sudo update-alternatives --set c++ /usr/bin/g++
1.3 安装内核头文件
在终端输入以下指令:
sudo apt-get install linux-headers-$(uname -r)
1.4 安装 cuda 的一些依赖库
在终端输入以下指令:
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev
2 安装 NVIDIA 驱动
2.1 安装驱动前禁用 nouveau
在终端输入以下指令:
lsmod | grep nouveau
若有输出表示 nouveau 正在加载。在 /etc/modprobe.d 创建一个 blacklist-nouveau.conf,先 cd 到目标目录下,然后在终端输入以下指令:
sudo touch blacklist-nouveau.conf sudo chmod a+w+r blacklist-nouveau.conf gedit blacklist-nouveau.conf
在文件中输入:
blacklist nouveau options nouveau modeset=0
保存并退出后,在终端输入:
sudo update-initramfs -u
重启系统后,再次在终端输入:
lsmod | grep nouveau
确保没有输出即可。
2.2 下载驱动
下载自己显卡对应的驱动版本(https://www.geforce.cn/drivers),注意部分最新驱动版本需要 gcc 5.4 的支持,若安装驱动时提示 gcc 5.4 可以下载以前的驱动版本。
2.3 安装驱动
若已使用系统设置中的“软件和更新”装过驱动,建议卸载,终端输入如下:
sudo apt-get remove --purge nvidia*
关闭 X service,在终端输入:
sudo service lightdm stop
Ctrl+Alt+F1进入文本模式,cd 至下载好的驱动目录,输入指令:
sudo chmod +x NVIDIA-Linux-x86_64-375.66.run sudo ./NVIDIA-Linux-x86_64-375.66.run --no-opengl-files
安装完成后重启系统,进入图形界面,在终端输入:
nvidia-smi
查看驱动是否安装成功。
也可以在终端输入:
nvidia-settings
查看驱动是否安装成功。
3 安装 CUDA
3.1 下载 CUDA
这里我下的是 cuda 8.0 的 runfile (https://developer.nvidia.com/cuda-80-download-archive)。
3.2 安装 CUDA
cd 至下载好的 cuda 目录,在终端输入:
sudo chmod a+x cuda_8.0.44_linux.run sudo sh cuda_8.0.44_linux.run
执行后会出现一段安装声明,按 Q 即可退出。然后 accept 安装,遇到第一个提示是否安装 NVIDIA 驱动时输入n(第二步操作已安装驱动),第二个提示是否安装 CUDA Toolkit 输入 y,后面默认都是输入 y 或回车使用默认路径安装。
安装完成后添加配置环境,在终端输入:
echo 'export PATH=/usr/local/cuda-8.0/bin:$PATH' >> ~/.bashrc echo 'export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc source ~/.bashrc
重启系统后在终端输入:
nvcc --version
输出如下类似信息表上安装成功。
3.3尝试编译 CUDA 提供的 Samples
cd 至 Samples 目录下(默认路径为~/NVIDIA_CUDA-8.0_Samples),在终端输入:
make
编译完成后可以在 Samples 目录里面找到 bin/x86_64/linux/release/ ,cd 至该目录下,终端输入:
./deviceQuery
输入如下:
4 安装 cuDNN
4.1 下载cuDNN
这里我下的是 cudnn v5.1 (https://developer.nvidia.com/rdp/cudnn-archive)。
4.2 安装cuDNN
cd 至下载好的 cudnn 目录,在终端输入:
tar xvzf cudnn-8.0-linux-x64-v5.1-ga.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*
5 安装 TensorFlow
5.1 参考官网
进入官网查看 cuda 和 cudnn 对应的 TensorFlow 版本(要与 Python 版本对应,这里我的是 Python 3.5 )。
5.2 安装 tensorflow_gpu
这里我参照官网(https://www.tensorflow.org/install/),使用的 pip3 安装的 tensorflow 1.0.0,在终端输入如下:
pip3 install --upgrade \https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.0.0-cp35-cp35m-linux_x86_64.whl
安装完后,import tensorflow 输出如下则表示 TensorFlow 运行成功。
6 常见问题
6.1 驱动安装错误或登录界面循环
卸载驱动,在终端输入如下:
sudo /usr/bin/nvidia-uninstall
6.2 CUDA 安装错误
卸载 cuda,终端输入如下:
sudo /usr/local/cuda-7.5/bin/uninstall_cuda_7.5.pl
6.3 安装 cuda 的依赖库错误
方法一:更换软件源为清华源
方法二:先安装一个 aptitude, 在终端输入:
sudo apt-get install aptitude
然后使用 aptitude 工具安装 qt-sdk 里面会包含所需的依赖库,在终端输入:
sudo aptitude install qt-sdk
7 参考博客
Ubuntu16.04+GTX1050+CUDA8.0配置深度学习环境 https://blog.csdn.net/sikao_luwei/article/details/69375126
ubuntu16.04下安装TensorFlow(GPU加速)----详细图文教程 https://blog.csdn.net/zhaoyu106/article/details/52793183
二、CUDA安装和测试 https://blog.csdn.net/u012235003/article/details/54575758