文章目录
1、前言(很重要)
花了一个多星期最后终于把环境搭建好了,看了很多博客,很感谢网友的帮助。下面步入正题,如果需要安装tensorflow-gpu版本,一定要先提前查清楚显卡驱动、cuda、cudnn以及tensorflow-gpu之间的版本对应关系,这很重要、很重要、很重要,如果时间允许的话,建议全部看完本篇博客再进行下载。
2、Ubuntu16.04.1安装显卡驱动
2.1、准备工作
先查询cuda对应的驱动版本,点这里
如图所示:
然后查询推荐的显卡驱动版本,注意与上面的所查询的结果对比
ubuntu-drivers devices
如果什么都没有显示,直接使用命令
lspci -k | grep -A 2 -i "VGA"
可以查看你的显卡型号是什么,然后再去官网查看推荐使用的显卡驱动。如图所示
2.2、安装过程
1、安装前先按F2进Bios,在显卡模式Graphic Device的Switchable Graphice和Discrete Graphic 两个里边选择后者,即改为选择显卡直连模式。
2、可以使用usb数据线连接手机进行数据网络共享
安装NVIDIA驱动有多种方式,我使用的方式是下载.run文件进行安装。
由于电脑安装了NVIDIA的开源驱动nouveau, 所以我们先要将其屏蔽掉, 屏蔽方法是将其放入blacklists中。
lsmod | grep nouveau
使用该命令可以发现系统已载入的nouveau模块。
禁用nouveau模块
1、打开禁用设置文件
sudo gedit /etc/modprobe.d/blacklist-nouveau.conf
2、在blacklist.conf文件的最后一行输入:
blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist rivatv
blacklist nvidiafb
3、使环境变量生效
sudo update-initramfs -u
重启电脑
sudo reboot
重启之后,按ctrl+alt+f5
进入文字界面,输入如下指令
sudo service lightdm stop # 关掉图形化界面
cd Downloads # 需要进到下载的.run 文件目录
ls # 可以查看该目录下是否有你下载的驱动.run文件
sudo chmod 777 ./NVIDIA-Linux-x86_64-430.09.run # 给.run文件权限,这里可以利用teb键自动补全文件名
sudo ./NVIDIA-Linux-x86_64-375.66.run # 运行下载的驱动安装包
sudo service lightdm start
sudo reboot
重启系统之后,输入下面命令查看是否成功安装显卡驱动
nvidia-smi
如图片所示即表示安装驱动成功
至此,NVIDIA驱动已经安装完成。
如果安装完NVIDIA驱动之后,会一直再登陆界面循环,解决方法如下:
按ctrl+alt+f5
进入文字界面,执行下面的命令
sudo apt-get install autoremove --purge nvidia*
这样会删掉你所下载的驱动。因为Ubuntu自带了显卡驱动,所以之后你可以登录图形化界面操作,可以继续按照上的步骤,重新下载其他的版本的NVIDIA驱动进行安装。
3、Ubuntu16.04.1安装cuda8
3.1、查看内核是否符合cuda8的要求
到官网可以查看CUDA的安装方法这里也不一定需要对应图上的内核版本,使用高版本的内核也可以安装成功cuda
3.2、安装过程
官网下载需要的CUDA版本
cd Downloads # 进入下载的cuda文件目录
ls
sudo chmod 777 cuda_8.0.44_linux.run # 赋予文件权限
sudo ./cuda_8.0.44_linux.run
因为驱动之前已经安装,这里就不要选择安装驱动。其余的都直接默认或者选择是即可.
安装完成后,开始配置cuda的环境变量
打开bashrc 文件
gedit ~/.bashrc
在文件尾部写入
export PATH=/usr/local/cuda/bin:${PATH}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:${LD_LIBRARY_PATH}
# 更新一下
source ~/.bashrc
nvcc -V
表示安装成功了
4、Ubuntu16.04.1安装cudnn6
下载cudnn
注册一个账号之后,进行下载
下载这个.tgz文件
然后进入下载的文件目录,解压文件
tar -xf cuda.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda/include/ #复制头文件
sudo cp cuda/lib64/lib* /usr/local/cuda/lib64/ #复制动态链接库
sudo chmod a+r /usr/local/cuda/include/cudnn.h
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
5、Ubuntu16.04.1安装tensorflow-gpu1.4.0
5.1、安装准备
安装tensorflow-gpu是最头疼的,各种报错,所以最好先安装anaconda,需要注意的是anaconda要选择带了python3.5或者python3.6的版本,这是因为我是选择先下载tensorflow-gpu.whl文件进行安装,因为使用pip install -i 镜像地址 tensorflow-gpu==1.4.0,会提示找不到要求的版本,所以我这里直接利用.whl文件安装,
清华:https://pypi.tuna.tsinghua.edu.cn/simple
阿里云:http://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
华中理工大学:http://pypi.hustunique.com/
山东理工大学:http://pypi.sdutlinux.org/
豆瓣:http://pypi.douban.com/simple/
选择使用清华源下载.whl文件
这也是为什么建议选择下载自带了python3.5或者python3.6的anaconda,而且先安装好anaconda,会加快tensorflow的安装过程
查看自带了python3.5或者python3.6的anaconda
利用清华镜像下载对应的anaconda文件
cd Downloads/
运行sh文件
bash Anaconda3-5.2.0-Linux-x86_64.sh
注意看安装过程中的提示,基本都是输入yes,提示信息“Do you wish to proceed with the installation of Microsoft VSCode? [yes|no]”,输入no,这是安装VScode编辑器,如有需要也可以安装
输入
python --version
5.2、安装过程
上面已经下载好了tensorflow-gpu的whl文件,使用命令
pip --default-timeout=100000 install tensorflow_gpu...whl # 这里是你下载的tensorflow的文件,可以用teb键快速补全
安装过程可能会特别慢,只能慢慢等待了
我这里出现了numpy>=1.11.0的错误,这是因为我当时没有先装anaconda,通过
pip list
可以查看安装的package,如果已经有了numpy,可以先卸载,再安装提示的版本
pip --default-timeout=100000 install numpy==1.11.0
一般安装tensorflow的过程中遇到这种问题,都可以根据错误提示安装对应的package
python
>>> import tensorflow as tf
> x = tf.constant("Hello world!")
> sess = tf.Session()
> print(sess.run(x))
能打印helloworld表示tensoflow安装成功