Ubuntu 18.04上CUDA 9.0cuDNN7.0及Tensorflow 1.8的安装
Posted Onthefly
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ubuntu 18.04上CUDA 9.0cuDNN7.0及Tensorflow 1.8的安装相关的知识,希望对你有一定的参考价值。
配置
笔者使用Dell Inspiron 7559笔记本电脑,显卡为NVIDIA GTX 960M。
目标
由于本机显卡仅有nvidia-384驱动包能够良好支持(nvidia-387、nvidia-390包均在本机出现了系统无法登陆等异常),而CUDA 9.1需要驱动至少为nvidia-387,故选择安装CUDA 9.0及cuDNN7.0。
TelsorFlow 1.8完全支持CUDA 9.0因此可以使用最新版。
安装显卡驱动
使用apt安装nvidia-384驱动包(实际安装驱动为390):
sudo apt-get install nvidia-384
安装完成后重启系统。
运行命令
nvidia-smi
若能够显示显卡当前运行状况(表格)则代表驱动安装成功。
安装CUDA 9.0
准备工作
CUDA及TensorFlow体积均较大且下载源在国外,请找到一个良好的网络环境。可以寻找适当的国内镜像。
从NVIDIA官网Legacy Releases下载CUDA 9.0版本的.run安装包(https://developer.nvidia.com/cuda-90-download-archive)。
由于CUDA 9.0仅支持GCC 6.0及以下版本,而Ubuntu 18.04预装GCC版本为7.3,故手动安装gcc-6与g++-6:
sudo apt-get install gcc-6 g++-6
之后切换至/usr/bin目录修改符号链接,使GCC 6成为默认使用版本:
cd /usr/bin
sudo rm gcc
sudo ln -s gcc-6 gcc
sudo rm g++
sudo ln -s g++-6 g++
安装
为CUDA 9.0安装包赋予运行权限并运行之:
chmod 775 cuda_9.0.176_384.81_linux.run
sudo ./cuda_9.0.176_384.81_linux.run --no-opengl-libs
安装过程中选择不安装驱动,仅安装CUDA与Samples。若提示"You are attempting to install on an unsupported configuration."选择y强制安装(如果前面修改了GCC版本,此处应不报该错误)。
安装完成后若提示安装失败,可参考错误提示增加--override
参数重新安装。
测试
进入Samples所在目录(默认为~/NVIDIA_CUDA-9.0_Samples),运行命令(所需时间较长)
make
(若不愿等候太长时间也可进入子目录单独make一些示例程序)
若编译成功(可能有warning)则可以进入bin目录运行其中的程序。以上皆成功时,则CUDA安装成功。
安装cuDNN 7.0
仍从NVIDIA官网下载cuDNN 7.0,注意需要注册nvidia账户才能下载。
之后正常安装其所有包(笔者使用的是.deb包)
sudo dpkg -i libcudnn7_7.0.4.31-1+cuda9.0_amd64.deb libcudnn7-dev_7.0.4.31-1+cuda9.0_amd64.deb libcudnn7-doc_7.0.4.31-1+cuda9.0_amd64.deb
安装TensorFlow 1.8
使用pip安装。若无pip则首先安装pip:
sudo apt-get install python3-pip
#若Python2则为
#sudo apt-get install python-pip
之后安装TensorFlow:
由于pip官方源下载速度较慢,可以参考网上办法修改pip源至国内镜像,例如清华大学TUNA镜像
sudo pip3 install tf-nightly-gpu
安装完成后运行TF示例程序,检查TensorFlow是否顺利运行。
最后的强迫症
以上步骤均完成后,可将默认GCC版本改回7.3,经笔者实测,应不影响TensorFlow的正常使用。
命令:
cd /usr/bin
sudo rm gcc
sudo ln -s gcc-7 gcc
sudo rm g++
sudo ln -s g++-7 g++
以上是关于Ubuntu 18.04上CUDA 9.0cuDNN7.0及Tensorflow 1.8的安装的主要内容,如果未能解决你的问题,请参考以下文章
Ubuntu18.04安装cuda 11.3和TensorRT 8教程(碰到的坑及填坑方法,以及python和c++的TensorRT环境搭建)
Ubuntu 16.04 上安装 CUDA 9.0 详细教程
在 ubuntu 18.04 上使用 libnvinfer7 库(Cuda 10.2)安装 TensorRT 面临的问题