终于完成了GPU的TensorFlow环境搭建,记录下来给大家作为参考。
感谢大佬的博文让我完成了大部分工作:
http://blog.csdn.net/leijiezhang/article/details/53688157
[一]硬件以及安装先后顺序介绍:
1.1.显卡(getforce 10 系列--GTX10xx,如GTX1060)
环境搭建基于的显卡类型为NVIDIA GTX1060,当然所有的getforce 10 系列---GTX10xx都可以。cuda7.5不支持getforce 10 系列以上的显卡,所以,那些getforce 10 系列必须安装Cuda8.0。至于Cuda9.0的支持情况不得而知,但是后续的安装发现TensorFlow对于Cuda的版本是有要求的,目前最新的TensorFlow版本需要Cuda9.0的支持。
1.2.安装顺序
楼主按照Ubuntu16.04系统、Cuda8.0及cuDNN5.1、anaconda3、TensorFlow和OpenCV3.4.0的顺序完成安装,以下分别介绍。
[二]Ubuntu16.04系统安装:
Ubuntu系统安装的教程网上有很多,这里不赘述的,只附上楼主安装的版本及官网下载地址:Ubuntu 16.04.4 Desktop (64-bit)
这里要选择桌面版是因为桌面版集成了python3.5及python2.7,省去自己安装的时间。
[三]NVIDIA显卡驱动安装:
在搜索栏搜索关键字:
选择附加驱动,点击后会有如下窗口弹出:
上面一项选择使用英伟达驱动,下面一项未知驱动为cpu带的集成显卡选择下面的选项:不用这个设备,选完以后一定要点击"Apply Changes"也就是“应用改变”的按钮(右边的按钮)。
安装完成以后要重启一下系统,在搜索框查找NVIDIA X Server Settings,打开。
如果能正常打开表示安装成功,你可以在下面查看你的驱动版本。
[四]系统软件源设置并安装依赖包
这部分完全按照大佬leijieZhang的步骤,再次感谢,个人感觉改变系统软件源十分重要,因为之前没有改变源时也曾装过一些软件,网速实在太慢。这里直接搬运过来了。
流程,分别操作:系统设置(system settings)---->软件与更新(software & update)----->选择Ubuntu软件(Ubuntu software)选项卡。来改变系统软件源为阿里的源。
更新列表,打开终端输入如下命令
sudo apt-get update
软件源更新完毕后,安装一些必要的依赖包,命令如下
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-de
v protobuf-compiler libboost-all-dev libopenblas-dev liblapack-dev libatlas-base-dev libgflags-de
v libgoogle-glog-dev liblmdb-dev
这一步就做完了。
[五]cuda安装
楼主所用显卡支持的cuda版本为8.0,这个一定要查清楚再安装。
5.1.下载
官网最新的版本已经是9了,这里附上cuda8.0的官网下载地址:CUDA Toolkit 8.0 GA1 Download
5.2.GCC降级
cuda8.0目前仅支持gcc5.3,而ubuntu16.04自带的gcc版本为gcc5.4,所以要降级。
先查看你是否需要降级GCC
gcc -v
如果你的版本是5.3.1以下的就不用降级了,否则要降级gcc。
下载gcc5.3.0。下载地址为:https://pan.baidu.com/s/1cL2v62,下载好后,进入到该文件目录,执行如下操作:
解压:
sudo tar -zxvf gcc-5.3.0.tar.gz
进入到gcc目录:
cd gcc-5.3.0/
下载依赖项:
sudo ./contrib/download_prerequisites
新建一个编译的文件夹,并进入该文件夹:
sudo mkdir build
cd build/
生成makefile文件:
sudo ../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
编译:
sudo make -j4
编译结束以后,我们就可以执行安装了:
sudo make install
查看是否成功:
gcc --version
g++ --version
5.3.安装Cuda
gcc降到5.3之后,可以直接来安装了cuda了,进到你下载好的cuda-8.0的run文件目录,运行如下命令:
sudo ./cuda_8.0.44_linux.run
输入“q”跳过preface,输入接受:accept; 然后回车。接下来的操作,选择“n”不安装的是英伟达驱动,我们已经安装了,以及CUDA sample,因为我们只通过TensorFlow调用CUDA,不直接写CUDA代码。其他的选择“y”。
如果出现下图的结果,表明你已经安装成功了,虽然有一个警告和一个特别注意但是不影响结果。
从上图可是,下载的例子里面是缺少一些支持库的,现在我们安装这些库:
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-gl
x libglu1-mesa libglu1-mesa-dev
从上图可以看出来,有一个特别注意,所以我们做如下配置:打开.bashrc来进行配置,命令如下:
sudo vim ~/.bashrc
并将如下的几行内容复制的到.bashrc文件的最下面:
export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/usr/local/cuda
然后设置环境变量和动态链接库,在命令行输入:
sudo vim /etc/profile
在打开的文件末尾加入:
export PATH=/usr/local/cuda/bin:$PATH
保存之后,创建链接文件:
sudo gedit /etc/ld.so.conf.d/cuda.conf
在打开的文件中添加如下语句:
/usr/local/cuda/lib64
然后执行如下命令使得链接立即生效:
sudo ldconfig
现在重启电脑!
现在就开始测试一下看看cuda是否安装成功吧!输入如下命令打开测试的代码位置:
cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
编译这些代码:
sudo make -j4
执行代码:
./deviceQuery
如果出现如下结果---显卡的配置信息,恭喜你,这就证明你成功的安装了cuda
[六]cuDNN安装
cuDNN深度学习加速的一些库。下载地址为:https://developer.nvidia.com/cudnn
打开网站,如下图,需要注册一个账户,因为下载的时候需要,然后下载,流程如下图:
下载后解压:
tar -xvf cudnn-8.0-linux-x64-v5.1.tgz
执行如下操作:
cd cuda/include/
sudo cp cudnn.h /usr/local/cuda/include/
cd ../lib64/
sudo cp lib* /usr/local/cuda/lib64/
cd /usr/local/cuda/lib64/
sudo rm -rf libcudnn.so libcudnn.so.5
sudo ln -s libcudnn.so.5.1.5 libcudnn.so.5
sudo ln -s libcudnn.so.5 libcudnn.so
执行完之后,cuDNN算是安装完成了。
[七]安装Anaconda
anaconda里面集成了很多关于python科学计算的第三方库,并且方便对多个环境进行管理,我们的TensorFlow环境就要基于anaconda搭建。
注意,这里基于python3.5进行搭建,相对2.7,它更代表了python未来的发展趋势。
7.1.下载
下载地址为:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
从这里下载比较快,选择的对应版本是 Anaconda3-4.2.0-Linux-x86_64.sh
7.2.安装
在Anaconda的下载目录执行以下命令:
bash Anaconda3-4.2.0-Linux-x86_64.sh
接下来进入License文档,按q直接跳过,之后选择安装路径,可以选择默认路径,然后确定就可以开始安装了。
最后程序提示是否将anaconda3的binary路径加入.bashrc,建议添加。至此anaconda3安装结束。
[八]安装Tensorflow
8.1.创建TensorFlow虚拟环境
使用 conda create -n your_env_name python=X.X(2.7、3.6等)命令创建python版本为X.X、名字为your_env_name的虚拟环境。your_env_name文件可以在Anaconda安装目录envs文件下找到。
这里创建基于python3.5的虚拟环境:
conda create -n tensorflow python=3.5
之后可以使用命令
source activate tensorflow
激活虚拟环境,使用命令
source deactivate tensorflow
来退出虚拟环境。
8.2.安装TensorFlow
首先进入tensorflow虚拟环境,然后输入命令:
pip install tensorflow-gpu==1.2
等待安装完毕。解释一下,由于我们使用的是cudnn5.1,而tensorflow-gpu1.3开始就要求cudnn6了,所以这里要使用1.2版本的。楼主开始使用的命令是 pip install tensorflow-gpu,默认下载的1.5版本,结果跑程序时就开始疯狂报错。
[九]安装Opencv3.4.0
opencv的安装也是一个大坑,楼主使用了各种方法,包括下载离线包、在线下载,都不好使,最后一句简单的命令解决了。
首先进入tensorflow虚拟环境,注意我们安装的tensorflow还有opencv都是在虚拟环境里面,所以也只有这个环境里面可以使用。
source activate tensorflow
再输入命令下载:
pip install opencv-python
很简单地安好了。
最后附上tensorflow虚拟环境中的tensorflow和opencv安装成功图: