今天下午安装了一下tensorflow,很久以前安装过caffe,给我的感觉就是tensorflow安装起来会比caffe简单点,下面是我的操作步骤
首先介绍一下我的环境
硬件配置:CPU i5,GPU NVIDIA 1080,三星 ssd256G,西数2T机械硬盘,主板 微星b360
系统:Ubuntu16.04 64位
安装步骤
首先要明确要安装cuda、cudnn使得tensorflow能利用gpu进行加速,cuda、cudnn版本是要对应的,cuda我没有选最新的,怕有坑我选的是cuda8.0,至于cudnn要选择什么对应的版本可以再(https://developer.nvidia.com/cudnn)查看,下面也会细讲
1.gcc版本控制
因为gcc5及以后在编译的时候要做一些其他操作,如下官网所述
图一
所以我是为了快速配好就将gcc降级,降到4.9,执行下列操作
sudo apt-get install g++-4.9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 20
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 10
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 20
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 10
sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 30
sudo update-alternatives --set cc /usr/bin/gcc
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 30
sudo update-alternatives --set c++ /usr/bin/g++
2.cuda 8.0安装
在tensorflow安装页面可以看到下面图片,官方推荐cuda选择8.0以上版本,cudnn选择6.0以上版本(cudnn至于具体选哪个下面再讲)
cuda下载地址:https://developer.nvidia.com/cuda-downloads
打开后一般是下载最新cuda的界面如下
选择legacy releases可以查看以前版本的cuda
图四
这里选择的是8.0版本,点击出现下面界面后选择对应的版本的deb[local]包即可下载(使用deb包安装会比较方便)
图五
下载好deb安装包后执行下列三个命令即可安装完成
图六
这时候cuda已经安装好了,安装在/usr/local/cuda
2.1环境变量设置
在文件~/.bashrc中设置环境变量,在该文件的最后加上下面两行
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"
export CUDA_HOME=/usr/local/cuda
2.2检查cuda是否安装正确
cd到/usr/loca/cuda/bin/(cuda的安装目录,这个是默认的,也许你的不同),运行cuda-install-samples-7.5.sh ./ ,表示在当前文件夹下安装samples,然后进入NVIDIA_CUDA-7.5_Samples下make
make成功后cd到NVIDIA_CUDA-7.5_Samples/bin/x86_64/linux/release下,运行./deviceQuery看是否安装成功
运行./bandwidthTest看显卡和cuda有没有连接成功
3.cudnn 6.0安装
cudnn的下载需要登录才能获取,没有其他要求
下载地址:https://developer.nvidia.com/cudnn
登录后,和cuda一样,显示的是下载最新版本
点击archived cudnn releases会显示旧版本的下载,这里选择的是for cuda8.0,cudnn6.0(我之前装过5.0,到后面编译会出错,后面改成了6.0)
图八
下载好cudnn后,执行下面语句
比如我下载地址为~/Downloads/cudnn-8.0-linux-x64-v6.0.tgz,
cd ~/Downloads/
tar xvzf /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*
到这里cudnn就配置好了
4.其他软件的安装
在编译tensorflow之前官网所述,还要安装bazel和一些python库
4.1bazel安装
bazel的官方安装文档,在里面可以看到,它可以通过apt安装,按照下图执行即可安装完成
图十
4.2python一些库的安装
这部分安装在tensorflow官网也有,如下图
图十一
5.tensorflow编译
到这里依赖都安装好了,下面是源码编译tensorflow
1.从github获取tensorflow
git clone https://github.com/tensorflow/tensorflow.git
2.配置
cd tensorflow # cd to the top-level directory created
./configure
这里配置官网提供了一张图,安装官网配置就可以
图十二
3.编译
运行下列语句即可,第二句中的路径/tmp可以自己改,我就放在/tmp中
bazel build --config=opt --config=cuda //tensorflow/tools/pip_package:build_pip_package
bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg
4.安装
运行下面语句,语句中的路径/tmp就是上个步骤的路径,tensorflow-1.10.0-py2-none-any.whl中的版本号可以从/tmp中查看,用你自己的版本号即可
sudo pip install /tmp/tensorflow_pkg/tensorflow-1.10.0-py2-none-any.whl
到这里tensorflow就安装完成了
可以在终端输入python,然后在python环境中输入下列语句,查看tensorflow是否正确安装
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))
如果能成功输出Hello, TensorFlow!,说明安装成功了
网友评论