Tensorflow-gpu安装(附Centos7.4安装)

环境:Centos7.4+cuda9.0+cudnn7.4.1

首先踩过的坑:

1.安装完Nvidia驱动后无法进入图形化界面

2.安装完cuda后,import tensorflow时报ImportError: libcublas.so.9.0: cannot open shared object file: No such file...问题

第一个坑可在下文中找到解决答案

第二个坑:

原因1:cuda9.0以及cudnn7未能安装或正确安装。

解决方案:安装cuda及对应cudnn,已安装情况下检查路径usr/local/cuda-9.0/lib64下是否有 libcublas.so.9.0文件

原因2:tensorflow版本与cuda不对应。

解决方案:升级tensorflow

LZ是这个错误:安装的tensorflow-gpu1.12

下载cuda10.0,cuda9.2与对应版本的cudnn都发生这个错误

因为对应的tensorflow不能做到对上兼容,所以需要到官网查找好对于tensorflow-gpu版本对应的cuda、cudnn下载

原因3:路径未加入环境

这里是对应的用户方案

解决方案:sudo gedit ~/.bashrc    在文档尾部加上

export LD_LIBRARY_PATH=LD_LIBRARY_PATH:/usr/local/cuda-9.0/lib64/

如果之前添加过但写法与此不同,仍然报错,请按此格式添加,本人之前写的是

export  LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64$LD_LIBRARY_PATH,改成上边的写法就不报错了。

添加完路径之后别忘了 source  ~/.banshrc

如果要所有用户都可行

sudo gedit /etc/profile  在文档尾部加上

export LD_LIBRARY_PATH=LD_LIBRARY_PATH:/usr/local/cuda-9.0/lib64/

如果之前添加过但写法与此不同,仍然报错,请按此格式添加,本人之前写的是

export  LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64$LD_LIBRARY_PATH,改成上边的写法就不报错了。

 

Centos7.4系统的安装

这里系统安装还是利用启动U盘来安装系统。制作启动U盘是通过Refus软件来制作的,当然也可以通过其他常用启动U盘制作软件来制作(如老毛桃等)。

这里要注意选择分区是哪一种,GPT还是

 

Nvidia驱动的安装

首先centos等系统安装的都是自带的nouveau驱动,所以我们需要先禁用该功能

以下功能最好在root用户下进行,防止权限不够

sudo vi /etc/default/grub
添加`rd.driver.blacklist=nouveau` 在开头

之后

vi /lib/modprobe.d/dist-blacklist.conf

blacklist nvidiafb 前面加#

之后添加 

blacklist nouveau

options nouveau modeset=0将其加入黑名单

下一步备份镜像

1.备份镜像 sudo mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak

2.重建镜像 sudo dracut -v /boot/initramfs-$(uname -r).img $(uname -r)

之后可以重启reboot

启动之后:

lsmod | grep nouveau

没有输出即为屏蔽好了

随即开始安装Nvidia驱动

首先去Nvidia官网下载与自己电脑显卡对应的驱动

我们这里的驱动安装最好在Cuda安装后再进行安装,不然会出现玄学错误ImportError: libcublas.so.9.0:

进入到下载的文件下,一般火狐下载的是在下载文件下,建议将文件移动到英文文件夹下,因为纯命令行界面显示不了中文字符

首先修改文件权限可执行 755// chmod 755 NV*

注意:这里有坑Nvidia默认安装opengl,而这个会与Gnome桌面冲突,就会造成开机无法进入图形化界面的问题

因此:

安装nvidia时执行:sh NV* --no-opengl-files

Cuda9.0以及Cudnn7.4.1安装

Cuda9.0与Cudnn7.4.1都可以通过官网下载,只是Cudnn需要先进行登陆,需要注册一个nvidia官网帐号

这里给出链接:

Cuda9.0

Cudnn7.4.1

Cuda这里我们通过runfile文件进行安装

首先centos7 切换到root用户下//su root

之后进入到纯命令行multi-user化界面输入//init 3

进入到下载的文件下,一般火狐下载的是在下载文件下,建议将文件移动到英文文件夹下,因为纯命令行界面显示不了中文字符

首先修改文件权限可执行 755// chmod 755 cuda_9.0*

执行run文件// ./cuda_9.0*             // *是通配符,可输入文件全名

这里第一个弹出的选no 因为我们后面自己安装对应版本的Nvidia驱动

后面都可以选默认的,重写xconfiguration 根据自己情况

Cudnn的安装

进入对应文件夹下面

1 tar -zxvf cudnn-9.0-linux-x64-v7.1.tgz
2 sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
3 sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/ -d
4 sudo chmod a+r /usr/local/cuda/include/cudnn.h
5 sudo chmod a+r /usr/local/cuda/lib64/libcudnn* 

两个都安装好后就可以输入nvcc -V看输出的信息了

Tensorflow-gpu的安装

这里可以通过python的pip直接安装,以下为Centos python3.6.1安装教程

在make编译之前一定要先安装openssl-devel,不然会出现pip安装错误的情况

1、检查python版本

[root@bogon ~]# python -V
Python 2.7.5
[root@bogon ~]#

2、安装必要的库文件

  # yum -y install zlib zlib-devel gcc

3、下载python3.6.1

  # wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz

  

  用base镜像源下载安装openssl-devel

  yum --enablerepo=base --enablerepo=updates install openssl-devel

  因为新版的pip默认要使用SSL,可以通过设置修改,先安装openssl-devel,然后编译安装,只是在编译的过程中加入 --enable-optimizations(优化构建python)

4、解压安装

  # xz -d Python-3.6.1.tar.xz

  # tar -xvf Python-3.6.1.tar

  # cd Python-3.6.1/

  # ./configure --prefix=/usr/local/python3 --enable-optimizations

  # make && make install

5、永久添加环境变量

  # vim/etc/profile

  添加 export PATH="$PATH:/usr/local/python3/bin"

  添加完成后 source /etc/profile

  **临时添加环境变量为 # export PATH="$PATH:/usr/local/python3/bin" 终端结束后环境变量生效

6、打开python3.6

[root@bogon ~]# python3
Python 3.6.1 (default, May 19 2017, 04:11:00)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-11)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

7、修改/usr/bin/python链接//这步可有可无,根据自己是否需要保留python2决定

  # cd/usr/bin

  # mv python python.bak

  # ln -s /usr/local/python3/bin/python3.6 /usr/bin/python

  # ln -s /usr/local/python3/bin/python3.6 /usr/bin/python3

  修改后可直接用 # python打开python3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值