1. 程式人生 > >Caffe 環境搭建中應注意的問題

Caffe 環境搭建中應注意的問題

TensorFlow對應的是TheanoTorch; 
Caffe專精於影象處理,Caffe方便,更快入門上手; 
在通用的DL task上,Caffe不如Theano。 
CNN(卷積神經網路)、RNN(迴圈神經網路)、DNN(深度神經網路)

開發環境搭建:

一、沒有GPU

[email protected]-virtual-machine:~$ lspci | grep -i nvidia 
[email protected]-virtual-machine:~$ 
  • 1
  • 2

二、ubuntu版本

[email protected]:~$ uname -m && cat /etc/*release
x86_64
DISTRIB_ID
=Ubuntu DISTRIB_RELEASE=15.10 DISTRIB_CODENAME=wily DISTRIB_DESCRIPTION="Ubuntu 15.10" NAME="Ubuntu" VERSION="15.10 (Wily Werewolf)" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 15.10" VERSION_ID="15.10" HOME_URL="http://www.ubuntu.com/" SUPPORT_URL="http://help.ubuntu.com/" BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
[email protected]
:~$
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

三、gcc

[email protected]virtual-machine:~$ gcc --version  
gcc.real (Ubuntu 5.2.1-22ubuntu2) 5.2.1 20151010
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. [email protected]virtual-machine:~$
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

四、安裝依賴庫

[email protected]-virtual-machine:~$ sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
[sudo] password for learning: 
Reading package lists... Done
Building dependency tree      
  • 1
  • 2
  • 3
  • 4

這裡寫圖片描述

sudo apt-get install --no-install-recommends libboost-all-dev
  • 1

這裡寫圖片描述

sudo apt-get install libatlas-base-dev
  • 1

這裡寫圖片描述

五、安裝python

六、安裝Opencv

七、安裝依賴庫 
[email protected]:~$ sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev 
[sudo] password for learning: 
Reading package lists… Done

這裡寫圖片描述

八、下載Caffe

[email protected]:~$ git clone git://github.com/BVLC/caffe.git
Cloning into 'caffe'...
remote: Counting objects: 34637, done.
Receiving objects: 100% (34637/34637), 47.81 MiB | 81.00 KiB/s, done.
remote: Total 34637 (delta 0), reused 0 (delta 0), pack-reused 34636
Resolving deltas: 100% (23287/23287), done.
Checking connectivity... done.
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

這裡寫圖片描述

九、修改

Makefile 修改: 
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial opencv_core opencv_highgui opencv_imgproc opencv_imgcodecs

這一塊程式碼不需要修改 
這裡寫圖片描述

修改處: 
caffe/examples/cpp_classification/classification.cpp檔案

這裡寫圖片描述

十、編譯

[email protected]:~/caffe$ cp Makefile.config.example Makefile.config

[email protected]:~/caffe$ ls
caffe.cloc       data      INSTALL.md               matlab     src
cmake            docker    LICENSE                  models     tools
CMakeLists.txt   docs      Makefile                 python
CONTRIBUTING.md  examples  Makefile.config          README.md
CONTRIBUTORS.md  include   Makefile.config.example  scripts
[email protected]:~/caffe$ 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

[email protected]:~/caffe$ gedit Makefile.config

這裡寫圖片描述

[email protected]:~/caffe$ make all 
出現問題:

[email protected]:~/caffe$ make all
PROTOC src/caffe/proto/caffe.proto
CXX .build_release/src/caffe/proto/caffe.pb.cc
CXX src/caffe/data_transformer.cpp
CXX src/caffe/common.cpp
CXX src/caffe/internal_thread.cpp
CXX src/caffe/blob.cpp
CXX src/caffe/data_reader.cpp
CXX src/caffe/parallel.cpp
CXX src/caffe/util/hdf5.cpp
In file included from src/caffe/util/hdf5.cpp:1:0:
./include/caffe/util/hdf5.hpp:6:18: fatal error: hdf5.h: No such file or directory
compilation terminated.
Makefile:572: recipe for target '.build_release/src/caffe/util/hdf5.o' failed
make: *** [.build_release/src/caffe/util/hdf5.o] Error 1
[email protected]:~/caffe$ 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

解決: 
Makefile.config 
INCLUDE_DIRS 
/usr/include/hdf5/serial/ 
Makefile 
LIBRARIES 
hdf5_hl and hdf5 改為 hdf5_serial_hl ,hdf5_serial

這裡寫圖片描述

這裡寫圖片描述

出現問題:

LD -o .build_release/lib/libcaffe.so.1.0.0-rc3
CXX tools/finetune_net.cpp
CXX/LD -o .build_release/tools/finetune_net.bin
CXX tools/net_speed_benchmark.cpp
CXX/LD -o .build_release/tools/net_speed_benchmark.bin
CXX tools/compute_image_mean.cpp
CXX/LD -o .build_release/tools/compute_image_mean.bin
.build_release/lib/libcaffe.so: undefined reference to `cv::imread(cv::String const&, int)'
.build_release/lib/libcaffe.so: undefined reference to `cv::imencode(cv::String const&, cv::_InputArray const&, std::vector<unsigned char, std::allocator<unsigned char> >&, std::vector<int, std::allocator<int> > const&)'
.build_release/lib/libcaffe.so: undefined reference to `cv::imdecode(cv::_InputArray const&, int)'
collect2: error: ld returned 1 exit status
Makefile:616: recipe for target '.build_release/tools/compute_image_mean.bin' failed
make: *** [.build_release/tools/compute_image_mean.bin] Error 1
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

解決方法: 
Makefile 
修改: 
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial opencv_core opencv_highgui opencv_imgproc opencv_imgcodecs

編譯成功:

這裡寫圖片描述

make test

這裡寫圖片描述

make runtest

這裡寫圖片描述

[----------] 2 tests from BatchReindexLayerTest/0, where TypeParam = caffe::CPUDevice<float>
[ RUN      ] BatchReindexLayerTest/0.TestForward
[       OK ] BatchReindexLayerTest/0.TestForward (0 ms)
[ RUN      ] BatchReindexLayerTest/0.TestGradient
[       OK ] BatchReindexLayerTest/0.TestGradient (373 ms)
[----------] 2 tests from BatchReindexLayerTest/0 (374 ms total)

[----------] Global test environment tear-down
[==========] 1058 tests from 146 test cases ran. (134225 ms total)
[  PASSED  ] 1058 tests.
[email protected]virtual-machine:~/caffe$ 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

十一、配置pycaffe

sudo apt-get install python-numpy python-scipy python-matplotlib python-sklearn python-skimage python-h5py python-protobuf python-leveldb python-networkx python-nose python-pandas python-gflags Cython ipython

sudo apt-get install protobuf-c-compiler protobuf-compiler

[email protected]:~/caffe$ make pycaffe

learning@learning-virtual-machine:~/caffe$ make pycaffe
CXX/LD -o python/caffe/_caffe.so python/caffe/_caffe.cpp
touch python/caffe/proto/__init__.py
PROTOC (python) src/caffe/proto/caffe.proto
learning@learning-virtual-machine:~/caffe$ 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

sudo gedit /etc/profile 
末尾新增: export PYTHONPATH=/path/to/caffe/python:$PYTHONPATH 
用完整路徑 
source /etc/profile

[email protected]:~/caffe$ python 
Python 2.7.10 (default, Oct 14 2015, 16:09:02) 
[GCC 5.2.1 20151010] on linux2 
Type “help”, “copyright”, “credits” or “license” for more information. 
.>>>

出現問題:

.>>> import caffe
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
ImportError: No module named caffe
  • 1
  • 2
  • 3
  • 4

解決方法: 
sudo gedit /etc/profile 
export PYTHONPATH=$PYTHONPATH:/home/learning/caffe/python 
source /etc/profile

這裡寫圖片描述

補充:baidu解釋 
Python(英國發音:/ˈpaɪθən/ 美國發音:/ˈpaɪθɑːn/), 是一種面向物件、解釋型計算機程式設計語言,由Guido van Rossum於1989年發明,第一個公開發行版發行於1991年。 
Python是純粹的自由軟體, 原始碼和直譯器CPython遵循 GPL(GNU General Public License)協議[1] 。 
Python語法簡潔清晰,特色之一是強制用空白符(white space)作為語句縮排。 
Python具有豐富和強大的庫。它常被暱稱為膠水語言,能夠把用其他語言製作的各種模組(尤其是C/C++)很輕鬆地聯結在一起。常見的一種應用情形是,使用Python快速生成程式的原型(有時甚至是程式的最終介面),然後對其中[2] 有特別要求的部分,用更合適的語言改寫,比如3D遊戲中的圖形渲染模組,效能要求特別高,就可以用C/C++重寫,而後封裝為Python可以呼叫的擴充套件類庫。需要注意的是在您使用擴充套件類庫時可能需要考慮平臺問題,某些可能不提供跨平臺的實現。

相關推薦

Caffe 環境搭建注意的問題

和TensorFlow對應的是Theano,Torch; Caffe專精於影象處理,Caffe方便,更快入門上手;  在通用的DL task上,Caffe不如Theano。 CNN(卷積神經網路)、RNN(迴圈神經網路)、DNN(深度神經網路) 開發環境搭建: 一、沒

Ubuntu 16.04 + caffe環境搭建(CPU)

rip recommend pyc sna 取數據 目錄 clas create 部分 1.安裝依賴 sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf

selenium-java自動化測試環境搭建的問題以及解決方法

執行如下程式碼,報錯:   package test;   import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver;   public class

個人簡歷製作過程注意的地方

簡歷作為一個人求職面試的工具,需要大家好好準備,注意其中的問題,才能製作出一份毫無缺陷的精美簡歷。今天小編就將告訴大家個人簡歷製作當中的禁忌,讓大家在今後製作簡歷時,少犯這些錯誤。1.內容不要重複、過多有得人為了讓簡歷看上去內容豐富,就將一個方面的小內容,不斷在簡歷中重複提出,導致簡歷內容十分混亂,讓人看上去

內網環境部署kubernetes注意的問題

部署思路是:master機器可以訪問公網,其它機器都在內網,因此master機器有兩張網絡卡,其它機器與master機器的內網網絡卡相聯。   一、網路配置 master節點的網路配置 # 機器 k8s-master, 此臺機器除了作為 master 本身,還承擔閘道器的功能 # 訪問

Spark叢集環境搭建所遇到的問題

1. 安裝好JDK後,檢視java版本出現以下提示:         解決方法:在終端輸入以下兩條命令:       (1)  sudo update-alternatives --install /usr/bin/javac javac /home/fhb/spark

01-嵌入式驅動學習01-環境搭建遇到的ping相關問題(2018.9.27)

遇見問題一:虛擬機器設定 今天開始佈置開發環境,用來一臺實驗室的臺式電腦和自己的膝上型電腦,臺式電腦之前安裝過Vmware14,筆記本安裝的是Vmware12。 這三個問題都是筆記本佈置開發環境時遇見的,現在也都解決了,記錄下來方便後期複習。 首先讓我不太懂的就是虛擬機器

caffe環境搭建及使用教程

1、官網:http://caffe.berkeleyvision.org/ 2、環境搭建:https://blog.csdn.net/yggaoeecs/article/details/79163789 3、教程:https://blog.csdn.net/ar

wxPython環境搭建錯誤

一些環境搭建過程中,總是會遇到一些莫名其妙的問題,不知從何入手,記錄下這些小問題及解決方法。 1、系統環境 window7;Python3.7;wxpython4.0.3 2、問題描述 Traceback (most recent call last):   File

建站過程注意的問題

建立企業網站就如同寫一篇文章,第一步要寫好提綱,確立主題。企業網站的題材確定後,要想合理地組織內容並且吸引人們登陸網站進行查詢和瀏覽,就需要建立企業網站的索引。索引應該能夠將網站的主體明確表示出來。網站在設立欄目時要緊扣企業確立的主題,設立最近更新或網站指南欄目;設立企業可以下載的檔案、產品資料等文字文件和及

軟體測試環境搭建及維護注意事項

搭建測試環境前後要注意以下幾點:   1> 搭建測試環境前,確定測試目的   即是功能測試,穩定性測試,還是效能測試,測試目的不同,搭建測試環境時應注意的點也不同。比如要進行功能測試,那麼我們就不需要大量的資料,需要覆蓋率高,測試資料要求儘量真實,這對硬體環境配置的好壞要求不是太苛刻,

Centos下Caffe環境搭建

網上各路大神的配置很繁瑣 其實官網 http://caffe.berkeleyvision.org/installation.html的配置和安裝步驟很簡單 而且針對了不同環境 所以我建議大家不要按照xx的blog來,做個參考可以(包括我的) 。遇到錯誤的時候再Googl

基於docker的caffe環境搭建與使用示例

0. 引言Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然後釋出到任何流行的 Linux 機器上。因此,Docker給應用提供了一個從開發到上線均一致的程式碼環境,讓程式碼的流水線變得簡單不少。以下是基於docker的caf

jquery ajax 在submit按鈕的click處理注意的地方

{     $("#personsub").live('click',function()     {         if($("#oldpassword").val()=="")         {             alert("舊密碼不能為空!");             return fal

Win10+VS2015 caffe環境搭建(極其詳細)

caffe是好用,可是配置其環境實在是太痛苦了,依賴的庫很多不說,在VS上編譯還各種報錯,你能想象那種被一百多個紅色提示所籠罩的恐懼。 且網上很多教程是VS2013環境下編譯的,問人很多也說讓我把15解除安裝了裝13,我的答案是:偏不 記下這個艱難的過程

linux ELK(filebeat)環境搭建加入kafka訊息佇列的詳細介紹(菜鳥新手級別)

        本文所使用的軟體版本如下filebeat 5.4.0,elasticsearch 5.4.0,kibana 5.4.0, 最近公司需要做實時日誌分析系統,在網上查了很多資料,發現ELK是最適合的,而且是開源,官方文件還算詳細。          儘管ELK環

Ubuntu下caffe環境搭建的過程及出現的問題

目錄 基於ubuntu14.04安裝CPU版的caffe 1. 切換root許可權 2. 安裝開發依賴的包 3. 安裝加速CPU計算的數學依賴庫 4. 安裝ubuntu14.04特定的依賴 5. 安裝OpenCV開源庫

深度學習之Caffe環境搭建

window10(64位)+VS2013+CUDA+CUDNN+caffe 配置過程 2.1 caff配置過程 進入你剛才儲存windows_caffe的資料夾下,進入 windows\CommonSettings.props.example,並重

深度學習之caffe環境搭建(3)

ubuntu 系統下的Caffe環境搭建 作者:hjimce 對於caffe的系統一般使用linux系統,當然也有windows版本的caffe,不過如果你一開始使用了windows下面的caffe,後面學習的過程中,會經常遇到各種錯誤,網上下載的一些原始碼、模型也往往不

hadoop環境搭建的坑

搭建Hadoop過程中經歷了很多挫折,覺得需要寫一篇部落格來記錄一下。我使用了較為ubuntu系統,後來發現網上教程基於centos較多。我是用的教程是https://blog.csdn.net/weixin_38676040/article/details/78385436