TensorFlow安装过程尝试-Ubuntu 14.04 + GTX 1060
2016-11-28 16:13
369 查看
最近对TensorFlow比较感兴趣,将整个安装的程记录如下。
(一) 我首先尝试了一下源码安装,亲测步骤如下。最后结果是源码安装不成功。
Step 1:Ubuntu系统的安装。我采用的是双系统,安装的Ubuntu版本是14.04。系统的安装这里不作介绍,需要注意的是必须安装64位的系统。
Step 2: jdk8的安装。
(2.1)下载jdk文件
下载对应版本的jdk文件,网址为www.oracle.com/technetwork/cn/java/javase/downloads/jdk8-downloads-2133151-zhs.html
(2.2)创建目标路径文件夹
sudo mkdir /usr/lib/jvm
(2.3)解压
sudo tar zxvf jdk-8u111-linux-x64.tar.gz -C /usr/lib/jvm
(2.4)修改环境变量
sudo vim ~/.bashrc
在文件末尾加上:
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_111(这里根据实际情况更改)
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
(2.5)使环境变量马上生效:
source ~/.bashrc
(2.6)测试jdk
java -version
Step 3:安装Bazel。Bazel是一个开软代码管理工具。
(3.1)安装相关依赖
[/code]
(3.2)下载Bazel安装源文件
下载网址为https://github.com/bazelbuild/bazel/releases
(3.3)Bazel的安装
然后使用以下命令安装
设置运行环境:执行文件bazel将被安装在$HOME/bin路径下,所以加入PATH路径中:
通过"bazel version"可以测试是否安装成功。
Step 4:安装protobuf(tensorflow依赖)
(4.1)从https://github.com/google/protobuf下载压缩包并进行解压。
(4.2)进入protobuf文件夹,执行
这一步需要注意的是,有可能碰到错误"autoconf: not found",这是因为没有安装automake工具。通过下面命令进行安装:
(4.3)protobuf默认分散安装在 usr/local/bin,usr/local/lib,usr/local/include三个文件下,你可以通过 ./configure -–prefix来修改安装路径。
虽然我是root用户但觉得默认安装过于分散,所以统一安装在/usr/local/protobuf下。
到此步还没有安装完毕,在/etc/profile添加下面内容:
[/code]通过source /etc/profile使得更改生效。
(4.4)查看安装是否成功
Step 5:源码安装tensorflow。
(5.1)下载源码文件:
(一) 我首先尝试了一下源码安装,亲测步骤如下。最后结果是源码安装不成功。
Step 1:Ubuntu系统的安装。我采用的是双系统,安装的Ubuntu版本是14.04。系统的安装这里不作介绍,需要注意的是必须安装64位的系统。
Step 2: jdk8的安装。
(2.1)下载jdk文件
下载对应版本的jdk文件,网址为www.oracle.com/technetwork/cn/java/javase/downloads/jdk8-downloads-2133151-zhs.html
(2.2)创建目标路径文件夹
sudo mkdir /usr/lib/jvm
(2.3)解压
sudo tar zxvf jdk-8u111-linux-x64.tar.gz -C /usr/lib/jvm
(2.4)修改环境变量
sudo vim ~/.bashrc
在文件末尾加上:
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_111(这里根据实际情况更改)
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
(2.5)使环境变量马上生效:
source ~/.bashrc
(2.6)测试jdk
java -version
Step 3:安装Bazel。Bazel是一个开软代码管理工具。
(3.1)安装相关依赖
[/code]
sudo apt-get install pkg-config zip g++ zlib1g-dev unzip
# For Python 2.7: $ sudo apt-get install python-numpy swig python-dev python-wheel # For Python 3.x: $ sudo apt-get install python3-numpy swig python3-dev python3-wheel[/code][/code]
(3.2)下载Bazel安装源文件
下载网址为https://github.com/bazelbuild/bazel/releases
(3.3)Bazel的安装
然后使用以下命令安装
$ chmod +x bazel-version-installer-os.sh $ ./bazel-version-installer-os.sh --user[/code]
其中bazel-version-installer-os.sh为需要下载的版本,即获取的安装文件为.sh。使用
--user后,bazel将会被安装在$HOME/bin,以及.bazelrc 会保存在$HOME/.bazelrc
设置运行环境:执行文件bazel将被安装在$HOME/bin路径下,所以加入PATH路径中:
$ export PATH="$PATH:$HOME/bin"[/code]
通过"bazel version"可以测试是否安装成功。
Step 4:安装protobuf(tensorflow依赖)
(4.1)从https://github.com/google/protobuf下载压缩包并进行解压。
(4.2)进入protobuf文件夹,执行
$ ./autogen.sh[/code]将会生成configure文件。
这一步需要注意的是,有可能碰到错误"autoconf: not found",这是因为没有安装automake工具。通过下面命令进行安装:
$ sudo apt-get install autoconf automake libtool[/code]
(4.3)protobuf默认分散安装在 usr/local/bin,usr/local/lib,usr/local/include三个文件下,你可以通过 ./configure -–prefix来修改安装路径。
虽然我是root用户但觉得默认安装过于分散,所以统一安装在/usr/local/protobuf下。
$./configure --prefix=/usr/local/protobuf $ make $ make check $ sudo make install[/code]
到此步还没有安装完毕,在/etc/profile添加下面内容:
####### add protobuf lib path ######## #(动态库搜索路径) 程序加载运行期间查找动态链接库时指定除了系统默认路径之外的其他路径 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/protobuf/lib/ #(静态库搜索路径) 程序编译期间查找动态链接库时指定查找共享库的路径 export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/protobuf/lib/ #执行程序搜索路径 export PATH=$PATH:/usr/local/protobuf/bin/ #c程序头文件搜索路径 export C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/local/protobuf/include/ #c++程序头文件搜索路径 export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/usr/local/protobuf/include/ #pkg-config 路径 export PKG_CONFIG_PATH=/usr/local/protobuf/lib/pkgconfig/ ######################################
[/code]通过source /etc/profile使得更改生效。
(4.4)查看安装是否成功
$ protoc –version libprotoc 3.1.0[/code]显示安装半杯为3.1.0,安装成功。
Step 5:源码安装tensorflow。
(5.1)下载源码文件:
$ git clone --recurse-submodules https://github.com/tensorflow/tensorflow[/code][/code] 其中,--recurse-submodules是获取tensorflow所需要的protobuf库(加该选项运行成功的话,可以不单独安装protobuf)。
(5.2)进入tensorflow文件根目录中,$ ./configure[/code]
根据大部分博客总结,安装过程基本如上,但是正如很多人反映的那样,源码安装比较麻烦,我上面的安装结果最后也不成功。根据configure的错误提示,似乎是一些组件下载超时失败。所以决定采用其他方式进行安装,博客中总结的安装方式有基于Docker的安装,基于VirtualEnv的安装和基于Anaconda的安装。在这里我们采用基于Anaconda的安装。
(在后文2017.6.11的更新,源码安装成功,请接后文参考)
(二) 基于Anaconda的安装。亲测过程如下。
Step 1:下载并安装linux版本的Anaconda安装包。
(1.1)下载Anaconda
下载地址:https://www.continuum.io/downloads
这里选择64位Linux的Python 2.7版本。下载完成之后得到Anaconda2-4.2.0-Linux-x86_64.sh安装文件。
(1.2)安装Anaconda
打开terminal,输入如下命令,然后回车:$ bash /home/cyfei/tf/Anaconda2-4.2.0-Linux-x86_64.sh[/code]
这里的/home/cyfei/tf/Anaconda2-4.2.0-Linux-x86_64.sh是存放Anaconda安装包的路径。
一步一步回车阅读licence。按照提示需要设置安装路径时,采用默认安装路径即可。安装完成后,提示是否将Anaconda的安装路径添加到环境变量之中时,输入yes,否则需要手动通过export去添加。
Step 2:利用Anaconda安装tensorflow。
(2.1)建立一个conda计算环境$ conda create -n tensorflow python=2.7[/code]
(2.2)激活环境,利用conda安装tensorflow$ source activate tensorflow[/code]
(2.3)安装tensorflow$ pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.10.0-cp27-none-linux_x86_64.whl[/code][/code]安装成功后,tensorflow的路径在Anaconda安装路径下的/envs/tensorflow.
测试tensorflow是否安装成功:
(1) 激活conda环境
(2)进入python
(3)import tensorflow
如能正常导入则安装成功。
之后,每次在使用tensorflow的时候都需要通过source activate tensorflow激活,使用完之后都需要通过source deactivate退出tensorflow。
2017.6.11更新,源码安装成功:
显卡为GTX1060
一. 安装CUDA驱动和cuDNN
1).官方网站下载:CUDA Toolkit 8.0
下载网址为:https://developer.nvidia.com/cuda-downloads
linux,86_64,Ubuntu,14.04,deb[local]
(网上有些博客反映,用deb安装有很多坑,要用runfile安装。但是,我用deb尝试了一下,并没有碰到坑,安装比较顺利。)
然后执行如下指令:
$ sudo dpkg -i cuda-repo-ubuntu1404-8-0-local-ga2_8.0.61-1_amd64.deb
$ sudo apt-get update
$ sudo apt-get install cuda
这时在/usr/local目录下产生一个cuda安装的路径叫"cuda-8.0"添加cuda到环境变量:
sudo vim /etc/profile
添加内容:
export CUDA_HOME=/usr/local/cuda-8.0
export PATH=$CUDA_HOME/bin:$PATH
export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH
使环境变量生效
source /etc/profile
检验是否安装成功:
参考测试网址:http://blog.csdn.net/masa_fish/article/details/51882183
a). 检查显卡驱动安装是否成功:$ cat /proc/driver/nvidia/version会输出NVIDIA Driver的版本号
b). 检查CUDA Toolkit是否安装成功:$ nvcc –V会输出CUDA的版本信息
c). 尝试编译cuda提供的例子:
测试用例:
$ cd /usr/local/cuda-8.0/samples/5_Simulations/nbody
$ sudo make
$ ./nbody -benchmark -numbodies=256000 -device=0
输出如下为安装成功:
> Windowed mode
> Simulation data stored in video memory
> Single precision floating point simulation
> 1 Devices used for simulation
gpuDeviceInit() CUDA Device [0]: "GeForce GTX 1060 6GB
> Compute 6.1 CUDA device: [GeForce GTX 1060 6GB]
number of bodies = 256000
256000 bodies, total time for 10 iterations: 4574.391 ms
= 143.267 billion interactions per second
= 2865.343 single-precision GFLOP/s at 20 flops per interaction2). 降低gcc版本到5.0以下
查看gcc当前使用版本:
$ gcc --help
$ gcc --version #查看gcc版本号
最后一行为 <file:///usr/share/doc/gcc-4.8/README.Bugs>. 使用的ubuntu14.04使用的是4.8版本 所以不用降低gcc版本
否则执行如下指令:
$ 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++3). 下载 cuDNN V5 库文件并添加到cuda-8.0库
下载地址: https://developer.nvidia.com/cudnn
下载版本: cuDNN v5.1 Library for Linux
执行以下命令:
$ sudo tar xvzf cudnn-8.0-linux-x64-v5.1.tgz
$ sudo cp cuda/include/cudnn.h /usr/local/cuda-8.0/include
$ sudo cp cuda/lib64/libcudnn* /usr/local/cuda-8.0/lib64
$ sudo chmod a+r /usr/local/cuda-8.0/include/cudnn.h /usr/local/cuda-8.0/lib64/libcudnn* #分配包的权限
二. 源码安装,上接(一) -> Step 5 -> (5.2)
(5.2) ./configure 配置
注意configure文件的路径名中不可以有中文
按照问题相应回答就可以,GPU support输入Y,其他一般都输入N(比如MPI,OpenCL等),在我这里,GTX 1060安装的Cuda 8.0和Cudnn 5.1版本,所以
Cuda SDK version输入8.0,路径输入/usr/local/cuda-8.0
cudnn version输入5.1.10,路径输入/usr/local/cuda-8.0 (注意cudnn version不能只输到5.1,否则会报错libcudnn.so.5.1找不到)
还有一个问题需要注意:Please specify a list of comma-separated Cuda compute capabilities you want to build with. You can find the compute capability of your device at: https://developer.nvidia.com/cuda-gpus. Please note that each additional compute capability significantly increases your build time and binary size. [Default is: \"3.5,5.2\"]:GPU的compute capability可以参考:http://blog.csdn.net/JiaJunLee/article/details/52067962
GeForce GTX 1060对应的compute capability是6.1,因此输入6.1
(5.3) 编译$ bazel build -c opt //tensorflow/tools/pip_package:build_pip_package若需要支持GPU:$ bazel build -c opt --config=cuda //tensorflow/tools/pip_package:build_pip_package(5.4) 生成pip安装包
$ sudo mkdir -p /tmp/tensorflow/
$ sudo bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow/
这样,在/tmp/tensorflow目录下将会生成whl安装文件,在我这里生成的whl安装文件是:tensorflow-1.2.0rc2-cp27-none-linux_x86_64.whl
(5.5) 安装
$sudo pip install /tmp/tensorflow/tensorflow-1.2.0rc2-cp27-none-linux_x86_64.whl
至此安装完毕.
测试:
重启终端,然后输入python
$ python
>>>import tensorflow
没有报错,加载成功。
至此带GPU支持的tensorflow的源码安装成功!
测试程序:
文件:tensorflow/examples/tutorials/word2vec/word2vec_basic.py
line 152:
分别用with tf.device('/cpu:0')和with tf.device('/gpu:0')运行,没有问题。
参考博客及资料:
http://blog.csdn.net/tina_ttl/article/details/51762471#2-%E5%9F%BA%E4%BA%8Eanaconda%E7%9A%84tensorflow%E5%AE%89%E8%A3%85 http://wiki.jikexueyuan.com/project/tensorflow-zh/get_started/os_setup.html http://blog.csdn.net/xueyingxue001/article/details/67634174
相关文章推荐
- ubuntu14.04 安装 GTX 1060 显卡驱动
- 戴尔笔记本win8.1+UEFI下安装Ubuntu14.04过程记录
- ubuntu 14.04 的详细安装过程与制作启动型 ubuntu U 盘
- Ubuntu14.04安装过程中出现《演示和完全安装》的选项,无法正确安装
- GEM5 在 Ubuntu 14.04中安装过程
- Ubuntu14.04下安装 Jlink 往S3C2440 开发板下载程序过程的 安装、使用
- Ubuntu14.04安装mysql及过程中遇到的一点小问题
- ubuntu14.04下安装lec10.1过程记录
- ubuntu 14.04 server 下安装ZABBIX 及增加客户机配置过程
- Linux系统(ubuntu14.04) 下安装glib-2.44.1调试工具的过程研究
- ubuntu 14.04 安装opencv3 过程以及遇到的问题
- Ubuntu 14.04安装地里编码软件Nominatim过程
- 服务器windows server 2008 R2下安装Centos6.4 x86_64位 Ubuntu server14.04尝试
- ubuntu14.04 下安装 glib-2.44.1 的过程记录
- ubuntu 14.04 安装 Quartus II 13.1 过程
- Ubuntu 14.04(32位)安装Oracle 11g(32位)全过程
- Ubuntu14.04 64位安装wineqq过程
- Ubuntu 14.04 安装nVidia驱动后不能进入图形界面的恢复过程
- VirtualBox安装Ubuntu12.04和Ubuntu14.04过程中,出现不能全屏的解决方案
- Ubuntu 14.04(32位)安装Oracle 11g(32位)全过程