一文贯通 CentOS 7 下安装tensorflow-gpu

时间:2024-04-12 10:09:36

踩了很多坑,综合了很多博主文章,在此表示感谢,自己记录一下这个过程。

安装这东西,谁都得踩很多坑,废话不多说,按步骤装一次就明白了,一句话:能装好就行!

(代码均以黑色加粗显示,方便查看)。

 

我的机器配置:CentOS 7\ NVIDIA Corporation GM107GL [Quadro K620]

需要下载的工具(以下只针对与我同型号的朋友直接拿来用):

1.      系统对应的显卡驱动:这个需要查找自己显卡对应的驱动程序

2.      Cuda

3.      Cudnn

4.      Tensorflow
下载:

 

**一定要注意**
1. 对应的显卡安装对应的显卡驱动,对应的cuda cudnn 安装对应的tensorflow(下方红框是该文对应的安装
即:tensorflow_gpu-1.2.0, python 3.6, cuDNN 5.1, CUDA 8);
2. 之前我还考虑过是否需要先进入tensorflow环境(source activate tensorflow)再安装,后来发现我的考虑是多余的;
3. 一直在root登录下安装。

一文贯通 CentOS 7 下安装tensorflow-gpu

安装前查看相关信息:

# lspci | grep –i vga   (查看电脑对应显卡信息)

一文贯通 CentOS 7 下安装tensorflow-gpu

# nvidia-smi   (查看显卡详细信息)(如果不安装驱动并不能看到内容)

一文贯通 CentOS 7 下安装tensorflow-gpu

cat /proc/version (查看电脑相关信息)
一文贯通 CentOS 7 下安装tensorflow-gpu

 #  gcc --version
一文贯通 CentOS 7 下安装tensorflow-gpu

安装前的准备工作:

# yum upgrade

# yum groupinstall"Developmenttools"    (这一步有可能报错或者显示不存在啥的,不用管他)

# yum install wget gcc make epel-release -y    (这一步有可能报错或者显示不存在啥的,不用管他)

# yum install zlib-develbzip2-developenssl-devel ncurses-devel SQLite-devel readline-devel tk-develgdbm-develxz-devel systemtap-sdt-devel -y

# yumupgrade

 

安装gccg++编译器(如果已经安装好了的话,会提示“无需任何安装”的字样)

# yum install gcc

# yum install gcc-c++

安装kernel-develkernel-headers(如果已经安装好了的话,会提示“无需任何安装”的字样)

# yum install kernel-devel

# yum install kernel-headers
# uname -r  (检查 Kernel headers 的版本,如果正确安装则有显示)

 一文贯通 CentOS 7 下安装tensorflow-gpu

# sudo yum install epel-release

# yum install --enablerepo=epel dkms

 

root 权限下输入
# init3
该模式为纯文本模式,对应的还有
# init 5
(图像模式)

 

****接下来就可以安装显卡驱动和CUDA了****

 针对不同机器,下载显卡驱动:https://www.nvidia.cn/Download/index.aspx?lang=cn
需要注意除了自身配置的选择外,要注意语言,最好选择英语
一文贯通 CentOS 7 下安装tensorflow-gpu
下载CUDA
一文贯通 CentOS 7 下安装tensorflow-gpu

安装显卡驱动和 Cuda

指定到对应的文件所在位置:
# cd /usr/tmp/tensorflow-gpu
(这是我的文件所在的路径)

 

都按照默认制定的选项安装就好:

# sh ./NVIDIA-Linux-x86_64-375.66.run

# sh cuda_8.0.61_375.26_linux.run

 

安装好后还需要修改配置文件:

# vi ~/.bashrc 
vi 命令为在terminal终端中进入文本编辑的方法,有的是vim有界面还可以gedit ~/.bashrc方法进入)
Insert键,进入插入模式:

#gpu driver 

export CUDA_HOME=/usr/local/cuda-8.0 

exportPATH=/usr/local/cuda-8.0/bin:$PATH 

exportLD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH 

exportLD_LIBRARY_PATH="/usr/local/cuda-8.0/lib:${LD_LIBRARY_PATH}"


Esc 键, 并输入
# wq
表示写入并退出。


修改之后需要**所修改的配置文件:

# source ~/.bashrc
然后重启服务器
# reboot

 

接下来就可以通过查看显卡信息测试驱动是否安装成功:

# nvidia-smi
一文贯通 CentOS 7 下安装tensorflow-gpu

有显示,说明显卡驱动安装成功,继续闯关!

测试CUDA是否安装成功:

# cd /usr/local/cuda/samples/

如果安装成功了的话,上面这个文件夹是可以进去的

# make(这步运行时间比较长,不要以为存在问题)

# ./bin/x86_64/linux/release/deviceQuery

#./bin/x86_64/linux/release/bandwidthTest

显示 Result = PASS 则测试通过

 

安装CUDNN

指定到对应的文件所在位置:
# cd /usr/tmp/tensorflow-gpu
(这是我的文件所在的路径)

$ tar -zxvf cudnn-8.0-linux-x64-v6.0.tgz

$ cd cuda

$ cp include/* /usr/local/cuda-8.0/inlcude/

$ cp lib64/lib* /usr/local/cuda-8.0/lib64/

安装Tensorflow 1.2.0

这个就比较简单了!

指定到对应的文件所在位置:
# cd /usr/tmp/tensorflow-gpu

(这是我的文件所在的路径)
先创建Tensorflow环境,这个很多文章都有说明,直接搜索tensorflow安装就好,

进入环境:

# source activate tensorflow

# pip install  tensorflow_gpu-1.2.0-cp36-cp36m-manylinux1_x86_64.whl

搞定!

报错:

1.      最常用也最容易忽略的解决方法:

$reboot(重启)

很多安装都是在重启之后才起效果,所以如果按照代码都运行了还报错,那就重启再试试;

2.       

Installing the NVIDIAdisplay driver...

The driver installationis unable to locate the kernel source. Please make sure that the kernel sourcepackages are installed and set up correctly.

If you know that thekernel source packages are installed and set up correctly, you may pass thelocation of the kernel source with the '--kernel-source-path' flag.

 

解决方法:

sudo yum install epel-release

yum install --enablerepo=epel dkms