Ubuntu16.04+Tensorlow+caffe+opencv3.1+theano部署
1.首先安装Ubuntu16.04系统.
2.安装显卡驱动
在官网上下载最新的NVIDIA-Linux-x86_64-375.26.run驱动.然后
Ctrl+Alt+F1进入控制台,输入
sudo service lightdm stop
sudo sh NVIDIA-Linux-x86_64-375.26.run
安装驱动的时候会冒出一个 The distribution-provided pre-install script failed! Are you sure you want to continue?这样的错误提示,直接无视下一步就可以了.
安装过后
sudo service lightdm start
切换回桌面.
安装过后用nvidia-smi命令验证一下是不是安装成功,如果重启之后没有黑屏的话那么恭喜你安装成功了.
3.安装cuda
安装cuda最新的驱动cuda_8.0.44_linu.run, 这个驱动据说解决了gcc-5版本的坑, 因为我的ubuntu最新自带的是gcc-5.4, 也没有降级去验证. 只是没遇到这样的坑,我想应该是解决了.
之后就是配置CUDA环境变量:
sudo gedit ~/.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 gedit /etc/profile
在文件末尾加上:
export PATH = /usr/local/cuda/bin:$PATH
最后创建conf文件:
sudo gedit /etc/ld.so.conf.d/cuda.conf
在conf文件里加入以下内容:
/usr/local/cuda/lib64
执行
sudo ldconfig
这一切完成之后运行一下cuda的例子看看能不能成功运行.
4.CUDNN
下载cuDNN v5.1 Library for Linux并解压.
进入cudnn5.1解压之后的include目录,在命令行里把cudnn的头文件和库文件复制到相应的目录下:
sudo cp ./include/cudnn.h /usr/local/cuda/include/
sudo cp ./lib64/lib* /usr/local/cuda/lib64/
接着进入/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就算是安装好了.
接下来的就要讨论一些容易入坑的问题了.
5.caffe安装
为什么我要先安装caffe? 因为caffe和tensorflow有一些共同依赖的库.并且用sudo apt-get安装的依赖库的版本都不一样.
例如caffe的protobuf库是3.0.0的是用gcc5编译的, 而tensorflow的是3.0.1的,并且是用gcc4的版本编译的,所以如果先安装了tensorflow后会出现各种稀奇古怪的问题.
解决这个问题有两个途径:
(1). 自行手动下载和编译boost, protobuf, gflags, glog等库;然后python安装protobuf
.........................protobuf......................
cd ~ git clone https://github.com/google/protobuf.git
sudo apt-get install autoconf automake libtool curl unzip
cd protobuf
./autogen.sh
./configure --prefix=/usr/local
make
make check
sudo make install
sudo ldconfig # refresh shared library cache.
.........................glog..........................
modify CMakeLists.txt
add this to CMakeLists:
set(BUILD_SHARED_LIBS TRUE)
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
.........................gflags.........................
modify CMakeLists.txt
add this to CMakeLists:
set(GFLAGS_BUILD_SHARED_LIBS TRUE)
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
(2).使用系统自带的python库编译caffe, anaconda安装tensorflow, 这样两种库就不会打架了,副作用就是必须用多版本的python, 网上有pydev的方法可以解决这个问题.
以上两种方法亲测有效.但是我更倾向于第一种,而且我自己的机器也是按照第一种方法安装的.
A.安装Anaconda2.
下载和安装Anaconda2.并替换掉一些4.x版本的gcc动态库:libstdc++,libgomp, libquadmath
libstdc++.so
libstdc++.so.6
libstdc++.so.6.0.19
把这些换成系统自带的.例如我的是libstdc++.so.6.0.21
B.之后就是安装caffe安装的依赖项.
sudo apt-get install libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev liblmdb-dev libopencv-dev libopenblas-dev liblapack-dev libatlas-base-dev
C.按照官方的要求修改makefile.
https://github.com/BVLC/caffe/wiki/Ubuntu-16.04-or-15.10-Installation-Guide
D编译caffe.
6.编译opencv3.1
A.首先安装opencv依赖项
sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev
sudo apt-get install libgtk2.0-dev libtbb-dev
sudo apt-get install libatlas-base-dev gfortran
B.编译opencv
cmake -D CMAKE_BUILD_TYPE=RELEASE -D PYTHON2_EXECUTABLE=yourPYTHONpath/anaconda2/ -D PYTHON_INCLUDE_DIR=yourPYTHONpath/anaconda2/include/ -D PYTHON_LIBRARY=yourPYTHONpath/anaconda2/lib/libpython2.7.so -D PYTHON2_NUMPY_INCLUDE_DIRS=yourPYTHONpath/anaconda2/lib/python2.7/site-packages/numpy/core/include/ -D PYTHON2_PACKAGES_PATH=yourPYTHONpath/anaconda2/lib/python2.7/site-packages/ -D OPENCV_EXTRA_MODULES_PATH=yourPYTHONpath/OpenCV/opencv_contrib/modules -D CMAKE_INSTALL_PREFIX=/usr/local/opencv3 ..
注意最后是空格加两点
7.安装theano
这个比较简单,直接sudo apt-get theano就安装了
8.安装Tensorflow
因为之前已经安装较高且较新的protobuf之类的依赖库, 所以tensorflow安装时不会替换更新一点的protobuf, 因此安装后不会出现打架的情况.
Ubuntu16.04+Tensorlow+caffe+opencv3.1+theano部署的更多相关文章
- Ubuntu16.04+cuda8.0rc+opencv3.1.0+caffe+Theano+torch7搭建教程
https://blog.csdn.net/jywowaa/article/details/52263711 学习中用到深度学习的框架,需要搭建caffe.theano和torch框架.经过一个月的不 ...
- Ubuntu16.04下Mongodb官网卸载部署步骤(图文详解)(博主推荐)
不多说,直接上干货! 前期博客 Ubuntu16.04下Mongodb官网安装部署步骤(图文详解)(博主推荐) https://docs.mongodb.com/manual/tutorial/ins ...
- Ubuntu16.04下caffe CPU版的详细安装步骤
一.caffe简介 Caffe,是一个兼具表达性.速度和思维模块化的深度学习框架. 由伯克利人工智能研究小组和伯克利视觉和学习中心开发. 虽然其内核是用C++编写的,但Caffe有Python和Mat ...
- Ubuntu16.04 faster-rcnn+caffe+gpu运行环境配置以及解决各种bug
https://blog.csdn.net/flygeda/article/details/78638824 本文主要是对近期参考的网上各位大神的博客的总结,其中,从安装系统到跑通程序过程中遇到的各种 ...
- caffe+CPU︱虚拟机+Ubuntu16.04+CPU+caffe安装笔记
由于本机是window10系统,所以想尝试caffe就在自己电脑上整了一个虚拟机(详情可见:win10系统搭建虚拟机:VMware Workstation Player 12环境+Ubuntu Kyl ...
- ubuntu16.04下安装opencv3.4.1及其扩展模块
1.源文件下载 opencv-3.4.1.tar.gz(https://github.com/opencv/opencv/releases) opencv_contrib-3.4.1.tar.gz(h ...
- ubuntu16.04下caffe以cpu运行faster rcnn demo
参考https://haoyu.love/blog404.html 获取并修改代码 首先,我们需要获取源代码: git clone --recursive https://github.com/rbg ...
- ubuntu16.04下安装opencv3.3
最近重装了ubuntu16.04的系统,在给电脑配置好cuda8.0和cudnn6.0的版本后,开始重新安装opencv,在opencv的官网上发现最新版本3.3版本增加了很多深度学习方面的东西,果断 ...
- [置顶]
caffe+CPU︱虚拟机+Ubuntu16.04+CPU+caffe安装笔记
由于虚拟机下的Ubuntu系统一般不包含GPU,故这次安装时为了在无GUP环境下运行caffe.所以只需安装CPU版本的caffe 由于本机是window10系统,所以想尝试caffe就在自己电脑上整 ...
随机推荐
- sis9280触摸ic 基于rk3288 的安卓4.4的 多点触摸
前言:sis提供的驱动ic.基于rk3288的安卓系统.亲眼看到人家完成一次移植.很激动的记下一些东西..虽然我看不懂.其实现在的工作也不需要看懂.叫人协助就好,只需要知道有这个东西. 1linux下 ...
- Hadoop程序运行中的Error(1)-Error: org.apache.hadoop.hdfs.BlockMissingException
15/03/18 09:59:21 INFO mapreduce.Job: Task Id : attempt_1426641074924_0002_m_000000_2, Status : FAIL ...
- 学习SVG系列(3):SVG Stroke属性
SVG stroke 属性 1.stroke 2.stroke-width 3.stroke-linecap 4.stroke-dasharray 5.stroke-opacity 6.stroke- ...
- C++ Daily 《6》---- 类静态对象与函数静态对象
C++ 的一个哲学基础是,你不应该为你使用的东西付出代价. class 拥有一个 static 成员,即使从未被用到,它也会被构造和析构: 而 函数拥有一个 static 成员, 如果这个函数从未被调 ...
- C++深拷贝与浅拷贝
当用一个已初始化过了的自定义类类型对象去初始化另一个新构造的对象的时候,拷贝构造函数就会被自动调用.也就是说,当类的对象需要拷贝时,拷贝构造函数将会被调用.以下情况都会调用拷贝构造函数: (1)一个对 ...
- grep 命令操作
linux grep命令 1.作用Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expressi ...
- eclipse新建文件模板默认charset=ISO-8859-1解决
在安装目录下找到eclipse.ini用记事本打开,添加一行-Dfile.encoding=utf-8,就ok了. 这是应为模板中使用了encoding这个变量
- Qt for Android开发Android应用时的各种错误汇总(此片博文不成熟,请大家略过)
“Qt for Android真的很脆弱,项目能跑起来靠的是奇迹,跑不起来,各种报错才是正常...” 问题一:Qt for Android编译不过:make (e=2): 系统找不到指定的文件. 之前 ...
- python之变量篇
列表:a=['a',112,'bss']元组:只读列表,不能二次赋值str=('s','t',1.5)元字典:用"{ }"标识,键值对存储dic={}dic['s']='test' ...
- Android手机刷机失败的自救方法
刷机对于一些android手机的高级用户来说已经是家常便饭了,很多新手也都跟着教程轻松了学会刷机.升级系统,也都开始经常在网上搜罗一些自制的系统进行刷机,体验新系统带来的新感觉.但是有句古话叫常在河边 ...