当前位置:   article > 正文

ubuntu16.04新机状态配置tensflow记录(ubuntu16.04安装GPU驱动、CUDA8.0、cudnn6、tensorflow1.3)_ubuntu16 tensorflow 1.12 c++

ubuntu16 tensorflow 1.12 c++

主要参考的教程:https://blog.csdn.net/u010279699/article/details/72869200

-系统:ubuntu16.04 
-显卡:集显+独显(GTX1080) 

-位数:64位


但是还是有问题,所以记录一下我的过程。

一些操作指令:

打开文件夹 cd /home/

然后打开子文件夹(比如我的子文件名字是moonuke) cd moonuke/

列出文件夹内容 ls

获得最高权限运行:sudo chmod 777 文件 

关闭图形化界面:sudoservice lightdm stop

文件名太长了可以输一半用 TAB键补全

删除文件夹:sudo rm -rf 文件夹地址

新建文件夹 :mkdir -p 文件夹地址

打开图像界面查看系统文件: sudo nautilus

正式过程:

Ubuntu初始环境设置

  • 安装开发包 打开终端输入:
  1. # 系统升级
  2. >>> sudo apt update
  3. >>> sudo apt upgrade
  4. # 安装python基础开发包
  5. >>> sudo apt install -y python-dev python-pip python-nose gcc g++ git gfortran vim
  • 安装运算加速库 打开终端输入:
>>> sudo apt install -y libopenblas-dev liblapack-dev libatlas-base-dev

一、GPU驱动安装

1、下载nvidia显卡驱动 
我是在nvidia官网下载的驱动,我用的是NVIDIA-Linux-x86_64-375.39.run

2、屏蔽开源驱动 nouveau 
在终端输入下面的命令:

sudo gedit /etc/modprobe.d/blacklist.conf

接着在打开的blacklist.conf文件中添加如下代码:

  1. blacklist vga16fb
  2. blacklist nouveau
  3. blacklist rivafb
  4. blacklist nvidiafb
  5. blacklist rivatv
  6. (这里有一行空格)
Ctrl +C保存后注意此时还需执行以下命令使禁用 nouveau 真正生效终端输入 : sudo update-initramfs -

3、删除旧NVIDIA驱动 
若装之前有安装过nvidia的驱动,那么久先执行第一条语句,在执行第二条语句,若之前没有安装过nvidia驱动,那么就直接执行第二条语句。注意*为之前对应安装过的版本,自己根据自己的情况来

  1. sudo apt-get --purge remove nvidia-*(需要清除干净)
  2. sudo apt-get --purge remove xserver-xorg-video-nouveau

4、重启电脑 
5、按Ctrl + Alt +F1(F1~F6均可)到x-server, Ctrl+Alt+F7是返回 
6、关闭图形环境,否则驱动无法正常安装 
7、输入用户名密码登录,然后键入命令后执行(数字不能用小键盘输入)

sudo service lightdm stop

成功关闭服务后将出现:lightdm stop/waiting

8、进入驱动所在的文件夹,这里就是/home/*****, 
执行下面语句,这里的*****是你自己存放nvidia驱动run文件的地方

sudo sh NVIDIA*.run

后面就一路Accept就可以~报错The distribution-provided pre-install script failed!不必理会,继续安装。最重要的一步安装程序问你是否使用nv的xconfig文件,这里一点要选yes,否则在启动x-window时不会使用nv驱动。

9、重启 X-window 服务

sudo service lightdm start

10、查看显卡情况 
有两种方式可以查看: 
(1)glxinfo | grep rendering,若出现direct rendering: Yes,则显示安装成功(笔者没试过) 
(2)nvidia-smi,出现显卡的相关信息,则也表示成功

11、安装成功


二、CUDA8.0安装

1、准备工作 
一定要进行下面验证!!
(1)验证主机是否有nvidia的显卡

lspci | grep -i nvidia

(2)查看你的linux发行版本(主要是看是64位还是32位的)

uname -m && cat /etc/*release 

(3)看一下gcc的版本

gcc --version  

(4)查看自己的kernel版本信息

uname –r

输入下面的语句可以安装与内核版本对应的kernel header和package development

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

检查后,如果你的机子都满足条件的话,那么你就可以开始安装CUDA了,如果没有,你可以去官网下载安装指南,里面有对各种问题的解决办法

2、cuda8.0安装 
主要参考: 
http://blog.csdn.net/masa_fish/article/details/51882183 

下载:去CUDA官网下载对应的版本。

我的网盘cuda_8.0.61_375.26_linux.run:链接:https://pan.baidu.com/s/1mfsrcyVgdLkzK5CXiqprAg 密码:joar

(1)安装前的准备工作 
查看是否禁用nouveau,输入下面的命令,如果没有输出,就表示nouveau已经禁用了,如果有输出,则需要禁用

lsmod | grep nouveau

禁用方法: 
在在/etc/modprobe.d中创建文件blacklist-nouveau.conf,在文件中输入一下内容

  1. blacklist nouveau
  2. options nouveau modeset=0

然后,在终端运行

 sudo update-initramfs –u

(2)重启电脑,准备安装 
进入cuda_8.0.61_375.26_linux.run所在目录,执行下面的语句开始安装cuda

 sudo sh cuda_8.0.61_375.26_linux.run
(安装前面有很长的协议,按空格跳过)

可能遇到的选项: 
是否接受许可条款: accept 
重点!!是否安装NVIDIA driver:no (cuda提供的nvidia驱动版本比较低,并且我们已经安装了NVIDIA显卡驱动,所以这里就选择no) 
是否安装cuda toolkit : yes 
是否安装cuda samples:yes 

中间会有提示是否确认选择默认路径当作安装路径,按Enter键即可。

(3)配置环境变量 

  • 将CUDA路径添加至环境变量 在终端输入:
>>> sudo gedit /etc/profile

profile文件中添加:

  1. export CUDA_HOME=/usr/local/cuda-8.0
  2. export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
  3. export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

之后source /etc/profile即可

(4)安装后的检查工作 

- 检查 NVIDIA Driver是否安装成功,会输出nvidia的版本号
cat /proc/driver/nvidia/version 

这里写图片描述

-查看nvcc编译器的版本

nvcc -V i  

这里写图片描述

会得到相应的nvcc编译器相应的信息,那么CUDA配置成功了。(记得重启系统)

-编译cuda的示例代码 

切换到例子存放的路径,默认路径是 ~/NVIDIA_CUDA-7.5_Samples 
(即 /home/xxx/ NVIDIA_CUDA-7.5_Samples, xxx是你自己的用户名)
cd ~/NVIDIA_CUDA-6.5_Samples

接着输入在终端输入make命令进行编译。我在第一次make编译的时候吃饱了个错,说找不到g++文件夹,我安装g++后Sudo apt-get install g++,再次编译就没有出错了,编译时间有点长,若出现Finished building CUDA samples,就说明编译成功。

接下来进入1_Utilities目录,执行:$ ./deviceQuery/deviceQuery ,结果如下: 

这里写图片描述

看到RESULT=PASS就成功了!

三、CudannV6安装

安装参考:http://blog.csdn.net/u012177034/article/details/52102676

额 因为tensorflow1.3要求6.0的cudann .所以 我重新下了6的,不用5.1版本的了。

cudnn6.0链接:https://pan.baidu.com/s/1yRWhtS-sZOeSZ58tnXeE7Q 密码:o85g

重安装参考https://blog.csdn.net/elevanth/article/details/78597970


(这段不要了)去cudann官网下载和cuda8.0相对应的cudann,我下载的是cudnn-8.0-linux-x64-v5.1.tgz 

链接:https://pan.baidu.com/s/1G0vh029u4dzn9AhA1cHCOg 密码:b1w2

1、解压缩: tar xvzf cudnn-8.0-linux-x64-v6.0-ga.tgz
2、拷贝到cuda相应的文件夹下即可
  1. sudo cp ~/cuda/lib64/lib* /usr/local/cuda-8.0/lib64/
  2. sudo cp include/cudnn.h /usr/local/cuda-8.0/include/

3、进入/usr/local/cuda/lib64/,修改权限,复制完后需要将libcudnn*的权限都改为777,否则后面将不能执行~~~,编译时出现找不到Libcudnn.so或者libcudart.so.6.0文件的情况

  1. cd /usr/local/cuda/lib64/
  2. sudo chmod 777 libcudnn*

至此,cudnn的工作就结束了!

四、anaconda安装(先不装,装了好坑!!!!!)

由于本机的python版本是2.7,所以下载2.7对应的anaconda版本。 
1、进入到anaconda所在的文件夹,在终端运行:

 bash Anaconda2-4.1.1-Linux-x86_64.sh

2、在安装的过程中,会问你安装路径,直接回车默认就可以了。有个地方问你是否将anaconda安装路径加入到环境变量(.bashrc)中,这个一定要输入yes 

Do you wish to proceed with theinstallation of Microsoft VSCode? [yes|no] 选择yes

执行完成之后,关闭那个终端,重新打开一个,在终端输入“python”,如果出现下面的信息,说明安装成功:
Python 2.7.14 |Anaconda, Inc.| (default, Dec 7 2017, 17:05:42) 
[GCC 7.2.0] on linux2
Type "help", "copyright", "credits" or"license" for more information.

3、安装成功后,会有当前用户根目录下生成一个anaconda2的文件夹,里面就是安装好的内容。

关闭终端,重新打开一个.在终端可以输入conda info 来查询安装信息 

4、输入 conda list 可以查询你现在安装了哪些库,常用的python, numpy, scipy名列其中。 
5、 如果你还有什么包没有安装上,可以运行, conda install ***来进行安装,如果某个包版本不是最新的,运行  conda update *** 就可以了

五、tensorflow-gpu安装

这是官方的安装教程:

https://tensorflow.google.cn/install/

我使用Virtualenv 进行安装 

(在使用virtualenv时候遇到问题,原因后来找到是python2.7是在anoconda目录下的,系统找不到,所以bashrc文件把默认的python改成系统的就可以了 也同时把anoconda禁了用不了了- -早知道不装了)

到这个网址找tensorflow的安装包版本:https://pypi.org/project/tensorflow/#files

因为没有gpu版本的

我就到这个网址下下来需要的gpu版本的 然后本地安装:https://pypi.tuna.tsinghua.edu.cn/simple/tensorflow-gpu/

我之前下的是:tensorflow_gpu-1.8.0-cp27-cp27mu-manylinux1_x86_64.whl那个(这个需要cuda9.0版本)

我又重新下了:tensorflow_gpu-1.3.0-cp27-cp27mu-manylinux1_x86_64.whl(这个需要cuda8.0版本)


TF_PYTHON_URL是你要下载安装的tensorflow的版本的URL
pip install --本地地址


4、等到安装好之后就可以验证了 

请注意,每次使用 TensorFlow 时,您都必须激活 Virtualenv 环境。如果 Virtualenv 环境当前未处于活动状态,请调用以下命令之一:

 
$ source ~/tensorflow/bin/activate # bash, sh, ksh, or zsh$ source ~/tensorflow/bin/activate.csh # csh or tcsh

在 Virtualenv 环境激活后,您就可以从这个 shell 运行 TensorFlow 程序。您的提示符将变成如下所示,这表示您的 Tensorflow 环境已处于活动状态:

 
(tensorflow)$

用完 TensorFlow 后,可以通过发出以下命令调用 deactivate 函数来停用环境:

 
(tensorflow)$ deactivate

提示符将恢复为您的默认提示符(由 PS1 环境变量所定义)。

官方栗子: 先进入python环境,在终端输入: python 接着跑一个hello,Tensorlow的栗子
  1. >>> import tensorflow as tf
  2. >>> hello = tf.constant('Hello, TensorFlow!')
  3. >>> sess = tf.Session()
  4. >>> print(sess.run(hello))

结果如下: 
这里写图片描述








声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/95792
推荐阅读
相关标签
  

闽ICP备14008679号