本文主要是从一个全新的ubuntu操作系统安装和搭建基于GPU平台的tensorflow深度学习框架,以避免其中带来的过多的坑。
ubuntu 1604系统安装(rc2,内核版本4.4.0) 可以执行sudo apt-get update 千万不可以执行sudo apt-get upgrade#这样会升级内核到4.10,但是nvidia暂不支持这么高的内核,在安装后面的cuda和nvidia驱动方面会带来问题
在http://www.nvidia.com/download/driverResults.aspx/122825/en-us选取对应系统和显卡的驱动程序 安装方法:(需要在root权限下完成) 安装之前,为了保持和Linux自带的驱动兼容,需要将原始的驱动nouveau卸载。
vim /etc/modprobe.d/blacklist-nouveau.conf blacklist nouveau options nouveau modeset=0然后更新
sudo update-initramfs -u重启后,执行:lsmod | grep nouveau。如果没有屏幕输出,说明禁用nouveau成功。 接下来,需要禁用X-Window服务
sudo service lightdm stop #这会关闭图形界面,但不用紧张按Ctrl-Alt+F1进入命令行界面,输入用户名和密码登录即可。 然后开始安装nvidia驱动,命令如下:
dpkg -i nvidia-diag-driver-local-repo-ubuntu1604-384.66_1.0-1_amd64.deb#for Ubuntu (对应下载的版本) apt-get update apt-get install cuda-drivers reboot中间可能需要按照提示增加软件源 安装完成后,回复图形界面:
sudo service lightdm start #然后按Ctrl-Alt+F7即可恢复到图形界面下载页面:https://developer.nvidia.com/cuda-downloads 安装方法:
sudo dpkg -i cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb sudo apt-get update sudo apt-get install cuda配置环境变量: 在/etc/profile末尾位置添加变量
PATH=/usr/local/cuda/bin:$PATH export PATH然后执行命令source /etc/profile使其生效 配置链接路径: 在/etc/ld.so.conf.d/cuda{8.0}.conf文件的末尾添加:/usr/local/cuda/lib64 然后执行sudo ldconfig使之生效
测试安装是否成功: 在/usr/local/cuda/samples/文件夹下编译例子 执行sudo make all -j8 然后再进入/usr/local/cuda/samples/bin/x86_64/linux/release下面执行测试程序 以./deviceQuery为例,如果看到最后有pass通过,则安装成功,否则需要重新安装。
在https://developer.nvidia.com/cudnn页面注册并下载合适的版本 这里选用cudnn-8.0-linux-x64-v6.0版,下载的后缀名可能不一样,直接改成.tgz就可以了。 然后运行命令tar -zxvf cudnn-8.0-linux-x64-v6.0.tgz生成cuda文件夹。 进入cuda文件夹,分别执行:
cd cuda sudo cp include/cudnn.h /usr/local/cuda/include/ sudo cp lib64/libcudnn* /usr/local/cuda/lib64/ ## 设置权限,否则在tensorflow运行中会出错 sudo chmod a+r /usr/local/cuda/include/cudnn.h sudo chmod a+r /usr/local/cuda/lib64/libcudnn.so.6.0.21 #重新生成链接文件 sudo rm -rf libcudnn.so libcudnn.so.6#删除原有动态文件 sudo ln -s libcudnn.so.6.0.21 libcudnn.so.6 #生成软衔接 sudo ln -s libcudnn.so.6 libcudnn.so #生成软链接首先安装pip并更新,具体命令如下所示:
sudo apt-get install python-pip python-dev sudo pip install pip --upgrade安装GPU版tensorflow
pip install tensorflow-gpu执行脚本
import tensorflow as tf hello=tf.constant('Hello, TensorFlow!') sess = tf.Session() print(sess.run(hello))可以看到GPU的基本信息和程序正常结果。
