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
官网选择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
没有报错,安装成功。