本篇文章主要讲解在Ubuntu16.04环境下,搭建TensorFlow框架,主要是GPU版本的。cpu版本相对比较简单,网上教程应该也比较详细。记得有个人说过,没有GPU,还搞什么深度学习。
安装TensorFlow有以下几种方法,通过Docker安装,通过pip安装以及从源码安装。
这里我是使用pip安装。pip是一个安装、管理Python软件包的工具,通过pip可以安装已经打包好的TensorFlow以及TensorFlow所需要的依赖关系。这里需要说明的是,因为是在Linux环境下搭建,所以基本的复制粘贴删除解压命令要熟悉,但是我要说的是,就算是零基础的同学,也依然可以独立安装成功。因为不会的命令网上都可以查到。
需要使用到的一些软件包有 显卡驱动、CUDA8.0、Cudnn8.0-linux-v6.0等。下面我会按顺序讲解到。
首先,第一步,安装显卡驱动。
先看一下自己的电脑对应的驱动版本。
使用命令:ubuntu-drivers devices 会显示一个recommend的驱动版本。一般是三位数的,比如1080的显卡是384,950对应的是375或者在这里搜一下就好了。
得到版本号之后,输入命令:
sudo apt-get install nvidia-384 //最后三位是自己显卡驱动的版本号
第二步,安装CUDA8.0,点这里下载,点我点我
本博客里面的所有需要下载的资源,如果由于各种原因,无法下载到,私信我,我及时传给你。
进去之后,我们选择Linux->x86_64->Ubuntu->16.04->runfile(local)
注意:以上只是一种下载CUDA8.0的方式。
当然你可以通过命令一步到位:wget https://developer.nvidia.com/compute/cuda/8.0/Prod2/local_installers/cuda_8.0.61_375.26_linux-run
然后就是这个命令:
sudo sh cuda_8.0.61_375.26_linux.run --override --silent --toolkit
安装的cuda在/usr/local/cuda下面。
第三步,安装Cudnn 8.0 v6.0,注意这里一定要装6.0的,不然后面会出现这种问题:
(假设你装的是v5.0的)ImportError:libcudart.so.6.0:cannotopen shared object file:No such file or directory
如何安装和下载? 用以下几条命令即可:
首先是: wget http://developer.download.nvidia.com/compute/redist/cudnn/v6.0/cudnn-8.0-linux-x64-v6.0-rc.tgz
然后,是这样的:sudo cpcudnn-8.0-linux-x64-v6.0.tgz /usr/local/cuda
接着:
cd /usr/local/cuda
tar -xzvf cudnn-8.0-linux-x64-v6.0.tgz
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/usr/local/cuda/lib64/libcudnn*
最后就是,将以下两个路径加入到环境变量中。
具体做法是,输入 vim ~/.bashrc意思是用vim编辑器
输入i进入编辑模式,在末尾添加:
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"
export CUDA_HOME=/usr/local/cuda
然后保存并退出。
最后,输入pip install tensorflow-gpu就可以大功告成。
来测试一下吧。
$python
>>> import tensorflow as tf
>>> hello = tf.constant('Hello,TensorFlow!')
>>> sess = tf.Session()
>>> sess.run(hello)
'Hello,TensorFlow!'
>>> a = tf.constant(10)
>>> b = tf.constant(32)
>>> sess.run(a + b)
42
当然,在真实安装的时候,可能由于版本不一致、安装包缺失等各种各种的问题,我们要做的只是上网搜解决方案,然后愉快地进行深度学习模型的训练。欢迎留言骚扰