本文主要是从一个全新的ubuntu操作系统安装和搭建基于GPU平台的tensorflow深度学习框架,以避免其中带来的过多的坑。
目录
setp 1:安装操作系统
ubuntu 1604系统安装(rc2,内核版本4.4.0)
可以执行sudo apt-get update
千万不可以执行sudo apt-get upgrade
#这样会升级内核到4.10,但是nvidia暂不支持这么高的内核,在安装后面的cuda和nvidia驱动方面会带来问题
step 2:安装nvidia显卡驱动
在http://www.nvidia.com/download/driverResults.aspx/122825/en-us选取对应系统和显卡的驱动程序
安装方法:(需要在root权限下完成)
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
step3:安装cuda
下载页面: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文件夹,分别执行:
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 #生成软链接
step5:安装tensorflow
首先安装pip并更新,具体命令如下所示:
sudo apt-get install python-pip python-dev
sudo pip install pip --upgrade
安装GPU版tensorflow
pip install tensorflow-gpu
step6:测试安装是否成功
执行脚本
import tensorflow as tf
hello=tf.constant(@H_404_255@'Hello,TensorFlow!')
sess = tf.Session()
print(sess.run(hello))
可以看到GPU的基本信息和程序正常结果。