Tensorflow + Caffe + Torch 的详细安装指南(GPU版本)

1.TensorFlow的安装

补充说明:
TensorFlow的安装主要参考的是下面这个网站:
网址:http://blog.csdn.net/v_july_v/article/details/52658965
(非常感谢~)

这个网站中的配置为:
GTX 1070 cuda 8.0 Ubuntu 14.04 cudnn 5.1 tensorflow gpu

由于使用的是 GTX1070 所以必须下载 cuda8.0!其他低版本的GPU可以下载以前的cuda!网上很多教程说必须下载 cudnn v4 的版本,但是我的实测表明 v5 的版本也是可以的!

步骤主要参考tensorflow的官网(任何安装还是都要先看一下官网~):

https://github.com/tensorflow/tensorflow/blob/master/tensorflow/g3doc/get_started/os_setup.md

1.1 首先安装一些tensorflow必须的依赖包(与python有关)

$ sudo apt-get install python-pip python-dev Python-scipy Pythoy-numpy Git

1.2 下载tensorflow的软件包 (一定要下载GPU版本的!

官网提示,在安装了上述的软件包之后就可以使用 pip 命令 下载tensorflow:

(依据自己的python版本进行选择)

# Python 2
$ sudo pip install --upgrade $TF_BINARY_URL

# Python 3
$ sudo pip3 install --upgrade $TF_BINARY_URL

个人建议,可以从github上下载安装包:

$ git clone --recurse-submodules https://github.com/tensorflow/tensorflow

1.3 为了能够让tensorflow使用CUDA的库,需要在环境变量中配置CUDA的路径

$ sudo  gedit ~/.bash_profile
输入:
export  LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"
export  CUDA_HOME=/usr/local/cuda

保存,之后运行下列的命令:

$ source  ~/.bash_profile

此时,可以验证一下tensflow是否下载安装正确:
首先,在命令行输入:$ python
出现>>>之后,依次输入以下:

>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
>>> print(sess.run(hello))
Hello, TensorFlow!
>>> a = tf.constant(10)
>>> b = tf.constant(32)
>>> print(sess.run(a + b))
42
>>>

出现以上结果表明安装正确~~~

下面是tensorflow的配置和CUDA与tensorflow的连接

1.4 Bazel安装

参考网页: https://www.bazel.io/versions/master/docs/install.html

Tensorflow + Caffe + Torch 的详细安装指南(GPU版本)_第1张图片

选择UBUNTU版本

注意!!! 官网上提示:
If you are running Ubuntu Wily (15.10), you can skip this step. But for Ubuntu Trusty (14.04 LTS) users, since OpenJDK 8 is not available on Trusty, please install Oracle JDK 8:
如果是15.10以上的版本要安装的是OpenJDK 8, 而由于14.04版本没有包含OpenJDK 8,只能够安装Oracle JDK 8版本,步骤如下(仅限于Ubuntu14.04版本):

1) Install JDK 8

$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update
$ sudo apt-get install oracle-java8-installer

2) Add Bazel distribution URI as a package source (one time setup)

$ echo "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8" | sudo tee /etc/apt/sources.list.d/bazel.list
$ curl https://storage.googleapis.com/bazel-apt/doc/apt-key.pub.gpg | sudo apt-key add

3) Update and install Bazel

$ sudo apt-get update && sudo apt-get install bazel
$ sudo apt-get upgrade bazel

4) Install other required packages

$ sudo apt-get install pkg-config zip g++ zlib1g-dev unzip

5) 下载Bazel的包并使用Installer安装

网址: https://github.com/bazelbuild/bazel/releases

Tensorflow + Caffe + Torch 的详细安装指南(GPU版本)_第2张图片

下载linux-x86_64的版本!

6) 安装Bazel

将下载的Bazel安装包放在/home目录下,在命令行输入:

$ chmod +x  PATH_TO_INSTALL.SH
$ ./PATH_TO_INSTALL.SH --user

注意,这里的PATH_TO_INSTALL.SH要改为我们下载的安装包的名称(进入/home文件夹下,输入B按Tab键会自动补全名称!)

7) 安装好之后,接着下载一些必要的依赖包

# 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

8) 安装numpy库

 git clone git://github.com/numpy/numpy.git numpy

1.5 Tensorflow安装

安装好的Tensorflow会在home下有一个独立的文件夹,在命令行下进入Tensorflow所在的目录,输入如下的命令进行配置

$ ./configure

出现如下的内容,按要求回答问题:

Please specify the location of python. [Default is /usr/bin/python]: (python的默认地址不用改)
Do you wish to build TensorFlow with Google Cloud Platform support? [y/N] N
No Google Cloud Platform support will be enabled for TensorFlow
Do you wish to build TensorFlow with GPU support? [y/N] y (选择使用GPU!)
GPU support will be enabled for TensorFlow
Please specify which gcc nvcc should use as the host compiler. [Default is /usr/bin/gcc]:
Please specify the Cuda SDK version you want to use, e.g. 7.0. [Leave empty to use system default]: 7.5 (这里依据安装的CUDA版本填写,我的是7.5)
Please specify the location where CUDA 7.5 toolkit is installed. Refer to README.md for more details. [Default is /usr/local/cuda]: (CUDA的默认地址,不用改)
Please specify the cuDNN version you want to use. [Leave empty to use system default]: 5(我的cudnn是v5的版本)
Please specify the location where cuDNN 5 library is installed. Refer to README.md for more details. [Default is /usr/local/cuda]: (默认地址,不用改)
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”]: 3.0 (写3.0也可以)

Setting up Cuda include
Setting up Cuda lib
Setting up Cuda bin
Setting up Cuda nvvm
Setting up CUPTI include
Setting up CUPTI lib64
Configuration finished

1.6使用Bazel配置一些CUDA和PIP的环境

$ bazel build -c opt //tensorflow/tools/pip_package:build_pip_package
# To build with GPU support:
$ bazel build -c opt --config=cuda //tensorflow/tools/pip_package:build_pip_package

$ bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg

# The name of the .whl file will depend on your platform.
$ sudo pip install /tmp/tensorflow_pkg/tensorflow-0.11.0rc0-py2-none-any.whl
(注意: 这里tensorflow-0.11.0rc0-py2-none-any.whl版本要依据自己的定,如果并不知道自己的Tensflow是什么版本,可以先安装下面一个步骤,下面一个步骤装完会显示例如“tensorflow-0.11.0rc0-py2”这样的版本)

1.7设置一些Tensflow中的python环境

bazel build -c opt //tensorflow/tools/pip_package:build_pip_package
# To build with GPU support:
bazel build -c opt --config=cuda //tensorflow/tools/pip_package:build_pip_package

mkdir _python_build
cd _python_build
ln-s ../bazel-bin/tensorflow/tools/pip_package/build_pip_package.runfiles/org_tensorflow/* .
ln-s ../tensorflow/tools/pip_package/* .
python setup.py develop

1.8 Tensorflow的GPU训练测试(检测能否用GPU加速)

$ cd tensorflow/models/image/mnist
$ python convolutional.py

显示:
Successfully downloaded train-images-idx3-ubyte.gz 9912422 bytes.
Successfully downloaded train-labels-idx1-ubyte.gz 28881 bytes.
Successfully downloaded t10k-images-idx3-ubyte.gz 1648877 bytes.
Successfully downloaded t10k-labels-idx1-ubyte.gz 4542 bytes.
Extracting data/train-images-idx3-ubyte.gz
Extracting data/train-labels-idx1-ubyte.gz
Extracting data/t10k-images-idx3-ubyte.gz
Extracting data/t10k-labels-idx1-ubyte.gz
Initialized!
Epoch 0.00
Minibatch loss: 12.054, learning rate: 0.010000
Minibatch error: 90.6%
Validation error: 84.6%
Epoch 0.12
Minibatch loss: 3.285, learning rate: 0.010000
Minibatch error: 6.2%
Validation error: 7.0%

补充: Tflearn的安装

Tflean是一个集成度很高的用于在Tensorflow中用于搭建CNN等网络的工具。

网址:tflearn.org (点击左侧的installation)

输入:$ sudo pip install tflearn


2.Caffe 的安装

2.1 caffe 的安装主要参考caffe的官网:

安装指南: http://caffe.berkeleyvision.org/installation.html

1.首先,安装一些caffe使用的依赖库:
Tensorflow + Caffe + Torch 的详细安装指南(GPU版本)_第3张图片

由于我们使用的是UBUNTU14.04的系统,所以选择UBUNTU installation这个选项。

接着,安装一些必要的依赖库:

$sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
$sudo  apt-get  install --no-install-recommends libboost-all-dev

再接着,安装BLAS:
BLAS:
install ATLAS by sudo apt-get install libatlas-base-dev or install OpenBLAS or MKL for better CPU performance.

其中,$ sudo apt-get install libatlas-base-dev 安装的是ATLAS,也可以选择安装OpenBLAS或者MKL,MKL的性能比ATLAS好,但是安装麻烦,安装好之后需要配置环境变量,如果需要安装MKL,可以采用下面的方式(这里我安装的是ATLAS):

首先,下载并安装英特尔® 数学内核库 Linux* 版MKL,下载链接是:

https://software.intel.com/en-us/intel-education-offerings,

请下载Student版,先申请,然后会立马收到一个邮件(里面有安装序列号),打开照着下载就行了。下载完之后,要把文件解压到home文件夹(或直接把tar.gz文件拷贝到home文件夹,为了节省空间,安装完记得把压缩文件给删除喔~),或者其他的ext4的文件系统中。

接下来是安装过程,先授权,然后安装:

$ tar zxvfparallel_studio_xe_2015_update3.tgz(如果你是直接拷贝压缩文件过来的)
$ chmod a+xparallel_studio_xe_2015_update3 –R
$ sudo  /home/ls/ parallel_studio_xe_2015_update3/install_GUI.sh

安装序列号:SKCG-XCR7XLXX

MKL的环境变量配置:

首先,新建intel_mkl.conf, 并编辑之:

$ sudo  gedit  /etc/ld.so.conf.d/intel_mkl.conf
/opt/intel/lib/intel64
/opt/intel/mkl/lib/intel64

完成Lib文件的连接操作,执行:

$ sudo ldconfig –v

2.2Caffe软件的安装

首先,我们需要去caffe的github官网下载caffe的文件:

$ git clone git://github.com/BVLC/caffe.git

等待安装好了之后,进入caffe文件所在的目录(一般安装好之后,会在主文件加下出现一个caffe的文件夹,在命令行想要进入这个文件夹就输入: cd /home/audi/caffe , audi是我们自己的电脑账户名,需要依情况修改)

$ cp Makefile.config.example Makefile.config

上面一句话是复制一份caffe的配置文件,在配置文件里面可以修改一些配置,复制好了之后,进入配置文件Makefile.config配置:

$ vi Makefile.config

打开配置文件,里面是这样的:
Tensorflow + Caffe + Torch 的详细安装指南(GPU版本)_第4张图片
Tensorflow + Caffe + Torch 的详细安装指南(GPU版本)_第5张图片
Tensorflow + Caffe + Torch 的详细安装指南(GPU版本)_第6张图片
Tensorflow + Caffe + Torch 的详细安装指南(GPU版本)_第7张图片
Tensorflow + Caffe + Torch 的详细安装指南(GPU版本)_第8张图片
Tensorflow + Caffe + Torch 的详细安装指南(GPU版本)_第9张图片
Tensorflow + Caffe + Torch 的详细安装指南(GPU版本)_第10张图片

以上是Makefile.config中所有需要配置的选项的说明,在官网上给出了如下的说明:

For CPU & GPU accelerated Caffe, no changes are needed.
For cuDNN acceleration using NVIDIA’s proprietary cuDNN software, uncomment the USE_CUDNN := 1 switch in Makefile.config. cuDNN is sometimes but not always faster than Caffe’s GPU acceleration.
For CPU-only Caffe, uncomment CPU_ONLY := 1 in Makefile.config.

如果是使用CPU和GPU加速的电脑,配置文件可以不用修改(修改的方式,哪个需要就将后面的值变为1,然后前面的#去掉),如果使用cudnn,那么就将配置文件里面第一行的USE_CUDNN前的#去掉。如果没有GPU的话就只将第二行的中的CPU_ONLY前的#去掉,修改完毕之后,输入:,然后输入wq保存文件。

修改完配置文件之后,执行以下的3句话:

$make all
$make test
$make runtest

能够顺利编译通过就没有什么问题了,如果提示一些类似于找不到lib之类的,可能是前面的cudnn和CUDA的环境变量没有配置好,如果想再次修改配置文件但是修改完之后执行make这三句话出错,建议去主文件夹下将caffe删除,再下载一次,然后重新配置

如果以上环节都没有问题,那么通过下面的mnist例子就可以试验caffe安装的有效性了:

首先,获取mnist数据(注意,新版的caffe所有的命令执行必须在caffe/这个根目录下!!!)

$ cd  /home/audi/caffe
$ sh ./data/mnist/get_mnist.sh

然后,将下载的数据转换成能够在caffe中使用的lmdb格式:

$ sh ./examples/mnist/create_mnist.sh

最后,开始,训练cnn,注意:在这个mnist的文件下有个配置文件lenet_solver.prototxt,这个文件里面最后一行会规定使用的是CPU还是GPU,一定要依据情况做修改(默认是GPU)

$ cd caffe/examples/mnist
$ vi lenet_solver.prototxt

拉到文件的最后一行,将solver_mode修改成:

solver_mode: GPU  (只有CPU,这里就写成CPU)

配置好了之后就可以开始训练网络了,回到caffe根目录下:

$ sh ./examples/mnist/train_lenet.sh

会出现以下的训练过程:
Tensorflow + Caffe + Torch 的详细安装指南(GPU版本)_第11张图片

这就表示,caffe安装成功了,并且GPU也可以用了~~~

再接着,可以选择安装Python:

Python (optional): if you use the default Python you will need to :

$ sudo apt-get install  python-devpackage 

to have the Python headers for building the pycaffe interface.

补充:

caffe中python环境的安装:

1) 安装pycaffe必须的一些依赖项:

$sudo apt-get install -y python-numpy python-scipy python-matplotlib python-sklearn python-skimage python-h5py python-protobuf python-leveldb python-networkx python-nose python-pandas python-gflags  Cython  ipython

$ sudo apt-get install -y protobuf-c-compiler protobuf-compiler

2) 切换到Caffe的文件夹,生成Makefile.config配置文件,执行:

$ cd  /caffe-master
$ cp  Makefile.config.example  Makefile.config

3) 配置Makefile.config文件(仅列出修改部分)

$ sudo gedit /caffe-master/Makefile.config

a. 配置一些引用文件(增加部分主要是解决新版本下,HDF5的路径问题)可以验证一下路径是否正确

INCLUDE_DIRS:=$(PYTHON_INCLUDE)/usr/local/include/usr/lib/x86_64-linux-gnu/hdf5/serial/include
LIBRARY_DIRS := $(PYTHON_LIB)/usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial

b. 配置路径,实现caffe对Python接口的支持

PYTHON_LIB := /usr/local/lib

(在新版的caffe中,打开Makefile配置文件,python的路径都是默认设定好的,看看有关Python路径配置前的#有没有去掉,另外,如果用的是Anaconda来配置python的环境,则需要先下载安装Anaconda,然后在caffe的配置文件里面也要选择python的路径为Anaconda的路径!我这里没有使用Anaconda!所以配置文件里python的路径为python2.7的所在路径!)

4) 编译caffe!
“-j8”是使用CPU的多核进行编译,可以极大地加速编译的速度,建议使用。

$ make all-j8    (这个是配置完所有的caffe文件之后的一个步骤!!!)
$ make test-j8
$ make runtest -j8

编译Python用到的caffe文件

$ make pycaffe -j8  (注意,配置完caffe的python环境之后,一定要make一下pycaffe!)

如果遇到warning,make:*[build_release/src/caffe…..]error问题可不用管

5) 此时,在Python中还无法连接到caffe的环境,我们需要将caffe的环境放入python的路径中(把环境变量放入 ~./bashrc文件中):

$ sudo vi ~./bashrc
将一下两句添加到文件中:
export PYTHONPATH=~/caffe/python
export JAVA_HOME=”~/caffe/python”    
最后,让文件生效:
$ source ~./bashrc

6) 最后,在终端输入python,然后import caffe 成功,OK!

最后,安装一些lib的包(注意,官网上提示说CUDA8.0只适用于UBUNTU16.04,而UBUNTU14.0底下所有的依赖包都已经打包好了,可以直接下载,我们使用的是UBUNTU14.04,所以直接运行下面的命令):

$ sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev

最后,OPenCV也是caffe编译必须用到的库,我们也需要安装:

首先,下载安装脚本:https://github.com/bearpaw/Install-OpenCV
然后,进入文件的目录:Install-OpenCV/Ubuntu/2.4 (这里下载的是2.4.10所以目录是2.4)
执行脚本:

$ sh sudo ./opencv2_4_10.sh

补充:1. 安装python中一些必要的库
(都是为了后续能够在caffe中使用R-CNN图像识别库安装的一些python库)

Python在科学计算的应用越来越丰度,而hdf(5)数据的应用也非常广泛。python提供了h5py包供开发者处理数据(hdf(5)数据是在著名的图像识别程序:R-CNN/Fast-RCNN/Faster-RCNN中使用的数据格式):

网址: http://www.h5py.org/

(1)使用: sudo apt-get install python-pip 安装 pip 工具,然后使用 pip install numpy 和 pip install numpy 安装基本环境。
(2)使用: sudo apt-get install libhdf5-dev 安装 hdf 的开发库(重要)。否则会报出:

#include “hdf5.h”
compilation terminated.
error: command ‘gcc’ failed with exit status:1

(3)安装HDF5: 按照官方文档的说明就可以
地址:
ftp://ftp.hdfgroup.org/HDF5/current/src/unpacked/release_docs/INSTALL

首先,下载HDF5的安装包:
地址: ftp://ftp.hdfgroup.org/HDF5/current/src

Tensorflow + Caffe + Torch 的详细安装指南(GPU版本)_第12张图片

下载.tar.gz格式的文件。

然后,执行:

$ tar zxf hdf5-X.Y.Z.tar.gzX.Y.Z表示hdf5的版本号)
$ cd hdf5-X.Y.Z
$ ./configure --prefix=/usr/local/hdf5
$ sudo make
$ sudo make check                # run test suite.
$ sudo make install
$ sudo make check-install        # verify installation.

(4)使用:sudo pip install h5py 安装h5py库, 当你看到 Successfully install h5py. Cleaning up…就大功告成了。

2.安装 R-CNN需要使用的一些python库

Selective Search

选择性搜索,选择性搜索综合了蛮力搜索(exhaustive search)和分割(segmentation)的方法,意在:找出可能的目标位置来进行物体的识别。

安装的网址: https://github.com/AlpacaDB/selectivesearch
安装语句: $ pip install selectivesearch

3.SVM分类器的包

安装语句: $ pip install sklearn


3.Torch安装

Torch 的安装地址: https://github.com/torch/torch7
Torch 的安装教程: http://torch.ch/docs/getting-started.html

安装步骤:

1.ubuntu终端窗口输入(以下所有命令均在root用户下执行):

apt-get update (更新源)

2.打开搭建 torch7 网址

git clone https://github.com/torch/distro.git ~/torch --recursive (克隆torch到~/torch文件下)

cd ~/torch; bash install-deps; (执行install-deps)
./install.sh (执行程序)

source ~/.bashrc (Ubuntu14.04一般情况执行这个,更新.bashrc文件)
source ~/.zshrc  (不放心了把这个也执行了)

如果用Lua5.2就执行如下,没有就跳过

第一个git忽略,开始搭建时候已经下载过了

cd ~/torch (进入torch文件)
./clean.sh (执行clean.sh)
TORCH_LUA_VERSION=LUA52 ./install.sh(执行命令)

luarocks install image (安装image)
luarocks list (安装list)
th (测试能否用torch7,出现如上图标志,表示能用)

如果在安装过程中出现 torch7 的环境变量未能添加到PATH内,解决办法如下:
在终端输入:

vi /etc/profile 
进入文件后,在最后添加如下命令: 
PATH=~/torch/install/bin:$PATH

按Esc 接着输入: q (退出)
执行 source /etc/profile (更新一下)

你可能感兴趣的:(硬件安装指南)