Centos下tensorflow环境搭建

Centostensorflow环境搭建

  最近辛顿的动态路由的一篇论文相当的火,大家都十分的关注,当然也有一些大牛们使用代码实现了他的想法,我在导师的指导下准备去跑下代码,试着去理解琢磨。但是无奈的是个人的笔记本配置还是太渣了,所以在导师的帮助下从学院弄过来一个账号(哈哈 我现在是直接用的老师的账户),开始搭这个环境,但是这个账户在普通节点下并不支持GPU的运算,实际上我们需要通过命令 $  ssh  节点名称 ,跳转到合适的节点下然后执行相应的命令,才能查看到具体的信息。

下面是我的安装状况:

1、通过putty这个远程工具连接学校的服务器进行远程操作安装

2、登录的账户是$账户,不是#账户,有些权限(比如sudo)不能使用

3、登录账户以后需要节点的跳转,进行安装操作

安装这个实验环境需要我们安装的有显卡驱动、cuda、cudnn(加速库 可选安装)、anacoda3、tensorFlow、keras。linux懂得不多实属小白整个环境配了三天才算基本完成,

现在把我安装的过程记录下来做一个笔记,可供大家和日后自己参考。

一、系统自身环境信息
1.1查看当前的python版本,当前版本为2.7.5

 

1.2查看操作系统类型, CentOS Linux release 7.2.1511 (Core)

命令:$  lsb_release -a

 

1.3查看系统位数,64位

命令:$  getconf LONG_BIT

 

1.4查询显卡信息,

命令:$  lspci |grep -i vga

 

当时就纳闷了,学校提供做实验不可能没有nvidia显卡啊,况且 VGA compatible controller: ASPEED Technology, Inc.

是个什么玩意?百度了下这是服务器的集成显卡,仅仅只能提供基础的显示功能,其实这个命令,nvidia显卡显示不出来(视具体的机器而定,有些机器却能查出来)。这个时候,对于nvidia显卡的话可以用nvidia-smi命令来查

命令 $  nvidia-smi

 

  看到这个消息,还是比较兴奋的  第一个是终于查出来有nvidia显卡了  第二个便是这个显卡相当高端啊(GPU性能图
下面对这个图中的内容做一个简单的解读:

(1)第一列  GPU:编号0、1 

       Fan:GPU的风扇转速,N/A【智能温控,本栏目(对我)不适用,填N/A是用来占位,防止留空】

(2)第二列  Name:型号Tesla K80、Tesla K80

         Temp: 温度,单位摄氏度。

(3)第三列  Perf:性能状态,P0~P12,P0表示最大性能,P12表示状态最小性能。

(4)第四列  Persistence-M:持续模式的状态

         Pwr:能耗

(5)第五列  Bus-Id: GPU总线,domain:bus:device.function

(6)第六列  Disp.A:Display Active,表示GPU的显示是否初始化。 

 Memory Usage 显存使用率。

(7)第七列  Volatile GPU-Util 浮动的GPU利用率。

(8)第八列 Uncorr. ECC   ECC是“Error Checking and Correcting”的简写,“错误检查和纠正”Compute M是计算模式。

1.5既然有显卡,那么我们需要看看显卡驱动是否安装

命令# glxinfo | grep rendering

 

  显然因为权限问题,我无法查看该文件,所以我就默认已经装好了,就接着往下一步了,对于显卡驱动的查询与

安装大家可以参考centos安装nvidia显卡驱动的方法


2、以上的环境准备就绪我们就要准备安装cuda了(点击了解

  点击cuda Toolkit 进入下载页,下面会提供给你相应的选择,你需要根据具体情况选择一个合适的版本。

 

  红色箭头的部分指示了如何去安装,这里附上一个安装教程由于这一步操作需要更改配置文件,再一个我查询到了相应的文件,所以我默认安装,就接着下一步。

#写入bashrc文件保存
#gpu driver
export CUDA_HOME=/public/software/cuda-8.0
export PATH=/public/software/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/public/software/cuda-8.0/lib64:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH="/public/software/cuda-8.0/lib:${LD_LIBRARY_PATH}"


安装教程给的路径是他的cuda安装路径,我们需要在自己的机器上找到相应的安装路径。这是我的配置文件,主要是关于anaconda和cuda的配置。

 

3、安装Cudnn(这里是它的介绍),从官网下载需要注册账号申请,两三天批准

  网盘搜索一般也能找到最新版。下载解压出来是名为cuda的文件夹,里面有bin、include、lib,将三个文件夹复制到安装CUDA的地方覆盖对应文件夹,在终端中输入以下的命
令安装:

$  sudo cp include/cudnn.h /usr/local/cuda/include/

$  sudo cp lib64/* /usr/local/cuda/lib64/

$  cd /usr/local/cuda/lib64

$  sudo ln -sf libcudnn.so.5.1.10 libcudnn.so.5

$  sudo ln -sf libcudnn.so.5 libcudnn.so

$  sudo ldconfig -v

  这个库的安装是可选的,意思是可以安装,也可以不安装,由于又是使用了sudo命令,我的账户权限问题,我就跳过了,如果我需要安装那么就需要先下载到本地,然后通过本地文件去安装。

 

4、安装anacoda3

  它是一个用于科学计算的Python发行版,支持 Linux, Mac, Windows系统,提供了包管理与环境管理的功能,可以很方便地解决多版本python并存、切换以及各种第三方包安装问题。Anaconda利用工具/命令conda来进行package和environment的管理,并且已经包含了Python和相关的配套工具。其实我实际上的安装操作时从这里开始的,花了好长时间在前面那部分的琢磨上,这里给出Anaconda的一个安装链接,老师分享的还是相当给力。

 

 

  由于账户或者网络的问题,我必须将文件下载到本地,红色箭头是导师从国外下载下来又传给我的,我通过ftp上传到服务器个人目录的temp文件夹下,如红色箭头所示。接下来的安装操作时照着上面的安装链接走的。其中也遇到一些奇特的故障。

$  bash Anaconda3-5.0.1-Linux-x86_64.sh

$  bash Anaconda3-5.0.1-Linux-x86_64.sh -u

  第一条命令我连续执行两次都失败了,第二条命令我也执行了两次,在第四次执行的时候居然成功了,这点一直是个疑问,幸好还是多试了几次。
  anacoda3安装成功以后,再次输入python命令,发现版本已经从2.7更新到3.6.


说了它的安装,也说明一下卸载,原因在于我尝试的次数太多,总觉得里面的文件太繁琐,准备卸了重来。

由于Anaconda的安装文件都包含在一个目录中,所以直接将该目录删除即可。删除整个Anaconda目录:

rm -rf anaconda  

最后,建议清理下.bashrc中的Anaconda路径。

5、接下来就要进行tensorflow的安装了

  安装教程在anacoda3安装时打开的链接也有相关的说明,如果你的账户不像我的一样这样特殊,按照这里面的过程去走应该是没有什么问题。但是我的情况不一样,是需要先将版本下载到本地,可以看到我的temp文件夹下面有很多的tensorflow的版本,我试过好多种版本,其实最重要的是它提示你哪个版本可用,那就应该使用哪个版本。

[xxbai@w740_GPU ~]$

anaconda search -t conda tensorflow

当输入完成这个命令后下面会列出好多可以使用的版本,当然是需要选用适合的版本进行安装


有两种办法:

第一:在网上打开清华大学的镜像下载到本地,通过上传到服务器,执行以下命令安装

$ install tensorflow_gpu-1.4.0-cp27-cp27mu-manylinux1_x86_64.whl

$ conda install tensorflow_gpu-1.4.0-cp27-cp27mu-manylinux1_x86_64.whl

$ pip install --upgrade tensorflow_gpu-1.4.0-cp27-cp27mu-manylinux1_x86_64.whl
$ pip install --upgrade tensorflow_gpu-1.4.0-cp27-cp27mu-manylinux1_x86_64.whl
$ pip install --upgrade tensorflow_gpu-1.0.1-cp36-cp36m-linux_x86_64.whl

$pip install tensorflow_gpu-1.2.0-cp36-cp36m-linux_x86_64.whl

 以上的命令我都执行过,当然相应的文件有都在我的本地,第一条命令本身就是错的,中间三条都说版本不支持,其实我也想支持导师的意见,安装最新版,但是cuda-8.0和tensorflow版本有对应,根据博客资料,所以我安装的是1.2版。既然安装成功了,我们就需要测试一下。

#import tensorflow moudle
import tensorflow as tf
# Creates a graph.
a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')
b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')
c = tf.matmul(a, b)
#open a session
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
print(sess.run(c))


当看到关于你的gpu的日志信息,并输出了结果,就说明安装成功了。


第二:输入 anaconda show * 这条命令,其中的*代表是你查询到的可用包名


 这里有好多版本供我使用,现在我们就需要选中一个,执行命令找到安装方法。(由于我使用的是学院的服务器,有些版本的网址是访问不到的,还好我发现了intel的tensorflow版本,而且可以访问)

anaconda show intel/tensorflow

下面就执行所给的安装方法,上面给了我两个,我选择了用conda的方式,命令执行完毕,也就安装完毕了。

接下来进行测试:


没有报错,那就说明我们已经成功安装tensorflow了。

插曲

不知道尝试了多少个版本都失败了,所以重点是需要我们知道如何卸载tensorflow.

如果安装的是非GPU版本的  执行  pip uninstall tensorflow 

如果安装的是GPU版本的  执行 pip uninstall tensorflow-gpu


关于tensorflow 版本的说明,我安装了1.2版本以后,简单代码测试成功了,但是跑其它代码出现了以下的错误。

2017-12-16 23:32:48.328871: E tensorflow/stream_executor/cuda/cuda_dnn.cc:359] could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR

2017-12-16 23:32:48.328919: E tensorflow/stream_executor/cuda/cuda_dnn.cc:326] could not destroy cudnn handle: CUDNN_STATUS_BAD_PARAM

2017-12-16 23:32:48.328934: F tensorflow/core/kernels/conv_ops.cc:671] Check failed: stream->parent()->GetConvolveAlgorithms(&algorithms)

Aborted (core dumped)

我一直怀疑是环境变量上的问题,这里没有解决的了。不过放上三个相同问题的链接以供以后参考。

https://github.com/tensorflow/tensorflow/issues/8879

https://github.com/CharlesShang/TFFRCNN/issues/97

https://stackoverflow.com/questions/43147983/could-not-create-cudnn-handle-cudnn-status-internal-error 

干脆把1.2卸载了,重新装上1.4,但是又出现一个新的问题。

libcudnn.so.6: cannot open shared object file: No such file or diretory 

网上找了下原因,主要是tensorflow-gpu1.3及其以上的版本 使用的是cudnn6,我的cuda里面的libcudnn版本是5.1,所以是版本不兼容,解决办法有两个:

一是安装低版本的tensorflow-gpu,参考说明

二是更新libcudnn到相应的版本,如何更新这里附加参考链接

6、接下来就要安装python科学计算模块numpy了,下载地址

  下载完成以后上传到服务器,你可以看到我的temp文件夹下有一个numpy-1.11.2的文件,执行以下命令可以成功安装。

unzip numpy-1.9.0.zip    

cd numpy-1.9.0     

python setup.py install  
当然,如果你的环境不像我的一样,也可以采用简单办法,此处是安装指导1,安装指导2安装成功当然也要测试一下了:

 

没有报错,说明安装成功。

接下来还可以查看安装的位置以及版本,不多说见截图。



7、安装Keras(中文文档

  他的普通模式安装大家参考配置指南,不过还是老问题,这里我使用git 克隆的方法安装,这样方法下载速度还是相当可观的。进入到你的文件所需要存放的位置,然后执行下面的三条命令即可成功安装。

$  git clone https://github.com/fchollet/keras.git

$  cd keras

$  python setup.py install

最后测试一下:

 

没有报错,说明成功安装。

至此整个安装过程全部结束,最后感谢导师的帮助。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值