Ubuntu14.04通過make或cmake編譯安裝caffe
1.安裝相關的依賴
按照官網的流程進行安裝,過程如下:
安裝通用的依賴:
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
注意其中安裝了libopencv-dev,我比較關心opencv的版本,所以在安裝之前檢視這個包的資訊為2.4.8,感覺可以就安裝了。
sudo apt-cache show libopencv-dev
Package: libopencv-dev
Priority: optional
Section: universe/libdevel
Installed-Size: 704
Maintainer: Kubuntu Developers <[email protected]>
Original-Maintainer: Debian Science Team <[email protected]>
Architecture: amd64
Source: opencv
Version: 2.4.8+dfsg1-2ubuntu1
......
Description-en: development files for opencv
This is a metapackage providing development package necessary for
development of OpenCV (Open Computer Vision).
.
The Open Computer Vision Library is a collection of algorithms and sample
code for various computer vision problems. The library is compatible with
IPL (Intel's Image Processing Library ) and, if available, can use IPP
(Intel's Integrated Performance Primitives) for better performance.
.
OpenCV provides low level portable data types and operators, and a set
of high level functionalities for video acquisition, image processing and
analysis, structural analysis, motion analysis and object tracking, object
recognition, camera calibration and 3D reconstruction.
Description-md5: f9dc67381f1013c39fe59842c79cbddf
Homepage: http://opencv.org/
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu
Supported: 9m
安裝cuda
參見我的另一篇部落格 Ubuntu安裝記錄:軟體安裝 中的安裝方法,很簡單。去CUDA GPUs 確定你的顯示卡是英偉達獨立顯示卡並且支援cuda,否則就只用CPU吧。
安裝BLAS
BLAS,英文全稱Basic Linear Algebra Subprograms,即基礎線性代數子程式庫,裡面擁有大量已經編寫好的關於線性代數運算的程式。caffe官網提供了關於blas庫的三種選擇,ATLAS,MKL,OpenBLAS。詳情參見部落格 Ubuntu14.04 BLAS安裝 。這裡,為了簡單,安裝ATLAS。
sudo apt-get install libatlas-base-dev
安裝Python
sudo apt-get install python-dev
安裝14.04所額外需要的依賴
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
2.make編譯
首先下載caffe-master並解壓。編譯教程參見官網。如下:
cd到caffe根目錄,修改配置檔案
cd Desktop/caffe-master/
cp Makefile.config.example Makefile.config
這裡我們一直採用apt-get安裝,並且預設使用GPU加速,所以不用怎麼修改Makefile.config,只需要將WITH_PYTHON_LAYER := 1前的註釋去掉,方便使用Python呼叫即可。使用命令列開始編譯:
make all -j4
這一步時間較長,-j4表示採用多核方式,我的機器是X4的,所以用的4這個引數。完成後結果如下:
CXX/LD -o .build_release/tools/compute_image_mean.bin
CXX/LD -o .build_release/tools/convert_imageset.bin
CXX/LD -o .build_release/examples/cpp_classification/classification.bin
CXX/LD -o .build_release/examples/siamese/convert_mnist_siamese_data.bin
CXX/LD -o .build_release/examples/mnist/convert_mnist_data.bin
CXX/LD -o .build_release/examples/cifar10/convert_cifar_data.bin
接著輸入命令:
make test -j4
結果如下:
LD .build_release/src/caffe/test/test_split_layer.o
LD .build_release/src/caffe/test/test_image_data_layer.o
LD .build_release/src/caffe/test/test_softmax_layer.o
LD .build_release/src/caffe/test/test_data_transformer.o
LD .build_release/cuda/src/caffe/test/test_im2col_kernel.o
CXX/LD -o .build_release/test/test_all.testbin src/caffe/test/test_caffe_main.cpp
繼續等待,完成後輸入如下命令:
make runtest -j4
這裡就是一大波綠色的RUN OK了,
[ RUN ] SplitLayerTest/0.Test
[ OK ] SplitLayerTest/0.Test (0 ms)
[ RUN ] SplitLayerTest/0.TestSetup
[ OK ] SplitLayerTest/0.TestSetup (0 ms)
[ RUN ] SplitLayerTest/0.TestGradient
[ OK ] SplitLayerTest/0.TestGradient (4 ms)
[----------] 3 tests from SplitLayerTest/0 (4 ms total)
[----------] Global test environment tear-down
[==========] 2021 tests from 267 test cases ran. (506614 ms total)
[ PASSED ] 2021 tests.
至此make編譯caffe成功了。
3.Cmake編譯
同樣先給出官網教程,記錄如下:
在caffe根目錄下執行:
mkdir cbuild
cd cbuild
cmake ..
之後輸出一個配置檔案,大概選項如下:
-- ******************* Caffe Configuration Summary *******************
-- General:
-- Version : 1.0.0-rc3
-- Git : unknown
-- System : Linux
-- C++ compiler : /usr/bin/c++
-- Release CXX flags : -O3 -DNDEBUG -fPIC -Wall -Wno-sign-compare -Wno-uninitialized
-- Debug CXX flags : -g -fPIC -Wall -Wno-sign-compare -Wno-uninitialized
-- Build type : Release
--
-- BUILD_SHARED_LIBS : ON
-- BUILD_python : ON
-- BUILD_matlab : OFF
-- BUILD_docs : ON
-- CPU_ONLY : OFF
-- USE_OPENCV : ON
-- USE_LEVELDB : ON
-- USE_LMDB : ON
-- ALLOW_LMDB_NOLOCK : OFF
--
-- Dependencies:
-- BLAS : Yes (Atlas)
-- Boost : Yes (ver. 1.54)
-- glog : Yes
-- gflags : Yes
-- protobuf : Yes (ver. 2.5.0)
-- lmdb : Yes (ver. 0.9.10)
-- LevelDB : Yes (ver. 1.15)
-- Snappy : Yes (ver. 1.1.0)
-- OpenCV : Yes (ver. 2.4.8)
-- CUDA : Yes (ver. 8.0)
--
-- NVIDIA CUDA:
-- Target GPU(s) : Auto
-- GPU arch(s) : sm_30
-- cuDNN : Not found
--
-- Python:
-- Interpreter : /usr/bin/python2.7 (ver. 2.7.6)
-- Libraries : /usr/lib/x86_64-linux-gnu/libpython2.7.so (ver 2.7.6)
-- NumPy : /usr/lib/python2.7/dist-packages/numpy/core/include (ver 1.8.2)
--
-- Documentaion:
-- Doxygen : No
-- config_file :
--
-- Install:
-- Install path : /home/gph/Desktop/caffe-master/cbuild/install
--
-- Configuring done
-- Generating done
-- Build files have been written to: /home/gph/Desktop/caffe-master/cbuild
之後輸入
make -j 4
這裡-j 4因為我的機器是4核的。之後等到編譯,時間較長。完成後輸入:
make install
結果如下:
Linking CXX executable mnist/convert_mnist_data
[100%] Built target convert_mnist_data
Linking CXX executable siamese/convert_mnist_siamese_data
[100%] Built target convert_mnist_siamese_data
Linking CXX executable cpp_classification/classification
[100%] Built target classification
Linking CXX shared library ../lib/_caffe.so
Creating symlink /home/gph/Desktop/caffe-master/python/caffe/_caffe.so -> /home/gph/Desktop/caffe-master/cbuild/lib/_caffe.so
[100%] Built target pycaffe
至此,Cmake編譯完成。需要說明的是make和cmake編譯互不影響,之所以需要cmake編譯是因為樓主用Cmakelist.txt管理工程,需要新增caffe的標頭檔案和相應的庫,使用cmake編譯非常方便。具體參看我的另一篇部落格Caffe + ROS + OpenCV + Qt creator 。
遇到的問題記錄
1)cmake ..之後出現錯誤
CMake Error at CMakeLists.txt:83 (add_dependencies): The dependency
target “pycaffe” of target “pytest” does not exist.目前還未解決,但是仍然可以繼續,只是好像要輸入兩次命令才行。這也是我重灌的原因之一,重灌就沒有這個錯誤。
2)庫錯誤
在利用cmake編譯caffe時,出現如下錯誤:
Linking CXX shared library ../../lib/libcaffe-d.so /usr/bin/ld:
/usr/local/lib/libcblas.a(cblas_sgemv.o): relocation R_X86_64_32
against `.rodata.str1.1’ can not be used when making a shared object;
recompile with -fPIC /usr/local/lib/libcblas.a: error adding symbols:
Bad value collect2: error: ld returned 1 exit status make[2]: *
[lib/libcaffe-d.so.1.0.0-rc3] Error 1 make[1]: *
[src/caffe/CMakeFiles/caffe.dir/all] Error 2 make: * [all] Error 2解決方法: 編輯cbuild資料夾下的CMakeCache.txt,將
//Path to a library. Atlas_CBLAS_LIBRARY:FILEPATH=<path to
libcblas.a>改為
//Path to a library.
Atlas_CBLAS_LIBRARY:FILEPATH=/usr/lib/libcblas.so //<path to
libcblas.so in your machine>這就應該是機器上利用不同方式多次裝過這個庫,檔案較為混亂,找不到正確的庫造成的。所以大家安裝的時候能使用apt-get
install的儘量這樣安裝,除非你有明確的目的要原始碼安裝,否則確實要做很多工作,很“鍛鍊”人。
相關推薦
Ubuntu14.04通過make或cmake編譯安裝caffe
1.安裝相關的依賴 按照官網的流程進行安裝,過程如下: 安裝通用的依賴: sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5
ubuntu16.04通過修改transmission原始碼編譯安裝transmission,使得其能夠通過ipv6在六維下載
然後通過命令 xz -d transmission-2.04.tar.xz tar -xvf trans*.tar 進行解壓 2:首先更改metainfo.c中的內容 static intis_rfc2396_alnum( char ch ){
Geant4采用make和cmake編譯運行geant4自帶例子的方法
剛才 例子 1-1 build g++ 核數 emp cmake 編譯 該教程介紹如何將geant4中自帶的例子通過camke編譯成可執行文件,並運行程序。 1 在linux主目錄下創建一個geant4_workdir目錄,並將geant4自帶的例子B1復制到該目錄
mysql 5.5.32 源碼 cmake 編譯 安裝
mysql 5.5.32 源碼 cmak cmake工具安裝yum install cmake -y依賴包 yum install ncurses-devel -y 開始安裝mysql創建用戶和組groupadd mysqluseradd mysql -s /sbin/nologin -M -
Ubuntu14.04 無線網絡卡驅動安裝
由於新安裝的14.04是 沒有無線網絡卡驅動的,這裡需要自己安裝網絡卡驅動。 (第一步) 我們需要在win10下看到網絡卡型號 (第二步) 升級ubuntu核心(uname -sr可以看現在的核心版本) 在 http://kernel.ubuntu.com/~kernel
Ubuntu14.04+android-ndk-r10b+arm編譯libcurl-7.61.1,支援openssl-1.1.1(https)
相關依賴: android-ndk-r10b:ubuntu14.04搭建Android-NDK開發環境 android-arm:ubuntu14.04搭建Android-arm交叉編譯環境 openssl-1.1.1: ubuntu14.04+android-ndk-r10b+arm
ubuntu14.04搭建Android-arm交叉編譯環境
前面我們搭建了NDK開發環境 下面開始搭建arm交叉編譯環境 1.下載交叉編譯工具 進入到NDK根目錄:cd /home/wjt/AndroidWorkSpace/NDK_Tools/android-ndk-r10b 下載到指定路徑指令:./build/tools/make-st
Ubuntu14.04下Vim編輯器的安裝、解除安裝與配置
一 通過終端命令列安裝vim 1)在終端輸入下面命令 2)通過echo $?命令檢查安裝是否成功 如果返回結果是0,表示軟體成功安裝。 如果返回結果是非0,表示軟體安裝過程中出現問題。 3)如果在安裝vim時,顯示找不到什麼包,更新一下下載源就行了
linux下如何使用configure/make/make install命令編譯安裝解除安裝程式
原始碼的安裝一般由3個步驟組成:配置(configure)、編譯(make)、安裝(make install)。安裝成功的原始碼就是所謂的可執行檔案,在你不需要的時候,也是可以刪除/解除安裝(remove/uninstall)的。下面就逐個進行分析: 一、原始碼的配置 配置命令就
ubuntu14.04系統下mips交叉編譯環境搭建
1.安裝必要軟體 2.下載解壓buildroot 3.配置編譯 4.設定環境變數 1.安裝必要軟體 sudo apt-get install build-essential bison flex 2.下載解壓 buildroot http://buildro
虛擬機器中在Ubuntu14.04下搭建QT交叉編譯環境--2014/8/14
一、Ubuntu安裝及配置 在windows上下載VMware10.0.2 並安裝,在網上找永久金鑰啟用。開啟後是中文版 在Ubuntu官網上下載ubuntu-14.04.1-desktop-i386 開啟虛擬機器,並建立新的虛擬機器,記憶體1g,硬碟20g 。虛擬磁碟檔案
Visual Studio 2015+cmake編譯安裝MD版的DCMTK
https://blog.csdn.net/chaoenhu/article/details/78200274 一、編譯環境 本文的編譯機器是Windows10 64位系統,使用VS2015和cmake3.7.2編譯DCMTK原始碼為64位包(執行時庫為MD或MDd)。 注(引用): /MT
ubuntu14.04 的ibus不能解除安裝(安裝fcitx輸入法框架時可能有這個需求)。出現無system setting實用程式
每年的ubuntu新版本釋出,都會吸引一大批熱血青年。關注越多也讓ubuntu越來越好了。 使用ubuntu的人都會在安裝系統之後立即安裝順手的輸入法,也可能不會,看人。 安裝輸入法,對於中文輸入法的選擇,大多數人願意選擇'搜狗輸入法',抱歉大膽的這樣估計,但是'搜狗輸入法
ubuntu14.04下配置Java環境以及安裝最新版本的eclipse
首先是配置JDK 步驟二:首先在/usr/local目錄下建立一個名為java的目錄,然後執行命令: cd /usr/local/java && tar -xvzf ~/Downloads/jdk-7u71-linux-i586.tar.gz 步驟三:修
Cmake編譯安裝MySQL完整版
MySQL二進位制包和原始碼包的區分 二進位制格式的包名字很長,都帶有版本號、適應平臺、適應的硬體型別等 mysql-5.0.45.tar.gz 是原始碼包 (編譯安裝) 原始碼格式僅僅就是一個版本號的tar包 mysql-5.0.45-linux-x8
ubuntu14.04下ipython5.5.0的安裝
下面介紹下linux安裝ipython原始碼安裝的方法: 1、ipython的原始碼下載頁面為:https://pypi.python.org/pypi/ipython或者是到git頁面下載:http
ubuntu 16.04 OpenCV3.2.0完全編譯安裝
Opencv可以直接從庫中安裝,也可以自己手動編譯安裝。1、從庫中安裝是最簡單的方式,直接執行下面命令: sudo apt-get install libopencv-dev python-opencv 如果安裝出錯,那麼可以更新一下源,或是換一個源。2、
Ubuntu14.04 Opencv2.4.9交叉編譯
經過一個多星期苦逼中,終於把Opencv交叉編譯通過了。廢話不多說,把我過程分享出來,希望能夠讓你們少走些彎路。不同的linux系統、opencv版本、arm編譯器,opencv交叉編譯方法會有所不同。本文提供一個已驗證可實行的方法:Ubuntu14.04
ubuntu14.04系統下torch框架下安裝hdf5方法
1.執行如下命令:sudo apt-get install libhdf5-serial-dev hdf5-tools如圖所示:2.依次執行如下三條命令:git clone https://github
使用cmake編譯安裝mysql(原創整理)
從mysql 5.5 開始就要用cmake編譯安裝了 注意:此安裝是預設centos下已經安裝了最新工具包,比如GNU make, GCC,Perl, libncurses5-dev,如果在編譯安裝過程中發現有缺失的工具包,先yum install 單獨下載安裝再繼續即可。