文章目录
操作用到的软件如下:
Ubuntu16.04.1 LTS
NVIDIA-375 (下载安装)
cuda_8.0.61_375.26_linux.run
cudnn-8.0-linux-x64-v5.1.tgz
tensorflow-gpu==1.2.0
- tensorflow-gpu==2.0.0-alpha0 , cuda 10.0 , cudnn 7.5
- tensorflow-gpu==1.12.0 , cuda 10.0 , cudnn 7.5 (or cuda 9.0 ,cudnn7.5)
- tensorflow-gpu==1.8 , cuda 9 , cudnn 7.0
- tensorflow-gpu==1.4.1 , cuda 8 , cudnn 6.0
- tensorflow-gpu==1.2.0, cuda 8, cudnn 5.1
1、显卡驱动以及cuda,cudann安装
参考:http://blog.csdn.net/autocyz/article/details/52299889
1.1 安装nvidia驱动
方式一(apt-get安装)
使用apt-get安装参考:https://blog.csdn.net/breeze5428/article/details/80013753
删除之前所安装的nVidia驱动。
sudo apt-get remove --purge nvidia-*(需要清除干净)
sudo apt-get remove --purge xserver-xorg-video-nouveau
重启电脑
# 查看nvidia版本
lspci | grep -i nvidia
首先去官网上查看适合你GPU的驱动(http://www.nvidia.com/Download/index.aspx?lang=en-us) or(http://www.geforce.cn/drivers)
例如,本人的GPU适合的驱动如图:
执行如下语句,安装
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
# 显卡的版本号最好要与cuda提示的版本一致(安装cuda时会提示是否安装显卡,会显示显卡型号),如:cuda_9.0.176_384.81_linux.run,后面的384.81 为驱动版本, 即驱动为nvidia-384
sudo apt-get install nvidia-375
sudo apt-get install mesa-common-dev
sudo apt-get install freeglut3-dev
方式二(手动安装)
显卡的版本号最好要与cuda提示的版本一致(安装cuda时会提示是否安装显卡,会显示显卡型号),如:cuda_9.0.176_384.81_linux.run
,后面的384.81
为驱动版本, 即驱动为nvidia-384
注:如果使用apt-get
没法安装驱动,如:GTX1060
安装不上nvidia-418
,可以在这里下载对应的驱动版本手动安装sudo sh NVIDIA-Linux-x86_64-418.43.run
如果手动安装驱动出现以下错误:
ERROR: You appear to be running an X server; please exit X before
installing. For further details, please see the section INSTALLING
THE NVIDIA DRIVER in the README available on the Linux driver
download page at www.nvidia.com.
# 解决方法
# 先设置root密码(如果没设置过)
sudo passwd root
# 设置密码
Ctrl+Alt+F1 进入命令行界面 (这里登录需使用root登录)
sudo service lightdm stop # 关闭图形界面
sudo sh NVIDIA-Linux-x86_64-418.43.run
service lightdm start # 打开图形界面
ctrl +Alt+F7 回到登录界面
方式三(安装cuda时选择驱动安装)
详情参看cuda
安装
驱动安装完成后需重启电脑(使用命令:reboot
)。
重启后输入:
nvidia-smi
如果出现了你的GPU列表,则说明驱动安装成功了
1.2安装CUDA
从这里下载cuda的安装文件
https://developer.nvidia.com/cuda-toolkit-archive
下载完cuda8.0后,执行如下语句,运行runfile文件:
sudo sh cuda_8.0.27_linux.run
如果出现以下错误:
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.
先执行sudo /etc/init.d/lightdm stop
在执行 sudo sh cuda_8.0.27_linux.run
(or 参看方式二(手动安装)
到命令界面安装)
安装选项出现这个(驱动安装)
如果没有安装驱动,则选择y,否则选择n
出现opengl
默认选择不安装,n
CUDA Toolkit
选择安装,y
最后出现这个说明安装成功
安装完成后查看/usr/local
目录将会有以下目录
ls /usr/local
cuda-8.0
cuda # 这个是cuda-8.0的软链接,如果没有 执行:ln -s /usr/local/cuda-8.0 /usr/local/cuda
...
1.3 安装cudnn
首先去官网下载你需要的cudnn,下载的时候需要注册账号。选择对应你cuda版本的cudnn下载。这里我下载的是cudnn5.1,是个压缩文件(.tgz)
tar -zxvf cudnn-8.0-linux-x64-v5.1.tgz
下载完cudnn5.0之后进行解压,cd进入cudnn5.1解压之后的include目录,在命令行进行如下操作:
sudo cp cudnn.h /usr/local/cuda-8.0/include/ #复制头文件
再将cd进入lib64目录下的动态文件进行复制和链接:
# 如果不是使用cudnn5.1 可以查看cudnn的解压目录 ls cuda/lib64 目录的文件对应修改
# 如cudnn7.5 解压完成后 ls lib64
# libcudnn.so libcudnn.so.7 libcudnn.so.7.5.0
# 则将libcudnn.so.5.0.5改成libcudnn.so.7.5.0,libcudnn.so.5改成libcudnn.so.7
# 如果不是cuda-8.0 则改成对应版本的即可
sudo cp lib* /usr/local/cuda-8.0/lib64/ #复制动态链接库
cd /usr/local/cuda-8.0/lib64/
sudo rm -rf libcudnn.so libcudnn.so.5 #删除原有动态文件
sudo ln -s libcudnn.so.5.0.5 libcudnn.so.5 #生成软衔接
sudo ln -s libcudnn.so.5 libcudnn.so #生成软链接
1.4 设置环境变量
方式一(推荐)
可以实现多个cuda
版本切换
vim ~/.bashrc
# 添加以下2行保存再执行source ~/.bashrc 或 bash 即可
export PATH=$PATH:/usr/local/cuda/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda/lib64
多个cuda
版本切换
ll /usr/local
lrwxrwxrwx 1 root root 20 3月 10 14:56 cuda -> /usr/local/cuda-10.0/
drwxr-xr-x 19 root root 4096 3月 10 14:56 cuda-10.0/
drwxr-xr-x 18 root root 4096 3月 9 21:17 cuda-10.1/
drwxr-xr-x 10 root root 4096 8月 30 2018 cuda-9.0/
...
现在使用的是cuda-10.0,如果要切换到cuda-9.0,只需执行以下命令:
rm -rf /usr/local/cuda
ln -s /usr/local/cuda-9.0 /usr/local/cuda
source ~/.bashrc # or bash
方式二
安装完毕后,再声明一下环境变量,并将其写入到 ~/.bashrc
的尾部:
# 如果没有/usr/local/cuda 执行:ln -s /usr/local/cuda-8.0 /usr/local/cuda
export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_ROOT=/usr/local/cuda:$CUDA_ROOT
然后设置环境变量和动态链接库,在命令行输入:
$ sudo gedit /etc/profile
在打开的文件末尾加入:
export PATH=/usr/local/cuda/bin:$PATH
最后source /etc/profile
看看是否出错
保存之后,创建链接文件:
sudo gedit /etc/ld.so.conf.d/cuda.conf
在打开的文件中添加如下语句:
/usr/local/cuda/lib64
然后执行
sudo ldconfig
使链接立即生效。
如果出现 以下错误
参考:http://blog.csdn.net/langb2014/article/details/54376716
解决方法:
sudo mv /usr/lib/nvidia-375/libEGL.so.1 /usr/lib/nvidia-375/libEGL.so.1.org
sudo mv /usr/lib32/nvidia-375/libEGL.so.1 /usr/lib32/nvidia-375/libEGL.so.1.org
sudo ln -s /usr/lib/nvidia-375/libEGL.so.375.39 /usr/lib/nvidia-375/libEGL.so.1
sudo ln -s /usr/lib32/nvidia-375/libEGL.so.375.39 /usr/lib32/nvidia-375/libEGL.so.1
2、TensorFlow安装
下载对应版本的Anaconda
切换到Anaconda下载目录执行 sudo bash Anaconda3-4.2.0-Linux-x86_64.sh
完成安装
补充:
anaconda更换源:
制定清华的下载源:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
创建环境
激活环境
安装pip
执行下面的命令安装TensorFlow
sudo pip3 install tensorflow-gpu==1.12.0 -i https://pypi.doubanio.com/simple
OK 安装完成!