一共3篇文章:

************************************************************************************************************************************

第一篇GTX960ubuntu16.04、cuda8.0caffe tensorflow theano

转自:http://blog.csdn.net/hjimce/article/details/51999566


第二篇GTX1080 ubuntu14.04 cuda 8.0 caffe tensorflowtheano

转自:http://blog.csdn.net/u010900574/article/details/52201808


第三篇ubuntu16.04+cuda8.0+caffe+python+matlab+opencv3.0

转自:http://blog.csdn.net/zhongshijunacm/article/details/52824894

************************************************************************************************************************************


目前自己撘过深度学习各种库、各种环境,已经搭建了n多台电脑,发现每台电脑配置安装方法各不相同,总会出现各不相同的错误,真是心塞。笔记本和台式机有差别,台式机之间的安装方法又各不相同,不同的系统版本环境、平台又各有差异。比如昨天搞的一台电脑,可能因为显卡比较新,然而ubuntu14.04、ubuntu15.04都比较旧,连安装系统都装不上,一开始在14.04上重装了n多次系统,还以为是自己电脑的问题。最后在ubuntu16.04竟然非常顺利完成了安装;然而16.04的版本,只有cuda8.0才支持,在这台破电脑上,又折腾了我快一天的时间。

显卡:GTX960

环境:ubuntu16.04、cuda8.0

下面是我的安装之路,总的来说theano、keras、tensorflow都比较容易安装;最难安装的是caffe,因为caffe调用的第三方库比较杂、比较多。

一、安装cuda8.0

1、输入命令:


  1. sudovim/etc/modprobe.d/blacklist.conf
在文件最后面,添加:

  1. blacklistnouveau
  2. sudoreboot
  3. sudoapt-getremove--purgenvidia*

重启,然后进入终端:

  1. sudoservicelightdmstop
  2. chmod+xcuda*.run
  3. sudo./cuda*.run

2、安装cuda的过程中,一直跳出错误:


  1. Ifyou'resurethatXisnotrunning,butaregettingthiserror,pleasedeleteanyXlockfilesin/tmp.
那么我们可以直接删除X-lock文件,具体命令为:

  1. sudorm/tmp/.X0-lock

3、ubuntu的gcc编译器是5.4.0,然而cuda8.0不支持5.0以上的编译器,因此需要降级,把编译器版本降到4.9:


  1. sudoapt-getinstallg++-4.9
  2. sudoupdate-alternatives--install/usr/bin/gccgcc/usr/bin/gcc-4.920
  3. sudoupdate-alternatives--install/usr/bin/gccgcc/usr/bin/gcc-510
  4. sudoupdate-alternatives--install/usr/bin/g++g++/usr/bin/g++-4.920
  5. sudoupdate-alternatives--install/usr/bin/g++g++/usr/bin/g++-510
  6. sudoupdate-alternatives--install/usr/bin/cccc/usr/bin/gcc30
  7. sudoupdate-alternatives--setcc/usr/bin/gcc
  8. sudoupdate-alternatives--install/usr/bin/c++c++/usr/bin/g++30
  9. sudoupdate-alternatives--setc++/usr/bin/g++

等待安装完成

4、配置环境变量:


  1. sudovim/etc/profile
在文件末尾添加:

  1. PATH=/usr/local/cuda/bin:$PATH
  2. exportPATH

保存退出。输入命令:

  1. source/etc/profile

使其生效。

输入命令:


  1. sudo/etc/ld.so.conf.d/cuda.conf

添加内容:

  1. /usr/local/cuda/lib64

5、验证测试

测试cuda是否安装成功:


  1. cd/usr/local/cuda/samples

编译例子:

  1. sudomakeall-j8
运行编译可执行结果文件:

  1. ./deviceQuery


二、安装theano

1、直接输入命令:


  1. sudopipinstalltheano

2、配置参数文件:.theanorc

  1. [global]
  2. floatX=float32
  3. device=gpu
  4. base_compiledir=~/external/.theano/
  5. allow_gc=False
  6. warn_float64=warn
  7. [mode]=FAST_RUN
  8. [nvcc]
  9. fastmath=True
  10. [cuda]
  11. root=/usr/local/cuda

3、运行测试例子:

  1. fromtheanoimportfunction,config,shared,sandBox
  2. importtheano.tensorasT
  3. importnumpy
  4. importtime
  5. vlen=10*30*768#10x#coresx#threadspercore
  6. iters=1000
  7. rng=numpy.random.RandomState(22)
  8. x=shared(numpy.asarray(rng.rand(vlen),config.floatX))
  9. f=function([],T.exp(x))
  10. print(f.maker.fgraph.toposort())
  11. t0=time.time()
  12. foriinrange(iters):
  13. r=f()
  14. t1=time.time()
  15. print("Looping%dtimestook%fseconds"%(iters,t1-t0))
  16. print("Resultis%s"%(r,))
  17. ifnumpy.any([isinstance(x.op,T.Elemwise)forxinf.maker.fgraph.toposort()]):
  18. print('Usedthecpu')
  19. else:
  20. print('Usedthegpu')

可以看到结果:

  1. /usr/bin/python2.7/home/hjimce/PycharmProjects/untitled/.idea/temp.py
  2. Usinggpudevice0:GeForceGTX960(CNMeMisdisabled,cuDNNnotavailable)
  3. [GpuElemwise{exp,no_inplace}(<CudandarrayType(float32,vector)>),HostFromGpu(GpuElemwise{exp,no_inplace}.0)]
  4. Looping1000timestook0.302778seconds
  5. Resultis[1.231780291.618793491.52278066...,2.207718132.29967761
  6. 1.62323296]
  7. Usedthegpu


三、caffe环境搭建

1、切换编译器:


  1. sudoupdate-alternatives--configg++
选择g++ 5.0以上的对应编号

  1. sudoupdate-alternatives--configgcc
根据编号选择gcc编译器5.0以上的版本。

2、hd5相关问题:遇到hd5等相关找不到的文件错误。

输入命令:


  1. cd/usr/lib/x86_64-linux-gnu
  2. sudoln-slibhdf5_serial.so.10.1.0libhdf5.so
  3. sudoln-slibhdf5_serial_hl.so.10.0.2libhdf5_hl.so

3、caffe编译

从github上下载caffe,解压打开makefile.config对其进行修改,makefile.config修改内容内容如下:


  1. INCLUDE_Dirs:=$(PYTHON_INCLUDE)/usr/local/include
  2. LIBRARY_Dirs:=$(PYTHON_LIB)/usr/local/lib/usr/lib
改为:


  1. INCLUDE_Dirs:=$(PYTHON_INCLUDE)/usr/local/include/usr/include/hdf5/serial
  2. LIBRARY_Dirs:=$(PYTHON_LIB)/usr/local/lib/usr/lib/usr/lib/x86_64-linux-gnu/usr/lib/x86_64-linux-gnu/hdf5/serial

4、cuda8.0编译器问题

打开/usr/local/cuda/include/host_config.h

注释掉:


  1. error--unsupportedGNUversion!gccversionslaterthan5.3arenotsupported!

结果如下:


  1. #if__GNUC__>5||(__GNUC__==5&&__GNUC_MInor__>3)
  2. //#error--unsupportedGNUversion!gccversionslaterthan5.3arenotsupported!
  3. #endif/*__GNUC__>5||(__GNUC__==5&&__GNUC_MInor__>1)*/
5、遇到prototuf等编译问题:


  1. build_release/lib/libcaffe.so:undefinedreferenceto'google::protobuf::io::CodedOutputStream::WriteVarint64ToArray(unsignedlonglong,unsignedchar*)'
主要是因为我们直接采用命令apt-get install 安装prototuf是比较老旧的版本,而ubuntu16.04比较新,所以我们需要卸载 prototuf,然后自己在自己的电脑上编译安装。
(1)于是先卸载原有版本:

  1. sudoapt-getautoremovelibprotobuf-devprotobuf-compiler
(2)从github下载protobuf

(3)打开protobuf文件目录进行编译安装,具体过程如下

编译过程过下:

A、输入命令:


  1. shauto*.sh
生产configure文件。这步可能遇到的错误:

  1. configure.ac:64:error:possiblyundefinedmacro:AC_PROG_LIBTOOL

那么输入命令:

sudo apt-get install autoconf autogen


  1. sudoapt-getinstalllibtool

然后在次运行:

  1. shauto*.sh

B、按照顺序,依次输入如下命令:

  1. ./configure
  2. make-j8
  3. makecheck
  4. makeinstall

完成安装。

C、protobuf配置环境变量.

打开profile文件:

  1. sudovim/etc/profile

添加:

  1. exportPATH=$PATH:/usr/local/protobuf/bin/
  2. exportPKG_CONfig_PATH=/usr/local/protobuf/lib/pkgconfig/<
保存退出,然后输入命令:
  1. source/etc/profile

D、配置动态链接库

打开配置文件ld.so.conf:


  1. sudovim/etc/ld.so.conf
添加:


  1. /usr/local/protobuf/lib
E、更新配置
  1. sudosu
  2. ldconfig
6、caffe编译:
  1. makeall-j8
  2. makepycaffe

OK,万事大吉,打完收工。

相关参考文献:
http://blog.csdn.NET/realxie/article/details/7456013

https://github.com/BVLC/caffe/wiki/GeForce-GTX-1080,---CUDA-8.0,---Ubuntu-16.04,---Caffe

https://github.com/BVLC/caffe/wiki/Ubuntu-16.04-or-15.10-Installation-Guide

http://mooon.blog.51cto.com/1246491/909928

四、tensorflow

以前的安装方法:

  1. sudoapt-getinstallpython-pippython-dev
  2. exportTF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.9.0-cp27-none-linux_x86_64.whl
  3. sudopipinstall--upgrade$TF_BINARY_URL
出现错误:
  1. libcudart.so.7.5:cannotopensharedobjectfile:Nosuchfileordirectory

主要原因是上面的tensoftlow*.whl是cuda7.5编译好的,导致我们不能直接用。因此我们接着要自己编译才行。


现在的方法:参考https://www.tensorflow.org/versions/r0.12/get_started/os_setup.html#pip-installation

sudo apt-get install python-pip python-dev

sudo pip install --upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-0.12.0rc0-cp27-none-linux_x86_64.whl


 

以下是通过源码安装:

1、先装jdk

  1. sudoapt-getupdate
  2. sudoapt-getinstalldefault-jre
  3. sudoapt-getinstalldefault-jdk
2、安装编译工具Bazel
  1. echo"deb[arch=amd64]http://storage.googleapis.com/bazel-aptstablejdk1.8"|sudotee/etc/apt/sources.list.d/bazel.list
  1. curlhttps://storage.googleapis.com/bazel-apt/doc/apt-key.pub.gpg|sudoapt-keyadd-
  1. sudoapt-getupdate&&sudoapt-getinstallbazel

3、下载tensorflow并编译

  1. ./configure
遇到错误:

  1. Can'tfindswig.Ensureswigisin$PATHorset$SWIG_PATH.
安装swig:

  1. sudoapt-getinstallswig
4、在tensorflow安装的时候,没有找到可以忽略使用cudnn的选项,一直提示如下错误:
  1. PleasespecifythelocationwherecuDNNlibraryisinstalled.RefertoREADME.mdformoredetails.[Defaultis/usr/local/cuda]:
  2. InvalidpathtocuDnntoolkit.Neitherofthefollowingtwofilescanbefound:
  3. /usr/local/cuda-8.0/lib64/libcudnn.so
  4. /usr/local/cuda-8.0/libcudnn.so

所以没办法,只能把cudnn也给安装了。首先到官网下载cuda8.0对应的cudnn:
  1. cudnn-8.0-linux-x64-v5.0-ga.tgz

  1. tar-zxvfcudnn-8.0-linux-x64-v5.0-ga.tgz
  1. sudocpcuda/include/cudnn.h/usr/local/cuda/include/
  2. sudocpcuda/lib64/libcudnn*/usr/local/cuda/lib64/
  3. sudochmoda+r/usr/local/cuda/include/cudnn.h
  4. sudochmoda+r/usr/local/cuda/lib64/libcudnn*
安装完毕后,就接着前面的工作tensorflow的安装

5、输入.configure,然后一路回车、或者选择yes。

6、这是心酸,原来tensorflow官网给了从源码安装的教程:install from sources

  1. https://www.tensorflow.org/versions/r0.9/get_started/os_setup.html

参考文献:

http://textminingonline.com/dive-into-tensorflow-part-iii-gtx-1080-ubuntu16-04-cuda8-0-cudnn5-0-tensorflow

**********************作者微博:黄锦池-hjimce博客:http://blog.csdn.net/hjimce 原创文章,转载请保留本行信息********************



================================================================================================================================================================================================================================================================================================================================================


GTX1080因为其高性价比,被许多人买来用于进行并行计算用。tensorflow是当今最流行的深度学习库之一。很多人希望使用基于GPU计算的tensorflow来进行研究。tensorflow使用pip在线安装是非常方便的,可它偏偏不支持cuda8,仅支持cuda7.5.因此只能使用源码安装tensorflow.
下面是安装过程

1. ubuntu14.04安装与GTX1080图形加速驱动安装

这个不介绍,网上如何安装windows+ubuntu双系统一大堆,我是使用ultraISO刻录的ubuntu系统进行安装的。
在英伟达官网下载好对应你系统的.run格式的图形驱动后,同时按ctrl+alt+f1进入tty1模式,使用sudo service lightdm stop命令来停止x windows界面,否则安装的过程中会提示x windows在运行,终止显卡驱动安装,后面就是各种下一步了。注意后面会提示是否自动更新显示配置文件,要选择是,这样比较方便,不用手动配置了

2. cuda8.0 安装

因为GTX1080是pascal架构,不同于之前的maxwell架构. 最新的cuda8支持GTX1080,而cuda7.5不支持最新的GTX080. 英伟达需要登陆才可以下载,所以需要注册账号并填写类似问卷调查的东西才可以,不过问卷调查可以瞎胡写。

2.1 cuda8下载

cuda8下载地址: 为https://developer.nvidia.com/cuda-release-candidate-download
下载页面如图所示,选择Linux对应版本,可以选择.run文件,也可以选择.deb文件,这个不影响

2.2 cuda8.0安装

下载完成之后,入下载文件目录,执行
sudo sh cuda_8.0.27_linux.run 注意这里的版本号可能与你下载的有差别
然后就是各种下一步了,第一步让选择是否安装英伟达图形驱动,如果已经安装了就选择no,我是单独安装的。我也试过在新系统下让他在这一步安装图形驱动,可是有错误,我也不知道为啥,若有人知道,望告知。这一步选择不安装显卡驱动,是没问题的。
cuda安装过程中会让你选择是否创建/usr/local/cuda-8.0到/usr/local/cuda的符号链接,这一步最好选择是,如果切换版本,很方便。

3 cudnn5.1安装

3.1 cudnn下载

在英伟达cudnn界面下载cudnn5.1,这里也需要进行一个调查问卷,就三个选择题。

3.2 cudnn安装

具体的cudnn安装如下,其实都不能算是安装,就是把文件拷贝到cuda目录,改变一下权限。

tar xvzf cudnn-7.5-linux-x64-v4.tgz #这里要注意你下载的版本,需要解压你下载的对应版本的文件
#解压后的文件夹名字是cuda
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*

4. tensorflow安装

完整的tensorflow源码安装可以选择参考tensorflow官方安装文档中的安装教程,写的很详细!

4.1 tensorflow下载

从tensorflow的github仓库下载代码
$ Git clone https://github.com/tensorflow/tensorflow

4.2 bazel安装

bazel是谷歌的代码编译工具,类似make,官方安装教程在这里。
其最简单的安装步骤如下:

  • 安装jdk8, 这个不多说了,应该都会
  • 添加bazel的源
$ echo "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8" | sudo tee /etc/apt/sources.list.d/bazel.list #如果这里你用的是jdk7,要把jdk1.8替换为jdk1.7
$ curl https://storage.googleapis.com/bazel-apt/doc/apt-key.pub.gpg | sudo apt-key add -
  • 安装bazel $ sudo apt-get update && sudo apt-get install bazel
    到这里就结束了,你可以在终端输入bazel看是否安装上了。如果不行,你可以试一下官网提供的另外一种方法,下载bazel的安装文件,也超级简单。

4.3 下载其他依赖文件

# 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

4.4 编译tensorflow

4.4.1配置

因为我使用是anaconda,Python解释器也是用的anaconda里面自带的,使用起来比较方便。
进入tensorflow根目录

$ ./configure
Please specify the location of python. [Default is /usr/bin/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 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
Please specify the location where CUDA 7.5 toolkit is installed. Refer to README.md for more details. [Default is /usr/local/cuda]:
Please specify the cuDNN version you want to use. [Leave empty to use system default]: 5
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.

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
4.4.2 配置GPU支持,这一步耗费时间比较长
$ bazel build -c opt --config=cuda //tensorflow/cc:tutorials_example_trainer

$ bazel-bin/tensorflow/cc/tutorials_example_trainer --use_gpu
# Lots of output. This tutorial iteratively calculates the major eigenvalue of
# a 2x2 matrix,on GPU. The last few lines look like this.
000009/000005 lambda = 2.000000 x = [0.894427 -0.447214] y = [1.788854 -0.894427]
000006/000001 lambda = 2.000000 x = [0.894427 -0.447214] y = [1.788854 -0.894427]
000009/000009 lambda = 2.000000 x = [0.894427 -0.447214] y = [1.788854 -0.894427]

如果没有错误,执行下一步4.4.3,如果这一步出现依赖错误,如下所示

bazel build -c opt --config=cuda //tensorflow/cc:tutorials_example_trainer
ERROR: /home/yaroslavvb/tensorflow.git/tensorflow/tensorflow/core/kernels/BUILD:1080:1: undeclared inclusion(s) in rule '//tensorflow/core/kernels:cwise_op_gpu':
this rule is missing dependency declarations for the following files included by 'tensorflow/core/kernels/cwise_op_gpu_floor.cu.cc':
  '/usr/local/cuda-8.0/include/cuda_runtime.h'
  '/usr/local/cuda-8.0/include/host_config.h'
  '/usr/local/cuda-8.0/include/builtin_types.h'
  '/usr/local/cuda-8.0/include/device_types.h'
  '/usr/local/cuda-8.0/include/host_defines.h'
  '/usr/local/cuda-8.0/include/driver_types.h'
  '/usr/local/cuda-8.0/include/surface_types.h'
  '/usr/local/cuda-8.0/include/texture_types.h'

可以进入tensorflow/third_party/gpus/crosstool/目录,打开CROsstOOL文件,搜索cxx_builtin_include_directory,应该有三行,在下面添加行如下
cxx_builtin_include_directory: "/usr/local/cuda-8.0/include"
再次运行上一步的命令,应该就没问题了。

4.4.4 创建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.
#这一步之前,你要进入/te//tensorflow_pkg目录查看具体生成的whl文件的名称,这不是固定的
$ sudo pip install /tmp/tensorflow_pkg/tensorflow-0.10.0rc0-py2-none-any.whl

如果你希望安装到anaconda里面,在最后一步要使用anaconda自带的pip,而不是系统的pip,你使用sudo pip那一般就是用的系统自带的pip
你可以进入anaconda目录,一般在主目录下,进入bin目录,执行
./pip install /tmp/tensorflow_pkg/tensorflow-0.10.0rc0-py2-none-any.whl
至此,tensorflow应该就能使用了。

4.4.5(可选)设置tensorflow开发者功能

为了方面开发tensorflow的工作人员,可以在交互式命令中测试tensorflow,而不必重新安装它,可以执行一下步骤

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

5. 使用

打开python,import tensorflow,应该就可以工作了




参考文献

tensorflow相关参考文献:

https://www.tensorflow.org/versions/r0.12/get_started/os_setup.html#pip-installation

https://www.tensorflow.org/versions/r0.12/get_started/os_setup.html#installing-from-sources

https://bazel.build/versions/master/docs/install.html


http://blog.csdn.net/hjimce/article/details/51999566



================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================

文章参考来之:http://blog.csdn.NET/autocyz/article/details/52299889

本文只是为了本人自己下次安装有的参考,所做的记录。所以,大部分内容来自上面的参考博客(这只是个人为了下次方便,由于设计版权问题,所以建议大家还是去回原作者那里阅读。如果,遇到什么问题可以在借鉴本博客的方法!)。在结合自己机子遇到的情况加以修改!

1、安装nvidia驱动

首先去官网上查看适合你GPU的驱动( http://www.nvidia.com/Download/index.aspx?lang=en-us)

例如,本人的GPU适合的驱动如图:

执行如下语句:

  1. sudoadd-apt-repositoryppa:graphics-drivers/ppa
  2. sudoapt-getupdate
  3. sudoapt-getinstallnvidia-367
  4. sudoapt-getinstallmesa-common-dev
  5. sudoapt-getinstallfreeglut3-dev

原文是用下载文件安装的。但是这样可能会出现进不了图形化界面!所以,我选择了用ubuntu16.04图形化下自带的nvidia-367驱动。

操作如下:

system settings--->system下:Software&Updates--->更改下载源(下载软件加速效果)Download from: 改为aliyun--->Additional Drivers(从上面的查看中适合自己的版本,选择nvidia版本越高越好!)


执行完上述后,重启(reboot)。
重启后输入:

  1. nvidia-smi

如果出现了你的GPU列表,则说明驱动安装成功了。另外也可以通过
  1. nvidia-settings

查看自己机器上详细的GPU信息,本人机器的信息如下:


2、安装CUDAcuda是nvidia的编程语言平台,想使用GPU就必须要使用cuda

从这里下载cuda的安装文件 

https://developer.nvidia.com/cuda-release-candidate-download


我下载的是deb文件。

  1. sudodpkg-ixxxxxx.deb(下载的文件名)
  2. sudoapt-getupdate
  3. sudoapt-getinstallcuda


这里是nvidia给出的官方安装指南(遇到问题时可以查阅):
http://docs.nvidia.com/cuda/cuda-installation-guide-linux/#axzz4HIBXnwyt

  1. 安装完成后写入路径:
  2. sudogedit/etc/profile
  3. #最后添加
  4. exportPATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
  5. exportLD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
  6. source/etc/profile


3、测试cuda的Samples

  1. cd/usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
  2. make
  3. sudo./deviceQuery

如果显示的是一些关于GPU的信息,则说明安装成功了。(最后显示是PASS不是Faile!)

4、使用cudnn

首先去官网下载你需要的cudnn,下载的时候需要注册账号。选择对应你cuda版本的cudnn下载。这里我下载的是cudnn5.1,是个压缩文件(.tgz)

下载完cudnn5.0之后进行解压,cd进入cudnn5.1解压之后的include目录,在命令行进行如下操作

  1. sudocpcudnn.h/usr/local/cuda/include/#复制头文件

再将cd进入lib64目录下的动态文件进行复制和链接
  1. sudocplib*/usr/local/cuda/lib64/#复制动态链接库
  2. cd/usr/local/cuda/lib64/
  3. sudorm-rflibcudnn.solibcudnn.so.5#删除原有动态文件
  4. sudoln-slibcudnn.so.5.0.5libcudnn.so.5#生成软衔接
  5. sudoln-slibcudnn.so.5libcudnn.so#生成软链接
  6. sudoldconfig#更新链接,不然编译caffe会出现找不到cudnn的文件路径错误!

5、matlab的安装与配置

在网盘上下载安装包 http://pan.baidu.com/s/1nuKJc9N。里面有一个crack文件夹,用于破解;MATHWORKS_R2014A.iso用于安装。(最好用百度的专门下载软件!)
  1. 1、挂载iso(需新建matlab_iso文件夹):
  2. sudomount-oloopMATHWORKS_R2014A.iso~/matlab_is
  3. 2、开始安装:
  4. cd~/matlab_iso
  5. sudo./install
  6. 3、选择不联网安装
  7. 4、密钥随便输入,比如12345-67890-12345-67890
  8. 5、激活:选择”license_405329_R2014a.lic”文件进行激活(在Crack文件夹下面)
  9. 6、将libmwservices.so复制到/usr/local/MATLAB/R2014a/bin/glnxa64中:
  10. sudocplibmwservices.so/usr/local/MATLAB/R2014a/bin/glnxa64/libmwservices.so

6、安装opencv3.1.0

从官网上下载opencv3.1.0
http://opencv.org/downloads.html
并将其解压到你要安装的位置,假设解压到了/home

首先安装Ubuntu系统需要的依赖项,虽然我也不知道有些依赖项是干啥的,但是只管装就行,也不会占据很多空间的。


原文的在安装Python的依赖放在了caffe依赖中安装。但是,我自己在亲自实验后发现。make后会出现找不到python依赖。所以,建议python依赖放在这里先安装。反正早晚都是要装的。

  1. sudoapt-getupdate
  2. sudoapt-getinstall-ybuild-essentialcmakegitpkg-config
  3. sudoapt-getinstall-ylibprotobuf-devlibleveldb-devlibsnappy-devlibhdf5-serial-devprotobuf-compiler
  4. sudoapt-getinstall-ylibatlas-base-dev
  5. sudoapt-getinstall-y--no-install-recommendslibboost-all-dev
  6. sudoapt-getinstall-ylibgflags-devlibgoogle-glog-devliblmdb-dev
  7. sudoapt-getinstall-ypython-pip
  8. sudoapt-getinstall-ypython-dev
  9. sudoapt-getinstall-ypython-numpypython-scipy

如果,还有什么错误提示依赖关于依赖问题的可以自己上网找一些相关的安装,之后make clean然后重新make 就好了。
  1. sudoapt-getinstall--assume-yeslibopencv-devbuild-essentialcmakegitlibgtk2.0-devpkg-configpython-devpython-numpylibdc1394-22libdc1394-22-devlibjpeg-devlibpng12-devlibtiff5-devlibjasper-devlibavcodec-devlibavformat-devlibswscale-devlibxine2-devlibgstreamer0.10-devlibgstreamer-plugins-base0.10-devlibv4l-devlibtbb-devlibqt4-devlibfaac-devlibmp3lame-devlibopencore-amrnb-devlibopencore-amrwb-devlibtheora-devlibvorbis-devlibxvidcore-devx264v4l-utilsunzip


然后安装OpenCV需要的一些依赖项,一些文件编码解码之类的小编。

  1. sudoapt-getinstallbuild-essentialcmakegit
  2. sudoapt-getinstallffmpeglibopencv-devlibgtk-3-devpython-numpypython3-numpylibdc1394-22libdc1394-22-devlibjpeg-devlibpng12-devlibtiff5-devlibjasper-devlibavcodec-devlibavformat-devlibswscale-devlibxine2-devlibgstreamer1.0-devlibgstreamer-plugins-base1.0-devlibv4l-devlibtbb-devqtbase5-devlibfaac-devlibmp3lame-devlibopencore-amrnb-devlibopencore-amrwb-devlibtheora-devlibvorbis-devlibxvidcore-devx264v4l-utilsunzip

在终端中cd到opencv文件夹下,然后
  1. mkdirbuild#新建一个build文件夹,编译的工程都在这个文件夹里
  2. cdbuild/
  3. cmake-DCMAKE_BUILD_TYPE=RELEASE-DCMAKE_INSTALL_PREFIX=/usr/local-DWITH_TBB=ON-DWITH_V4L=ON-DWITH_QT=ON-DWITH_OPENGL=ON-DCUDA_NVCC_FLAGS="-D_FORCE_INLInes"..

cmake成功后,会出现如下结果,提示配置和生成成功:
  1. --Configuringdone
  2. --Generatingdone
  3. --Buildfileshavebeenwrittento:/home/ise/software/opencv-3.1.0/build

然后make编译就可以了
  1. make-j8

这个过程中可能会提示摸个***.h文件找不到。建议直接手动放到编译错误提示的目录下就好了。然后,make clean 重新make。


上面是将OpenCV编译成功,但是并没有安装到我们的系统中,有很多的设置都没有写入到系统中,因此还要进行install。

  1. sudomakeinstall
  2. sudo/bin/bash-c'echo"/usr/local/lib">/etc/ld.so.conf.d/opencv.conf'
  3. sudoldconfig

重启系统,重启系统后cd到build文件夹下:

  1. sudoapt-getinstallcheckinstall
  2. sudocheckinstall

然后按照提示安装就可以了。
使用checkinstall的目的是为了更好的管理我安装的opencv,因为opencv的安装很麻烦,卸载更麻烦,其安装的时候修改了一大堆的文件,当我想使用别的版本的opencv时,将当前版本的opencv卸载就是一件头疼的事情,因此需要使用checkinstall来管理我的安装。
执行了checkinstall后,会在build文件下生成一个以backup开头的.tgz的备份文件和一个以build开头的.deb安装文件,当你想卸载当前的opencv时,直接执行dpkg -r build即可。


7、安装caffe

首先安装各种依赖包

  1. sudoapt-getupdate
  2. sudoapt-getinstall-ybuild-essentialcmakegitpkg-config
  3. sudoapt-getinstall-ylibprotobuf-devlibleveldb-devlibsnappy-devlibhdf5-serial-devprotobuf-compiler
  4. sudoapt-getinstall-ylibatlas-base-dev
  5. sudoapt-getinstall-y--no-install-recommendslibboost-all-dev
  6. sudoapt-getinstall-ylibgflags-devlibgoogle-glog-devliblmdb-dev
  7. sudoapt-getinstall-ypython-pip
  8. sudoapt-getinstall-ypython-dev
  9. sudoapt-getinstall-ypython-numpypython-scipy

将终端cd到你要安装caffe的位置,执行如下指令,从github上clone caffe。
  1. gitclonehttps://github.com/BVLC/caffe.git//从github上gitcaffe
  2. cdcaffe//打开到刚刚git下来的caffe
  3. sudocpMakefile.config.exampleMakefile.config//将Makefile.config.example的内容复制到Makefile.config
  4. //因为make指令只能makeMakefile.config文件,而Makefile.config.example是caffe给出的makefile例子
  5. sudogeditMakefile.config//打开Makefile.config文件

  1. 打开之后修改如下内容:
  2. //若使用cudnn,则将#USE_CUDNN:=1修改成:USE_CUDNN:=1
  3. //若使用的opencv版本是3的,则将#OPENCV_VERSION:=3修改为:OPENCV_VERSION:=3
  4. //若要使用python来编写layer,则需要将#WITH_PYTHON_LAYER:=1修改为WITH_PYTHON_LAYER:=1
  5. //重要的一项将#Whateverelseyoufindyouneedgoeshere.下面的INCLUDE_Dirs:=$(PYTHON_INCLUDE)/usr/local/includeLIBRARY_Dirs:=$(PYTHON_LIB)/usr/local/lib/usr/lib
  6. 修改为:INCLUDE_Dirs:=$(PYTHON_INCLUDE)/usr/local/include/usr/include/hdf5/serial
  7. LIBRARY_Dirs:=$(PYTHON_LIB)/usr/local/lib/usr/lib/usr/lib/x86_64-linux-gnu/usr/lib/x86_64-linux-gnu/hdf5/serial//这是因为ubuntu16.04的文件包含位置发生了变化,尤其是需要用到的hdf5的位置,所以需要更改这一路径
  8. //若使用MATLAB接口的话,则要讲MATLAB_DIR换成你自己的MATLAB安装路径
  9. MATLAB_DIR:=/usr/local
  10. MATLAB_DIR:=/usr/local/matlab2014a

打开Makefile文件,

  1. NVCCFLAGS+=-ccbin=$(CXX)-Xcompiler-fPIC$(COMMON_FLAGS)
  2. 替换
  3. NVCCFLAGS+=-D_FORCE_INLInes-ccbin=$(CXX)-Xcompiler-fPIC$(COMMON_FLAGS)

编辑/usr/local/cuda/include/host_config.h,将其中的第115行注释掉:
  1. #error--unsupportedGNUversion!gccversionslaterthan4.9arenotsupported!
  2. 改为
  3. //#error--unsupportedGNUversion!gccversionslaterthan4.9arenotsupported!

最后在:
  1. makeall-j8
  2. makeruntest-j8
  3. makepycaffe-j8
  4. makematcaffe-j8

测试是否pycaffe成功:

caffe目录下:

终端输入:python

import sys

caffe_root = 'home/username/caffe/' (安装caffe的路径)

sys.path.insert(0,caffe_root + 'python')

import caffe

如果没错误就说明成功了。

cuda8.0+ubuntu+theano、caffe、tensorflow环境搭建的更多相关文章

  1. ios中的.dylib和.a lib有什么区别?

    我知道Objectivec中的编译和运行时是什么,但是我想知道是什么画了这两个库之间的界限?他们的目的是什么,除了陈述一个是静态的而另一个是动态的?我们何时需要一个而不是另一个?

  2. ios – 如何使用Objective C类中的多个参数调用Swift函数?

    本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请发送邮件至dio@foxmail.com举报,一经查实,本站将立刻删除。

  3. ios – Swift 4添加手势:覆盖vs @objc

    我想在我的视图中添加一个手势,如下所示:但是,在Swift4中,我的编译器给出了以下错误:建议添加@objc以将此实例方法公开给Objective-C.实现此目的的另一个选项将覆盖touchesBegan()函数并使用它来处理点击.我试图以“Swift”的方式做到这一点,而不必带入Obj-C.有没有纯粹的Swift方式来添加这个轻击手势而不使用@objc?

  4. ios – 将视频分享到Facebook

    我正在编写一个简单的测试应用程序,用于将视频从iOS上传到Facebook.由于FacebookSDK的所有文档都在Objective-C中,因此我发现很难在线找到有关如何使用Swift执行此操作的示例/教程.到目前为止我有这个在我的UI上放置一个共享按钮,但它看起来已禁用,从我读到的这是因为没有内容设置,但我看不出这是怎么可能的.我的getVideoURL()函数返回一个NSURL,它肯定包含视

  5. ios – 以编程方式在Swift中添加联系人

    我想在Swift中以编程方式添加联系人.我发现了一些Objective-C示例,但我没有让它们工作,甚至在Objective-C中也没有.我不希望这涉及到AddressBookUI,因为我想从我自己的UI中获取值.解决方法这是在Swift中添加联系人的快速方法.我在我的iPhone5iOS7.1上验证了它,因为我发现模拟器并不总是与我的手机对AB的东西相同.您可以添加一个按钮并指向此方法:顺便说一下–它假设你已经分配了一个地址簿var,你可以通过覆盖viewDidAppear来打开视图.它也会执行安全提示

  6. ios – Xcode警告:“没有处理文件的规则”和“找不到目录”

    重命名我的项目文件夹后,我收到以下错误消息:什么可能出错?解决方法关于第一个警告,您可以在项目设置中的“构建阶段”中检查XCode,即头文件不会出现在“编译源”列表中.

  7. ios – 为目标c中的方法传递未知类型的参数,可能吗?

    是否可以将未知类型的参数传递给objective-C方法?在C#中你可以写实现这一点,但我知道Objective-C没有泛型,所以有没有其他方法可以在Objective-C中实现这一点?我需要这个,因为我想创建一个方法来改变不同对象的文本颜色,如UITextField和UIButton的占位符文本.所以我的计划是创建一个名为textWhite的方法,然后在此方法中检查对象的类型,然后运行匹配的代码以使文本颜色变为白色.解决方法是的,可以传递未知类型的参数.见下面的例子.请参考使用id对象的链接作为参数Us

  8. ios – Swift指针算术和解除引用;将一些类似C的地图代码转换为Swift

    我有一点似乎没有工作的Swift代码……解决方法您正在指定locationPointer指向新位置,但仍在下一行中使用ptr,并且ptr的值尚未更改.将您的最后一行更改为:或者你可以改变指向var的指针并推进它:

  9. xamarin.ios – ShareKit与MonoTouch如何?

    有人可以验证ShareKit实际上是否可用于MonoTouch并指导我完成使其工作所需的步骤?解决方法您首先从getsharekit.com下载还是使用ShareKit2.0?

  10. 你如何将xcode项目转换为cocoapod?

    我有一段代码,我发现我在多个不同的项目中重复使用,所以我想把它变成一个cocoapod并使用私人cocoapod仓库.我的问题是如何将xcode项目设置为cocoapod?它应该是一个静态库还是一个带有appdelegate的空“项目”?

随机推荐

  1. crontab发送一个月份的电子邮件

    ubuntu14.04邮件服务器:Postfixroot收到来自crontab的十几封电子邮件.这些邮件包含PHP警告.>我已经解决了这些警告的原因.>我已修复每个cronjobs不发送电子邮件(输出发送到>/dev/null2>&1)>我删除了之前的所有电子邮件/var/mail/root/var/spool/mail/root但我仍然每小时收到十几封电子邮件.这些电子邮件来自cronjobs,

  2. 模拟两个ubuntu服务器计算机之间的慢速连接

    我想模拟以下场景:假设我有4台ubuntu服务器机器A,B,C和D.我想在机器A和机器C之间减少20%的网络带宽,在A和B之间减少10%.使用网络模拟/限制工具来做到这一点?

  3. ubuntu-12.04 – 如何在ubuntu 12.04中卸载从源安装的redis?

    我从源代码在Ubuntu12.04上安装了redis-server.但在某些时候它无法完全安装,最后一次makeinstallcmd失败.然后我刚刚通过apt包安装.现在我很困惑哪个安装正在运行哪个conf文件?实际上我想卸载/删除通过源安装的所有内容,只是想安装一个包.转到源代码树并尝试以下命令:如果这不起作用,您可以列出软件自行安装所需的步骤:

  4. ubuntu – “apt-get source”无法找到包但“apt-get install”和“apt-get cache”可以找到它

    我正在尝试下载软件包的源代码,但是当我运行时它无法找到.但是当我运行apt-cache搜索squid3时,它会找到它.它也适用于apt-getinstallsquid3.我使用的是Ubuntu11.04服务器,这是我的/etc/apt/sources.list我已经多次更新了.我尝试了很多不同的debs,并没有发现任何其他地方的错误.这里的问题是你的二进制包(deb)与你的源包(deb-src)不

  5. ubuntu – 有没有办法检测nginx何时完成正常关闭?

    &&touchrestarted),因为即使Nginx没有完成其关闭,touch命令也会立即执行.有没有好办法呢?这样的事情怎么样?因此,pgrep将查找任何Nginx进程,而while循环将让它坐在那里直到它们全部消失.你可以改变一些有用的东西,比如睡1;/etc/init.d/Nginx停止,以便它会休眠一秒钟,然后尝试使用init.d脚本停止Nginx.你也可以在某处放置一个计数器,这样你就可以在需要太长时间时发出轰击信号.

  6. ubuntu – 如何将所有外发电子邮件从postfix重定向到单个地址进行测试

    我正在为基于Web的应用程序设置测试服务器,该应用程序发送一些电子邮件通知.有时候测试是使用真实的客户数据进行的,因此我需要保证服务器在我们测试时无法向真实客户发送电子邮件.我想要的是配置postfix,以便它接收任何外发电子邮件并将其重定向到一个电子邮件地址,而不是传递到真正的目的地.我正在运行ubuntu服务器9.10.先感谢您设置本地用户以接收所有被困邮件:你需要在main.cf中添加:然后

  7. ubuntu – vagrant无法连接到虚拟框

    当我使用基本的Vagrantfile,只配置了两条线:我看到我的虚拟框打开,但是我的流氓日志多次显示此行直到超时:然后,超时后的一段时间,虚拟框框终于要求我登录,但是太久了!所以我用流氓/流氓记录.然后在我的物理机器上,如果我“流氓ssh”.没有事情发生,直到:怎么了?

  8. ubuntu – Nginx – 转发HTTP AUTH – 用户?

    我和Nginx和Jenkins有些麻烦.我尝试使用Nginx作为Jenkins实例的反向代理,使用HTTP基本身份验证.它到目前为止工作,但我不知道如何传递带有AUTH用户名的标头?}尝试将此指令添加到您的位置块

  9. Debian / Ubuntu – 删除后如何恢复/ var / cache / apt结构?

    我在ubuntu服务器上的空间不足,所以我做了这个命令以节省空间但是现在在尝试使用apt时,我会收到以下错误:等等显然我删除了一些目录结构.有没有办法做apt-getrebuild-var-tree或类似的?

  10. 检查ubuntu上安装的rubygems版本?

    如何查看我的ubuntu盒子上安装的rubygems版本?只是一个想法,列出已安装的软件包和grep为ruby或宝石或其他:)dpkg–get-selections

返回
顶部