linux caffe运行,linux 安装Caffe
1. 安装依赖库:1
2sudo 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
2. 安装BLAS:1
2sudo apt-get install libatlas-base-dev
(or install OpenBLAS or MKL for better CPU performance)
3.安装Opencv:下载 linux 版本 opencv 安装包,unzip解压到指定目录
在安装目录下执行下面code1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23sudo apt-get update
sudo apt-get upgrade // 更新
//安装依赖库
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
//安装opencv
sudo cmake .
sudo make
sudo make install
//配置环境变量
sudo /bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig
sudo gedit/etc /bash.bashrc
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
//编译samples程序:
cd samples
sudo cmake .
sudo make -j $(nproc)
cd cpp
//运行测试程序:
sudo ./cpp-example-facedetect ../data/lena.jpg
4. 安装 Matlab
5. 下载Caffe:1
2
3cd path_caffe // 到指定目录
git clone git://github.com/BVLC/caffe.git//下载Caffe
cp Makefile.config.example Makefile.config
修改Makefile,在
1
2
3LIBRARIES += glog gflags protobuf leveldb snappy \
lmdb boost_system hdf5_hl hdf5 m \
opencv_core opencv_highgui opencv_imgproc opencv_imgcodecs
处加入后面的opencv_imgcodecs,因为opencv3.0.0把imread相关函数放到imgcodecs.lib中了(原来是imgproc.lib)
CPU model修改Makefile.config文件:去掉CPU_ONLY:= 1的注释
GPU model
mint下安装英伟达驱动和cuda显得格外简单。我在ubuntu下折腾了n久,都以悲剧收场。
安装驱动: 打开mint的驱动管理器 直接安装即可
安装完成后 打开驱动管理器如图所示,
而且系统右下角会出现英伟达的图标,点击打开图标后显示
如果途中选中的是 Intel 那一项可能是因为bios显卡设置的问题,重启电脑进入bios,将显卡设置为独立显卡模式即可。
下载最新的cuda安装包(.deb文件)
sudo dpkg -i xxx.deb
sudo apt-get update
sudo apt-get insatll cuda
也可以直接用软件管理器打开.deb文件直接安装
安装完成后进入 /usr/local/cuda/samples/
编译例子 sudo make
全部编译完成后, 进入 samples/bin/x86_64/linux/release,
sudo下运行deviceQuery,如果出现下列显卡信息, 则驱动及显卡安装成功
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40sudo ./deviceQuery
./deviceQuery Starting.
CUDA Device Query (Runtime API) version (CUDART static linking)
Detected 1 CUDA Capable device(s)
Device 0: "NVS 4200M"
CUDA Driver Version / Runtime Version 7.0 / 7.0
CUDA Capability Major/Minor version number: 2.1
Total amount of global memory: 1024 MBytes (1073414144 bytes)
( 1) Multiprocessors, ( 48) CUDA Cores/MP: 48 CUDA Cores
GPU Max Clock rate: 1620 MHz (1.62 GHz)
Memory Clock rate: 800 Mhz
Memory Bus Width: 64-bit
L2 Cache Size: 65536 bytes
Maximum Texture Dimension Size (x,y,z) 1D=(65536), 2D=(65536, 65535), 3D=(2048, 2048, 2048)
Maximum Layered 1D Texture Size, (num) layers 1D=(16384), 2048 layers
Maximum Layered 2D Texture Size, (num) layers 2D=(16384, 16384), 2048 layers
Total amount of constant memory: 65536 bytes
Total amount of shared memory per block: 49152 bytes
Total number of registers available per block: 32768
Warp size: 32
Maximum number of threads per multiprocessor: 1536
Maximum number of threads per block: 1024
Max dimension size of a thread block (x,y,z): (1024, 1024, 64)
Max dimension size of a grid size (x,y,z): (65535, 65535, 65535)
Maximum memory pitch: 2147483647 bytes
Texture alignment: 512 bytes
Concurrent copy and kernel execution: Yes with 1 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: 0 / 1 / 0
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 = 1, Device0 = NVS 4200M
Result = PASS
效果如下图所示:
然后查看CUDA Capability Major/Minor version number这一项,为2.1.
在Makefile.config文件中,修改
CuDNN model
安装CuDNN
下载CuDNN库文件:cudnn-7.0-linux-x64-v3.0-rc.tgz
tar -xzvf cudnn-7.0-linux-x64-v3.0-rc.tgz
cd cuda/lib64
sudo cp lib* /usr/local/cuda/lib64/
cd ..
cd include
sudo cp cudnn.h /usr/local/cuda/include/
在~/caffe/Makefile.config中,将# USE_CUDNN := 1的注释去掉,
即:USE_CUDNN := 1,并重新编译
6. 编译Caffe:
之前make过的话,要make clean命令清除之前的结果,然后重新执行下面的命令即可
1
2
3
4make clean
make all -j4
make test -j4
make runtest -j4
出现 error,具体信息如下:
1
2.build_release/tools/caffe: error while loading shared libraries: libcudart.so.7.0: cannot open shared object file: No such file or directory
make: 3* [runtest] Error 127
解决办法
sudo ldconfig /usr/local/cuda-7.0/lib64
error
SolverTest/3.TestInitTrainTestNets
F0910 11:19:15.516458 4395 cudnn_softmax_layer.cpp:19] Check failed: status == CUDNN_STATUS_SUCCESS (6 vs. 0) CUDNN_STATUS_ARCH_MISMATCH
Check failure stack trace:
因为笔记本上的NVS4200M的CUDA Capability是2.1,而官方的cudnn加速是不支持3.0以下的版本的,因此只能在Makefile.config中注释掉USE_CUDNN这行,最后终于编译成功。
执行data下的的相关文件下载数据
1
2
3sudo sh data/mnist/get_mnist.sh
sudo sh data/cifar10/get_cifar10.sh
sudo sh data/ilsvrc12/get_ilsvrc_aux.sh
运行Mnist例子
1
2sudo ./examples/mnist/create_mnist.sh
sudo ./examples/mnist/train_lenet.sh
7. gcc降级
ubuntu14.04(mint)自带的gcc版本是4.8,MATLAB2014a支持的最高版本为4.7x。因此,需要安装gcc4.7,
1
2
3
4
5
6
7
8
9sudo apt-get install gcc-4.7 g++-4.7 g++-4.7-multilib gcc-4.7-multilib
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.7 100
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 50
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.7 100
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 50
sudo update-alternatives --install /usr/bin/cpp cpp-bin /usr/bin/cpp-4.7 100
sudo update-alternatives --install /usr/bin/cpp cpp-bin /usr/bin/cpp-4.8 50
// 验证gcc默认版本:
gcc -v
8. 编译matlab借口
修改Makefile.config文件,配置matlab安装路径:
MATLAB_DIR :=/home/sun/app/matlab/R2015a
sudo make matcaffe
linux caffe运行,linux 安装Caffe相关推荐
- 毕设日志——linux服务器anaconda下安装caffe
4.24 https://www.twblogs.net/a/5c1667c5bd9eee5e418436c7/
- linux下运行mcnp6安装教程,JBPM6教程-手把手教你安装JBPM
JBPM6教程-手把手教你安装JBPM 1. 安装JBPM的先决条件: (1)JDK 1.6+以上,没有安装的话,猛击这里. (2)Ant 1.7+以上,没有安装的话,看看这里. 2. 下载JBPM安 ...
- opencv可以在linux上运行,linux上 安装并 运行opencv
我是在树莓派上安装的. 1.先安装依赖项 OpenCV 2.2以后版本需要使用Cmake生成makefile文件,因此需要先安装cmake. sudo apt-get install build-es ...
- mask rcnn只能在linux里运行,maskrcnn-benchmark安装及常见错误
Mask rcnn环境配置 在安装好Anaconda之后可以配置Mask RCNN了.这里我用的是maskrcnn-benchmark,环境搭建相对简单. 1. 创建虚拟环境: source acti ...
- 暗黑2在linux上运行,linux下能玩的类似暗黑2的中文游戏有哪些?
你在用 Ubuntu Linux 之余,也许还要用Ubuntu Linux 来玩玩游戏吧!虽然Ubuntu Linux 用户可玩到 3D 游戏远远不如 Windows ,但 Ubuntu Linux ...
- drcom linux怎么运行,linux下使用drcom登录认证
下载 首先感谢开发者: https://github.com/drcoms/drcom-generic 这个项目基于python实现了d,p,x版drcom认证,请到上述链接查看相关信息, 项目的wi ...
- linux memcached 运行,linux下查看Memcached运行状态
查看Memcached运行状态的命令是:echo stats | nc 127.0.0.1 11211 查看memcached状态的基本命令,通过这个命令可以看到如下信息: STAT pid 2245 ...
- linux nohup 运行,linux – 如何获取使用nohup运行的程序列表
当我开始使用$ nohup风暴dev-zookeper时, 方法1: prayagupd@prayagupd:/home/vmfest# jobs -l [1]+ 11129 Running nohu ...
- 计时 Linux 程序运行,linux 下计时程序
#include #include #include int main() { struct timeval tv, end; gettimeofday(&tv, NULL); // 因为不需 ...
最新文章
- react非常适合入门者学习使用的后台管理框架
- MySQL 5.1以下如何动态抓取查询日志
- #161: 给定n*n由0和1组成的矩阵,如果矩阵的每一行和每一列的1的数量都是偶数,则认为符合条件。 你的任务就是检测矩阵是否符合条件...
- linux下使用make指令生成程序时提示“XXX is up to date”问题的解决办法
- SQL Server 2005 中附加只有mdf文件的数据库(修复置疑的数据库)
- java 正则表达式 table_Java 使用正则表达式
- 【快速入门Linux】6_Linux命令—用户权限相关命令
- 从零开始山寨Caffe·贰:主存模型
- Springboot的工作机制:5 总结
- 【教程】适用于AIDE 2.1.5版的API文档设置
- Java笔试题大全(附带答案)
- 标准化降水蒸散发指数 SPEI 算法及代码(Java)
- 二三、A转置乘以A可逆
- 悼念前端大牛司徒正美
- C#串口通信——协议格式
- Trident API
- 从平凡到不平凡(转)
- 外貌测试软件准确吗,相貌测试(史上最准的颜值测试)
- java继承关键字extends
- CTime 的一般常用方法
热门文章
- 超级账本、微众银行与迅雷链同台论链 区块链将从技术共识走向应用共识
- Ubuntu 18.04 版本中安装mysql 8的方法
- [Java] Lock(锁)的tryLock失败是否需要unlock?
- 保守的国美再一次进击社交电商,前途未卜?
- hackthebox Busqueda EASY难度 一把梭哈
- 护眼灯对孩子眼睛好吗?推荐眼科医生推荐的台灯
- matlab建立mex,Visual Studio创建Matlab mex(dll)函数
- Go解密之路——GPM
- allegro16.3中负片电源和地的操作
- 你真的知道什么是项目吗?项目的基本概念