(超完整)Linux(debian9)服务器配置tensorflow环境:nvidia驱动、CUDA、cudnn、anaconda

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Star_code/article/details/76616958

从零开始使用Linux服务器,配置tensorflow环境使用服务器GPU资源。


一、 系统信息

debian9 (x64) GPU: 4*k20m

二、 首次登陆

安装xshell,建立新的用户连接(知道服务器IP以及用户账号密码),ssh登录服务器,命令行界面。
安装xftp,建立用户连接(ps.协议使用SFTP),用于文件的上传下载。

三、 配置环境

参考了官方教程: http://www.nvidia.com/object/gpu-accelerated-applications-tensorflow-installation.html
以及博客: http://blog.csdn.net/hejunqing14/article/details/73194795

1) 安装nvidia驱动

下载对应版本的驱动http://www.nvidia.com/Download/index.aspx?lang=en-us
这里写图片描述

下载完上传到服务器用户的home中,安装之前输入命令:

sudo apt-get install linux-headers-$(uname -r)

否则会有报错kernel not found,然后使用命令行安装:

sudo sh NVIDIA*.run

之后就是accept和yes,顺利装完,我安装的是375.66版本驱动。
也可以省略此步,在安装CUDA toolkit的时候安装自带的驱动(之后有问题可以再按此步安装驱动,未验证)。

2) 安装CUDA toolkit

在官网下载对应版本,https://developer.nvidia.com/cuda-downloads ,debian9系统选择了最新的ubuntu16.04对应的版本,选择runfile本地安装进行下载,下载之后同样上传到自己的home中。
这里写图片描述

命令行安装:

sudo sh cuda*.run

安装路径为/usr/local/cuda-8.0,根据是否执行了第一步选择是否安装驱动。安装完之后出现Summary内容,表示安装成功。

这里写图片描述

添加环境变量
用sudo vi打开/etc/profile,(vi的使用可以参考上一篇博客 http://blog.csdn.net/star_code/article/details/76584149
最后添加:

export PATH=/usr/local/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH

保存退出,通过

source /etc/profile 使更改生效。
nvcc –V 检查CUDA

CUDA安装完成!

插曲:
我遇到了一些错误:类似于 Toolkit: Installation Failed. Using unsupported Compiler,好像是gcc版本问题(这个不太明白,需要使用5以下的gcc)
最终解决办法参考了 http://www.yiflix.com/video-download/l6DsqePWkKzWnLM/installing_nvidia_driver_cuda-8.0_setup_cudnn_setup_in_debian_kali_ubuntu_etc..html
查看错误文件的记录,解压了.run文件,按记录复制粘贴了一些文件,最后使用命令:

sudo sh cuda*.run --override

最终成功安装。

3) 安装CUDNN

在官网下载cudnn-8.0-linux-x64-v5.1.tgz https://developer.nvidia.com/rdp/cudnn-download
需要注册登录才可以下载,下载完同样上传到自己home下面,解压:

tar -xvzf cudnn-8.0-linux-x64-v5.1.tgz

解压后是一个cuda文件夹

cd cuda
sudo cp include/cudnn.h /usr/local/cuda/include
sudo cp lib64/libcudnn.* /usr/local/cuda/lib64

CUDNN安装完成。

四、 添加普通用户

添加用户并建立home设置shell

sudo useradd -m -s /bin/bash userName

添加用户之后为其设置密码

sudo passwd userName

之后便可以使用这个用户登录,并在自己的home下安装tensorflow以及其他需要的环境了。

删除用户及其home

sudo userdel -r userName

五、 在用户home下安装anaconda和tensorflow

1) 登录服务器

使用新用户(以后就在此用户下工作)登录服务器,方法与首次登录相同。

2) 安装anaconda

在官网下载对应版本的anaconda,https://www.continuum.io/downloads ,我用的是最新的Linux(x64)python3.6的anaconda4.4.0。
同样将安装包上传到自己home下,使用命令:

sh Anaconda3-4.4.0-Linux-x86_64.sh

进行安装,安装目录为/home/userName/anaconda3
最后出现是否添加环境变量选择yes,如果选择了no,可以之后手动添加,方法如下:

vi .bashrc

在最后添加

export PATH=$PATH:/home/userName/anaconda3/bin:$PATH

保存退出

source .bashrc  

使其生效(ps.自动添加也需要source这一步)。

3) 安装tensorflow

直接使用pip安装tensorflow

pip install tensorflow-gpu

测试

import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))

期间出现如

这里写图片描述
这里写图片描述

最后输出“Hello, TensorFlow!” 表示已经可以使用GPU运行tensorflow。

4) 运行写好的tensorflow程序

还在学习中,可以将写好的*.py上传到自己home里面指定的文件夹中,进入该文件夹,执行

python *.py

就可以运行程序了。

至此一切安装完成!!!
历经坎坷,终于可以用服务器的GPU跑tensorflow了,感谢参考教程的提供者,有错误就上网查,你遇到的坑别人大都已经踩过并填平了。

ps. 第一次接触服务器,有语言不严谨和错误之处还望指出。

展开阅读全文

没有更多推荐了,返回首页