第六周、机器学习-安装GPU版TensorFlow

1.确定自己电脑上的NVIDIA显卡型号

查看nvidia芯片信息:lspci |grep -i nvidia,会打印出nvidia系列的硬件信息

本人电脑显示:

~$ lspci |grep -i nvidia

08:00.0 3D controller: NVIDIA Corporation GK208M [GeForce GT 740M] (rev a1)

2.安装NVIDIA最新显卡驱动

从官网输入自己的显卡型号,本人的是GeForce GT 740M,Linux 64-bit。然后点击搜索,进入确认页面,点击下载。

先同时按下Ctrl+Alt+F1, 进入命令行页面, 输入用户名和密码登录。

首先关闭X Server(图形界面):

sudo/etc/init.d/lightdm stop

然后运行刚才下载的NVIDIA.run, 进行安装:

sudo sh NVIDIA.run   # 注意进入~/Download/目录下安装

安装中, 会遇到"The distribution-provided pre-instrall script failed", 可以无视, 继续安装. 但会出现关于Neuveau的问题, 好在NVIDIA会帮你把Neuveau给加到blacklist中, 只需要同意这么做就好, 但此次安装会失败, 退出, 这时需要输入:

sudo update -initramfs -u

然后键入reboot, 重启计算机。

 按Ctrl+Alt+F1进入命令行, 管理员登入, 关闭X Server, 然后安装NVIDIA驱动, 过程中会说NVIDIA会把其他X Server给遮蔽掉(大概这么个意思?), 同意即可, 然后便顺利安装. 之后reboot重启即可.

* 如果安装完毕后, 在登录界面循环登录, 即输入密码, 又退回的话, 关闭掉主板的Securt Boot,如果仍出现循环登录,则参考另一种方法,本人使用这种方法解决上述问题的。

3.安装CUDA8.0

第六周、机器学习-安装GPU版TensorFlow_第1张图片
选择CUDA型号

官网选择Linux-x86_64-Ubuntu-16.04-Runfile(local), 按Ctrl+Alt+T打开命令行, 运行:

sudo sh CUDA.run  # 注意进入~/Download/目录下安装

输入q关闭介绍文档, 键入accept同意安装, 之中有些地方需要选择, 本人只有对Sample选择的是no, 其他的都同意并使用默认路径, 即可以完成安装. 最后加入环境变量:

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

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

再通过以下命令让环境变量生效:

source ~/.bashrc

测试一下CUDA,运行:

nvidia-smi

会输出一个表格。

* 如果在安装CUDA时遇到空间不足的问题, 可以在运行CUDA.run时加入:

sudo sh CUDA.run --tmpdir=/opt/temp/

4.安装cudnn8.0

下载好的压缩包在~/Download目录中, 进入该目录,然后运行命令解压:

tar -zxvf cudnn.tgz

会得到五个文件, 将文件拷贝到对应的CUDA目录下即可:

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

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

sudo chmod a+r /usr/local/cuda/include/cudnn.h

sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

5.安装TensorFlow

根据官网, Ubuntu上可以有5种方式, 分别是利用: Virtualenv, "native" pip, Docker, Anaconda, 以及从Source安装. 在此使用Anaconda安装.

1. 安装Anaconda, 具体可参见Anaconda官网

2. 创建conda环境, 用命令:

conda create -n tensorflow  

若没有conda命令, 则需要

export PATH=$PATH:~/anaconda2/bin

激活conda环境, 此时命令行前多了(tensorflow):

这里是用户名 $ source activate tensorflow

(tensorflow) 这里是用户名 $

安装TensorFlow在conda环境中, 最后的连接是TensorFlow Python Package 根据需要来选择, 由于我使用GPU, Linux系统, Python3.6, 使用如下命令

(tensorflow)这里是用户名$ pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.2.1-cp36-cp36m-linux_x86_64.whl

安装完毕后, 尝试运行

(tensorflow)这里是用户名$ python

>>> import tensorflow as tf

如果可以运行, 恭喜安装成功。

之后可以通过如下命令来退出conda环境

(tensorflow)这里是用户名$ source deactivate tensorflow

本人遇到如下问题,不能运行import tensorflow as tf:

File "/home/johnnysu/anaconda3/lib/python3.6/imp.py", line 342, in load_dynamic

return _load(spec)

ImportError:libcudnn.so.5:cannot open shared object file: No such file or directory

Failed to load the native TensorFlow runtime.

Seehttps://www.tensorflow.org/install/install_sources#common_installation_problems

for some common reasons and solutions.  Include the entire stack trace

above this error message when asking for help.

解决方案如下:

添加路径

echo $PATH

/home/johnnysu/anaconda3/bin:/home/johnnysu/bin:/home/johnnysu/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

echo $LD_LIBRARY_PATH

/home/johnnysu/anaconda3/lib:/usr/local/cuda/lib64/:/usr/local/cuda-8.0/lib64/

然后仍然报错,参考别人的解决方案

pip uninstall tensorflow-gpu

pip install --upgrade tensorflow==1.2.0rc1

执行以下命令

python

>>> import tensorflow as tf

没有报错,安装成功。

你可能感兴趣的:(第六周、机器学习-安装GPU版TensorFlow)