Caffe搭建:Ubuntu14.04 + CUDA7.0 + opencv3.0 + Matlab2014A
从Hinton在science上发表深度学习训练开创新的文章以来,深度学习火了整整有3年多,而且随着新的硬件和算法的提出,深度学习正在应用于越来越多的领域,发挥其算法的优势。
实验室并没有赶上第一波深度学习热,但是让人高兴的是最近终于配了一台超级电脑,虽说和谷歌、百度几百个上千个GPU跑算法的设备不能比,但是好歹终于有了搭建自己的深度学习平台,想想还很是兴奋。最近这几天忙着搭建深度学习平台,把现在最火的Caffe框架代码跑通,从最初对ubuntu的菜鸟到现在顺利搭建起深度学习平台,中间走了很多弯路,现在把自己从系统安装到最后测试中遇到的问题及关键步骤记录下来,加深对caffe理解的同时,也方便自己后续安装时重新查找资料,避免浪费时间和精力。
一、 深度学习工作站搭建(硬件):
工欲善其事,必先利其器,对于现在大火的深度学习来说更是如此,如果所在实验室或者公司没有相应的人员来进行专门的维护和服务,那么自己掌握这样一项技能,对于自己后续工作开展、以及服务站升级与维护也是非常方便的。
废话不多说,进入正题。
总体思路可参考该连接下filestorm的回答,本文只是告诉你如何进行甄选,以及配置。
如何配备深度学习工作站:链接
如果是使用台式机进行配置,那么必须清楚,配置深度学习工作站和电脑是一样的。
总体原则:如果经费充足,那么所有的硬件都往当前最好的上,显卡,主板,CPU,电源,机箱,内存,硬盘都是最好的,那么该工作站肯定没问题。
但是一般情况下,老师给的经费不那么充裕,所以就需要数着指头过日子,这时候给的建议一句话总结就是:因为显卡贵,所以优先买最好的显卡,让其他硬件适应显卡,而不是让GPU适应其他硬件。
而购买优先权是:显卡,CPU,主板,内存,硬盘,电源。
GPU的型号确定之后,其他的硬件配套就好。
以我的电脑为例,我的电脑配置为:
主板: ASUS Z97-AR
GPU: NVIDIA GTX980 TI(6G)
硬盘: 128G SSD + 2T 机械硬盘
CPU: i7-4790k(8核)
我的主板是ASUS 的Z97-AR,因为主板上提供的物理接口数量直接从硬件上限定死了可并行GPU数量。
我的主板上有两个PCIE X_16 3.0,一个PCIE X_16 2.0,因此最多可以装3个GPU,关于关于PCIE 3.0和PCIE 2.0的区别见下图。
我 们都知道显卡工作流程是由CPU和GPU协作完成的,CPU负 责三角形设定(Triangle Setup)和GPU负责三角形光栅化(Triangle Rasterize)【DirectX 10中加入的几何着色器使GPU可以负责一部分Setup工作】。我们进行游戏时CPU和GPU是不断交换数据的,大部分情况下都是GPU收到CPU的渲 染指令,而他们之间的通信是用PCI-E总线来进行的。
因此,CPU的选取也是限制GPU性能发挥的最主要的因素:
解释见:连接
CPU的规格中一个很重要的参数是:PCI-E的数量
我的cpu型号为i7-4790k, 该CPU提供24条通道(20条是PCI-E 3.0,4条是PCI-E 2.0,其中4条3.0分配给了集成显卡,4条2.0分配给了DMI 2.0总线,剩下的以插槽形式提供给独显等);
因此CPU只剩下16条PCI-E通道留给独显,所以最好是配一个GPU,最多两个GPU进行交火。
根据木桶原理,我这台机器最多可以配2个GPU进行工作,但是由于CPU PCIE数量的限制,使用一个GPU时也可以发挥最大效能。使用两个GPU,那么对于高端显卡,带宽可能会不够。(8GB vs 16GB)
二、 深度学习平台搭建(软件):
软件版本:
Ubuntu 14.04(X_64)
CUDA 7.0
opencv3.0.0
Matlab 2015B
软件平台部分组织结构:
- 第一部分:Ubuntu系统的安装;
- 第二部分:CUDA 7.0的安装;
- 第三部分:安装cuDNN
- 第四部分:安装Intel MKL 或Atlas
- 第五部分:安装opencv 3.0
- 第六部分:安装Caffe所需要的Python环境
- 第七部分:安装Matlab并配置
- 第八部分:编译Caffe
- 第九部分:使用MNIST数据集进行测试
第一部分:Ubuntu14.04安装
1.1 从ubuntu官网或者其它镜像网站下载Ubuntu 14.04(正常情况下,镜像文件名字叫ubuntu-14.04.3-desktop-amd64.iso,1G左右);
1.2 使用nero或者ultraISO 将该镜像文件刻录到DVD。注意在刻录ISO文件时,选择“刻录镜像文件到光盘”这个选项,该选项刻录的光盘选择光驱启动时,可以直接进行光盘安装;
1.3 从光盘启动后,会出现14.04这样一个画面,接下来就是满屏字母文字,可主要参考Ubuntu安装方法 ,设置略有不同。
1.3.1. 这时候只是建立了Ubuntu14.04的引导项,需要使用桌面的安装图标进行安装->选择语言,配置caffe时最好选用English,因为Ubuntu对中文支持并不是特别好,使用过程中选择英文会方便很多。
(安装时可以选用中文,安装好之后可以在设置中将语言更改为英文,不过最好刚开始时就选择英文)
1.3.2. 安装类型:其它选项
1.3.3. 接下来需要设置分区,首先设置交换空间大小,与电脑内存差不多或为电脑内存的两倍
分区设置时
swap 交换分区,主要用于休眠时系统文件,一般设置内存大小,32G
/boot Ubuntu内核目录,网上一般建议100M,个人建议硬盘空间够的话1G左右,因为系统内核虽然不大,但是更新占空间还是挺大,至少300M
/ Ubuntu根目录,这里建议硬盘剩余所有空间都分配给根目录,至少保证有100G左右,因为后续安装的很多程序包都会在/根目录下面
这3个分区均为ext4文件系统,注意linux系统的1G对应1000M。
1.3.4. 接下来就是设置地区、键盘布局,接着就是用户名和密码,参照网上其它教程。
安装过程中遇到问题时,请善用百度和谷歌,推荐使用谷歌镜像 对遇到的问题进行及时搜索。
现在我们已经安装好了Ubuntu(64bit),接下来就进行CUDA7.0安装。
注:安装了Win+Ubuntu双系统,特别是先安装win之后,再安装Ubuntu系统,引导项会默认选择Ubuntu。如果常用系统是windows的话,每次都需要手动选取,特别不方便。
因此需要更改默认引导系统,对Ubuntu下面的Grub进行修改:修改教程请戳我
第二部分:CUDA 7.0
在安装好Ubuntu(64bit)系统之后,在配置Caffe环境之前,请先连上互联网。ubuntu在某些情况下不安装mentohust也可以联网,这部分可参见:Linux使用mentohust连接锐捷校园网教程
经测试,在Ubuntu下直接在网络连接里面输入用户名,密码即可连上网络,推测Ubuntu14.04应该自身集成锐捷协议。
2.1. 安装CUDA7.0
2.1.1 安装Caffe所需依赖包
sudo apt-get install build-essential # basic requirement
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler #required by caffe
2.1.2 安装CUDA7.0
安装CUDA有两种方法,
离线.run安装:从官网下载对应版本的.run安装包安装。
在离线.deb安装:deb安装分离线和在线,我都尝试过都安装成功了,官网下载地址
推荐使用在线deb安装方法。ps:在安装cuda时,已经同时安装显卡驱动,所以没有必要再装显卡驱动。
sudo dpkg -i cuda-repo-ubuntu1404-7-0-local_7.0-28_amd64.deb
sudo apt-get update
sudo apt-get install cuda
然后重启电脑。
Tips:如果安装不成功,卸载多试几次。
2.1.3 设置环境变量:
(设置环境变量时,首先确定好cuda安装路径和位置,这一步非常重要,在安装时不需要对下面位置进行修改,系统会自动建立连接)
sudo gedit /etc/profile
添加内容:
PATH=/usr/local/cuda/bin:$PATH
export PATH
保存后, 执行下列命令, 使环境变量立即生效
source /etc/profile
同时需要添加lib库路径: 在 /etc/ld.so.conf.d/加入文件 cuda.conf, 内容如下
/usr/local/cuda/lib64
保存后,执行下列命令使之立刻生效
sudo ldconfig
2.2 安装CUDA SAMPLE:
进入/usr/local/cuda/samples, 执行下列命令来build samples
sudo make all -j8
全部编译完成后, 进入 ./bin/x86_64/linux/release, 运行deviceQuery
./deviceQuery
如果出现显卡信息, 则驱动及显卡安装成功:
CUDA Device Query (Runtime API) version (CUDART static linking) Detected CUDA Capable device(s) Device : "GeForce GTX 980 Ti"
CUDA Driver Version / Runtime Version 7.0 / 7.0
CUDA Capability Major/Minor version number: 5.2
Total amount of global memory: MBytes ( bytes)
() Multiprocessors, () CUDA Cores/MP: CUDA Cores
GPU Max Clock rate: MHz (1.08 GHz)
Memory Clock rate: Mhz
Memory Bus Width: -bit
L2 Cache Size: bytes
Maximum Texture Dimension Size (x,y,z) 1D=(), 2D=(, ), 3D=(, , )
Maximum Layered 1D Texture Size, (num) layers 1D=(), layers
Maximum Layered 2D Texture Size, (num) layers 2D=(, ), layers
Total amount of constant memory: bytes
Total amount of shared memory per block: bytes
Total number of registers available per block:
Warp size:
Maximum number of threads per multiprocessor:
Maximum number of threads per block:
Max dimension size of a thread block (x,y,z): (, , )
Max dimension size of a grid size (x,y,z): (, , )
Maximum memory pitch: bytes
Texture alignment: bytes
Concurrent copy and kernel execution: Yes with copy engine(s)
Run time limit on kernels: Yes
Integrated GPU sharing Host Memory: No
Support host page-locked memory mapping: Yes
Alignment requirement for Surfaces: Yes
Device has ECC support: Disabled
Device supports Unified Addressing (UVA): Yes
Device PCI Domain ID / Bus ID / location ID: / /
Compute Mode:
< Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) > deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 7.0, CUDA Runtime Version = 7.0, NumDevs = , Device0 = GeForce GTX Ti
Result = PASS
*注:我安装时CUDA Driver Version和CUDA Runtime Version不同,不过暂时不影响,安装时候两个版本最好一样。
如果没有这些信息,那肯定是安装不成功,可以逐步排除一下原因!
第三部分:安装cuDNN
这里强烈建议大家安装与cuda版本相匹配的cudnn,这样会避免很多不必要的兼容麻烦。比如我安装的是cuda-7.0版本,那么安装cudnn-v3以上会比较好。
下载cudnn-7.0-linux-x64-v3.0-prod.tgz。
sudo cp include/cudnn.h /usr/local/include
sudo cp lib64/libcudnn.* /usr/local/lib
链接cuDNN的库文件
sudo ln -sf /usr/local/lib/libcudnn.so.7.0.64 /usr/local/lib/libcudnn.so.7.0
sudo ln -sf /usr/local/lib/libcudnn.so.7.0 /usr/local/lib/libcudnn.so
sudo ldconfig -v
如果在使用cudnn的lib 或者cudnn.h 时出现Permission denied提示,那么说明copy过去的文件当前系统没有权限使用,那么在拷贝过去之前,先对文件授权
修复方式:
cd /usr/local/cuda/lib64/
sudo su
chmod 777 -R libcudnn.so
chmod 777 -R libcudnn.so.7.0
chmod 777 -R libcudnn.so.7.0.64
cd ..
cd include
chmod 777 -R cudnn.h
cudnn-v4安装,适用于cuda7.0 以及later
a. 安装前请去先官网下载最新的cuDNN (cudnn-7.0-linux-x64-v4.0-rc.tgz)。
sudo cp include/cudnn.h /usr/local/include
sudo cp lib64/libcudnn.* /usr/local/lib
b. 链接cuDNN的库文件
sudo ln -sf /usr/local/lib/libcudnn.so.4.0. /usr/local/lib/libcudnn.so.
sudo ln -sf /usr/local/lib/libcudnn.so. /usr/local/lib/libcudnn.so
sudo ldconfig -v
cudnn-v5.1-cuda8.0 安装:
a. 安装前请去先官网下载最新的cuDNN (cudnn-8.0-linux-x64-v5.1.tgz)。
sudo cp include/cudnn.h /usr/local/include
sudo cp lib64/libcudnn.* /usr/local/lib
b. 链接cuDNN的库文件
sudo ln -sf /usr/local/lib/libcudnn.so.5.1.10 /usr/local/lib/libcudnn.so.5
sudo ln -sf /usr/local/lib/libcudnn.so.5 /usr/local/lib/libcudnn.so
sudo ldconfig -v
第四部分:安装Intel MKL 或Atlas
Atlas安装命令(caffe默认也是atlas,Intel MKL需要申请):
sudo apt-get install libatlas-base-dev
**注:这里最好直接安装intel的mkl核心,因为后面调试matlab接口时候还是需要用到mkl库,所以虽然比较麻烦,但是在安装时候直接安装mkl会好一些。
在这一模块可以选择(ATLAS,MKL或者OpenBLAS),我这里使用MKL,首先下载并安装英特尔® 数学内核库 Linux* 版MKL,下载链接, 请下载Student版,先申请,然后会立马收到一个邮件(里面有安装序列号),打开照着下载就行了(可以下载离线版或在线安装版,在线版名称为parallel_studio_xe_2016_online.sh)。通过在线版可以直接安装。
若使用离线版安装,文件下载完之后,要把文件解压到home文件夹(或直接 把tar.gz文件拷贝到home文件夹,为了节省空间,安装完记得把压缩文件给删除喔~),或者其他的ext4的文件系统中。
tar zxvf parallel_studio_xe_2015.tar.gz
chmod a+x parallel_studio_xe_2015 -R
sudo ./install_GUI.sh
安装完成之后,需要设置mkl的配置文件
1. 新建intel_mkl.conf, 并编辑之:
sudo gedit /etc/ld.so.conf.d/intel_mkl.conf
在文件中加入配置路径
/opt/intel/lib/intel64
/opt/intel/mkl/lib/intel64
第五部分:安装opencv3.0
切换目录Ubuntu\3.0\安装OpenCV 3.0.0rc1:
sudo sh opencv3_0_0-rc1.sh
保证网络畅通,因为软件需要联网这里时间较长,请耐心等待。
*注:打开.sh文件可以看到,在安装过程中需要下载opencv-3.0.0-rc1.zip文件,如果下载过程中出现问题,安装过程则会失败。这时可以选择自己下载,然后执行.sh文件中的安装编译过程。
懒人版:
如果对opencv版本没有特殊要求,为了省时间,可以直接通过Ubuntu的包管理进行安装,即通过apt-get install进行安装,该安装方法会根据现在系统的版本,cuda版本以及其他信息自动安装caffe所需要的库,极大地缩短了安装时间。
(因为通过上述方式进行安装的过程,需要在本地使用cmake软件进行编译,所以非常耗时)
sudo apt-get install libopencv-dev
使用该命令安装的opencv版本为2.8.4,安装的为caffe最小依赖的包(个人理解),但是使用该方法安装opencv速度快,可以很快的部署好caffe的环境。
第六部分:安装Caffe所需要的Python环境
python选用环境较多,根据个人喜好进行安装。常用的有:
bash Anaconda-2.3.-Linux-x86_64.sh
使用anaconda,则需要在Makefile.config中进行配置:
把之前的PYTHON_INCLUDE一定不加注释,把ANACONDA_HOME以及下面的PYTHON_INCLUDE 都去掉,并且改为如下图最终的样子:
# NOTE: this is required only if you will compile the python interface.
# We need to be able to find Python.h and numpy/arrayobject.h.
PYTHON_INCLUDE := /usr/include/python2.7 \
/usr/lib/python2.7/dist-packages/numpy/core/include
# Anaconda Python distribution is quite popular. Include path:
# Verify anaconda location, sometimes it's in root.
ANACONDA_HOME := $(HOME)/anaconda2
PYTHON_INCLUDE := $(ANACONDA_HOME)/include \
$(ANACONDA_HOME)/include/python2.7 \
$(ANACONDA_HOME)/lib/python2.7/site-packages/numpy/core/include \ # We need to be able to find libpythonX.X.so or .dylib.
PYTHON_LIB := /usr/lib
# PYTHON_LIB := $(ANACONDA_HOME)/lib
在执行make all -j8过程中遇到错误:
error:
./include/caffe/util/cudnn.hpp:8:34: fatal error: caffe/proto/caffe.pb.h: No such file or directory
#include "caffe/proto/caffe.pb.h"
解决方案:
cd caffe
protoc src/caffe/proto/caffe.proto --cpp_out=.
mkdir include/caffe/proto
mv src/caffe/proto/caffe.pb.h include/caffe/proto
在执行make all -j8 时遇到的另外一个错误:
fatal error: pyconfig.h: No such file or directory
解决方案:
export CPLUS_INCLUDE_PATH=/usr/include/python2.7/:$CPLUS_INCLUDE_PATH
source ~/.bashrc
安装python环境就是为了提供一个好的python开发环境,因此推荐大家安装caffe官网推荐的ipython-notebook,安装方便,使用也简单, Jupyter安装地址
python由于其语言的特殊性,因此对编辑软件依赖较高。但是大神一般都用vim编辑器,一般刚入门也推荐使用sublime,配置编译环境以及需要的各种package,网上搜索教程,很方便。
第七部分:安装Matlab2014a
1. 下载
由于该软件为商业软件,请大家自行寻找,安装学习,并确保不使用做商业目的,下载24小时删除......(地址)
2. 预准备
选择Mathworks.Matlab.R2014a.Unix.iso - 右键 - 使用磁盘映像挂载器打开”
进入装载的虚拟光盘,拷贝全部文件至home/Matlab 文件夹
(PS:我的原则是能GUI就GUI,喜欢CMD的可以参照执行)
复制Crack/install.jar至 home/Matlab/java/jar/ 并覆盖源文件
$ sudo cp install.jar /home/Matlab/java/jar/
3. 授权安装文件夹
$ chmod a+x Matlab -R
4. 安装
$ sudo ./install
选项:不使用Internet安装
序列号: 12345-67890-12345-67890
默认路径:/usr/local/MATLAB/R2014a
5.激活
激活文件:Crack/license_405329_R2014a.lic
拷贝 license_405329_R2014a.lic 至 /usr/local/MATLAB/
sudo cp Crack/license_405329_R2014a.lic /usr/local/MATLAB/
将Crack/Linux文件夹下的libmwservices.so copy到 /usr/local/MATLAB/R2014A/bin/gln
sudo cp Crack/Linux/license_405329_R2014a.lic /usr/local/MATLAB/R2014a/bin/glnxa64
安装完毕,程序默认启动路径:
sh /usr/local/MATLAB/R2014a/bin/matlab
第八部分:编译Caffe
Caffe下载,进入caffe-master文件夹的python目录,执行如下命令:
for req in $(cat requirements.txt); do pip install $req; done
下载安装所需依赖包。
进入caffe-master目录,复制一份Makefile.config.examples
cp Makefile.config.example Makefile.config
修改其中的一些路径,如果前边和我说的一致,都选默认路径的话,那么配置文件应该为:
USE_CUDNN := #cudnn加速
CUDA_DIR := /usr/local/cuda
BLAS := atlas
MATLAB_DIR := /usr/local/MATLAB/R2014a
PYTHON_INCLUDE := /usr/include/python2. \
/usr/lib/python2./dist-packages/numpy/core/include
PYTHON_LIB := /usr/lib
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
BUILD_DIR := build
DISTRIBUTE_DIR := distribute
TEST_GPUID :=
因为安装的时opencv-3.0,因此配置好Makefile.config文件之后,需要对Makefile进行修改(实现对OpenCV 3.x的支持)
查找“Derive include and lib directories”一节,修改“LIBRARIES +=”的最后一行,增加opencv_imgcodecs
opencv_core opencv_highgui opencv_imgproc opencv_imgcodecs
保存,退出。
caffe编译和测试:
"-j8"是使用CPU的多核进行编译,可以极大地加速编译的速度,建议使用。
cd caffe-master #打开caffe所在文件夹
make all -j8 #在build文件夹下进行编译
make test -j8
make runtest -j8 #使用CPU多核同时进行编译
make matcaffe -j8
注:编译matcaffe时,需要使用g++和gcc,Ubuntu14.04的g++是4.8+,而matlab为4.7,但是在编译时并不需要对g++进行降级,编译有warning但是还是会通过。
想对g++编译器进行降级的见连接 Caffe + Ubuntu 15.04 + CUDA 7.0 新手安装配置指南 。
*********************Caffe 的python接口配置*********************
caffe的python 接口是配置过程中最容易出问题的地方,因为python可以从很多地方启动,而python的编辑软件也很多,因此需要设置。
推荐使用第二种环境变量设置方法,即/etc/profile中写入环境变量。
使用下面命令进行python接口生成
make pycaffe -j8
make distribute
如果上述步骤没有错误,那么配置路径:
一般情况下,如果从terminal启动,则只需要在~/.bashrc中进行PYTHONPATH环境变量的添加
配置python接口时,需要将环境变量写入~/.bashrc文件中,命令为:
sudo gedit ~/.bashrc
但是如sublime等GUI软件,如果不从terminal使用命令启动,则有时不会读到PYTHONPATH环境变量,因此最稳妥的方法是将PYTHONPATH写入/etc/profile中,命令为:
sudo gedit /etc/profile
写入的环境变量为:
export LD_LIBRARY_PATH=/opt/intel/mkl/lib/intel64:/usr/local/cuda/lib64:/home/startag/caffe/distribute/lib:/home/startag/Documents/Caffe-soft/opencv_linux/Install-OpenCV/Ubuntu/3.0/OpenCV/opencv-3.0.-rc1/build/lib:$LD_LIBRARY_PATH
export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libstdc++.so.:$LD_PRELOAD
export PYTHONPATH=/home/startag/caffe/distribute/python:$PYTHONPATH
在写入环境变量时,需要注意自己的拼写是否正确,需要认真检查,确认无误。
执行完这一步骤之后,注销或者重启让环境变量生效。
注:如果使用的不是系统自带的终端工具(bash),如比较好用的oh-my-zsh,那么在写入PATH和PYTHONPATH时应该写入~/.zshrc文件中
(每个软件对应的配置文件名为~/.xxxrc)
第九部分:使用MNIST数据集进行测试
Caffe默认情况会安装在$CAFFE_ROOT,就是解压到那个目录,例如:$ home/username/caffe-master,所以下面的工作,默认已经切换到了该工作目录。下面的工作主要是,用于测试Caffe是否工作正 常,不做详细评估。具体设置请参考官网:http://caffe.berkeleyvision.org/gathered/examples /mnist.html
1. 数据预处理
sh data/mnist/get_mnist.sh
2. 重建lmdb文件。Caffe支持三种数据格式输入网络,包括Image(.jpg, .png等),leveldb,lmdb,根据自己需要选择不同输入吧。
sh examples/mnist/create_mnist.sh
生成mnist-train-lmdb 和 mnist-train-lmdb文件夹,这里包含了lmdb格式的数据集
3. 训练mnist
sh examples/mnist/train_lenet.sh
至此,Caffe安装的所有步骤完结。
后续继续更新。
参考博客:
2015.08.17 Ubuntu 14.04+cuda 7.0+caffe安装配置
Caffe + Ubuntu 15.04 + CUDA 7.0 新手安装配置指南
Caffe + Ubuntu 14.04 64bit + CUDA 6.5 配置说明
本文系本人原创,其中某些部分借鉴其中3个博客和网络上的资料,如需转载,注明出处,谢谢。
Caffe搭建:Ubuntu14.04 + CUDA7.0 + opencv3.0 + Matlab2014A的更多相关文章
- Ubuntu14.04 安装配置Opencv3.0和Python2.7
http://blog.csdn.NET/u010381648/article/details/49452023 Install OpenCV 3.0 and Python 2.7+ on Ubunt ...
- Ubuntu14.04 LTS安装 OpenCV-3.0.0-rc1 + QT5.4.1
I 安装配置工作前的准备 2 II 安装 OpenCV 2 III 安装QT 3 IV 使QT能够使用OpenCV 3 如果顺利,整个过程应该3个小时左右能够完成. 我整个过程用了一早上,配置过程中有 ...
- Caffe 安装 Ubuntu14.04+CUDA7.0/7.5(亲测有效)
自己安装Caffe的过程中,参考了很多资料,但由于版本或者其他原因,安装过程中总是遇到这样或者那样的问题,因此留做记录,方便之后查看,也希望对遇到相似麻烦的朋友们提供帮助. 下面我们开始安装吧: 硬 ...
- Ubantu14.04下编译OpenCV3.0.0以及读取图片例子
以前一直使用opencv 2.x的版本,现在3.0的已经发布成正式版了,尝试在Linux下安装. 收集了一篇不错的经验教程: Ubuntu14.04下安装OpenCV3.0经验. 编译的过程大概需要3 ...
- Caffe+Ubuntu14.04+CUDA7.5 环境搭建(新人向)指南
序 本文针对想学习使用caffe框架的纯新手,如果文中有错误欢迎大家指出. 由于我在搭建这个环境的时候参考了许多网上的教程,但是没有截图,所以文中图片大多来源于网络. 本文没有安装matlab的步骤, ...
- Ubuntu14.04+eclipse下cocos2d-x3.0正式版环境的搭建
环境: ubuntu14.04 adt-bundle-linux-x86_64 android-ndk-r9d-linux-x86_64 cocos2d-x-3.0正式版 apache-ant 1.9 ...
- docker+ubuntu14.04+cuda7.0
参考链接: http://tleyden.github.io/blog/2014/10/25/docker-on-aws-gpu-ubuntu-14-dot-04-slash-cuda-6-dot-5 ...
- Ubuntu14.04上深度学习Caffe库安装指南(CUDA7.5 + opencv3.1)
Ubuntu14.04上Caffe安装指南 安装的准备工作 首先,安装官方版Caffe时.假设要使用Cuda.须要确认自己确实有NVIDIA GPU. 安装Ubuntu时,将/boot 分区分大概20 ...
- hadoop2.7.0分布式系统搭建(ubuntu14.04)
因为使用需要,在自己小本上建了四个虚拟机,打算搭建一个1+3的hadoop分布式系统. 环境:hadoop2.7.0+ubuntu14.04 (64位) 首先分别为搭建好的虚拟机的各主机重命名 方法: ...
随机推荐
- [转]在C++中容易出现的#error No Target Architecture
项目环境:win 7 64位,编译环境:VS2013 最近在写C++的项目,发现了自己很多不会的地方,这也使得我在C++中的成长变得比较快,下面我就说说我自己在写项目是遇到的一些问题,希望可以帮到一些 ...
- 节点的启动与关闭 ros::init()解析(c++)
1.初始化roscpp 节点 ros::init() API链接:http://docs.ros.org/api/roscpp/html/init_8h.html 在node代码中在调用其它rosc ...
- Kafka设计解析(二十二)Flink + Kafka 0.11端到端精确一次处理语义的实现
转载自 huxihx,原文链接 [译]Flink + Kafka 0.11端到端精确一次处理语义的实现 本文是翻译作品,作者是Piotr Nowojski和Michael Winters.前者是该方案 ...
- Android解决自定义View获取不到焦点的情况
引言: 我们在使用Android View或者SurfaceView进行图形绘制,可以绘制各种各样我们喜欢的图形,然后满怀信心的给我们的View加上onTouchEvent.onKeyDown.onK ...
- lvs 最常用算法 + tcpdump vrrp 抓包
1.SH: source hash, 源地址散列. 将请求的目标IP地址换成请求的源IP地址:实现session保持的机制:将来自于同一个IP的请求始终调度至同一RS: 源地址散列调度算法正好与目标地 ...
- python argparse模块:命令行选项及参数解析
位置参数:给一个例子: import argparse parser = argparse.ArgumentParser() parser.add_argument("echo") ...
- ABAP error:CONVT_NO_NUMBER
今天写了个接口,传入数据到SAP,结果接收后在报表展示时直接报错. 检查后发现数据转换出错,接收到的数据格式混乱. 最后检查了所有地方发现,源系统传入的数据长度为9个字节,但是自己的接收程序,定义数据 ...
- Cloud Container Service experimentation
Cloud Container Service experimentation K8S技术社区 举办云容器技术动手工作坊 活动时间:2018年1月13日(周六)13:30-17:30 活动地点:北京海 ...
- 20155216 Exp8 WEB基础实践
Exp8 WEB基础实践 实践内容 Apache环境配置 apache是kali下的web服务器,通过访问 ip地址+端口号+文件名称 打开对应的网页. 输入命令 vi /etc/apache2/po ...
- 20155216 实验一 逆向与Bof基础
实验一 逆向与Bof基础 一.直接修改程序机器指令,改变程序执行流程 使用 objdump -d pwn1 对pwn1文件进行反汇编. 可知main函数跳转至foo函数,先要使main函数跳转至get ...