Ubuntu16.04安裝Caffe最全最詳細教程(CPU)


轉載請附上本文鏈接:https://www.cnblogs.com/acgoto/p/11570188.html

一、前言

  為了安裝caffe,本人已經在centos7.x上試錯了1次,目前棄療~;在Ubuntu18.04上試錯了3次,目前也棄療~不是我懶,說實話,bug是真tm多,問問度娘,自己體會體會~我一向喜歡安裝最新版本的軟件,但是關於最新版本軟件的文章少之又少,也因此受盡各種折磨.......即使有,我想要解決的bug不一定是別人出現的bug......,然后就會用各種各樣的辦法搜遍天涯海角,陷入無法自拔的困境......對此,為了節省不必要的安裝時間,最終我還是選擇了Ubuntu16.04,痛改前非,決定重新做人!

  長文預警⚠:本文篇幅較長,望耐心看完!!!安裝過程中盡量用正確的方式下載各種依賴,若有錯誤記錄將會一一列出詳細解決方案!請務必和我一樣重新從安裝Ubuntu16.04開始(除非你自己擁有一台服務器並且是Ubuntu16.04版本,OK!鼠標滾輪往下滑,直接跳到大標題五開始進行閱讀操作!),然后就耐心地跟着我一路開掛人生吧!好了,廢話不說,進入正題!若文中有術語或技術等描述錯誤,歡迎在評論區中指出我的錯誤,非常感謝!

  強烈建議:安裝虛擬機vm15版本的,目的是適配win10系統版本。若安裝vm14版本,則連接本機的攝像頭時可能出現“卡死”現象!

  想要卸載原來的Ubuntu xx版本,請閱讀大標題二,下面給出卸載方法,so easy!

二、卸載VMware虛擬機上任何XX操作系統

  首先,將掛起或正在運行的客戶機關機,然后點擊虛擬機--->管理--->從磁盤中刪除,將會刪除之前安裝XX操作系統的整個文件目錄!鏡像文件不會被刪除的,放心跟着操作就完事了~

 

三、安裝虛擬機和Ubuntu16.04

  虛擬機14版本和烏班圖下載鏈接: https://pan.baidu.com/s/1ErZNhZR9J2FJ-XVRVKScBw 提取碼: 96f0

       虛擬機15版本下載鏈接:https://pan.baidu.com/s/1XvKG29FH7Asggri8ssJjsw 提取碼: 56us

  關於如何安裝虛擬機14 Pro?(建議安裝vm15)這里演示一下安裝過程和提供所需的許可證密鑰。各種版本的安裝都大同小異~

  接下來的教程基本是圖片,必要時我會用文字來描述,多謝合作~

 

 

 

vm14許可證密鑰:AA510-2DF1Q-H882Q-XFPQE-Q30A0

vm15許可證密鑰:YZ380-0WG50-M891Z-9DNQ9-MPA90

 

 

  到這里虛擬機已安裝完成! 

  關於如何在虛擬機安裝Ubuntu16.04?相信人手一個VMware® Workstation 12(或者14) Pro和一個ubuntu16.04鏡像,本人電腦安裝的虛擬機是14版本的,由於所有已經配置成功就不想重裝了,剛好舍友還沒裝,就幫他裝一下,順便記錄這整個安裝過程!

 

 

上面操作完之后可能由於有些電腦沒有開啟"虛擬化",如果點擊開啟此虛擬機后沒有彈窗報錯的話,那就說明你的電腦已開啟虛擬化功能,具體查看方式:任務欄右鍵--->任務管理器--->性能--->虛擬化。否則將會彈窗提示你進BIOS開啟支持一下虛擬化功能,具體百度按照該提示來操作吧,非常簡單,這里就不貼圖了~

 

 

  

  

 點擊"現在重啟",按Enter鍵稍等1、2分鍾,顯示登錄界面,輸入密碼,顯示如下,即安裝成功!

  

注意:不要升級Ubuntu,也沒必要,能用就行了!!!

有一個強迫症設置:當掛起客戶機並關掉虛擬機后,虛擬機的托盤圖標怎么不會消失?問題不大,只需簡單的設置:點擊編輯--->首選項--->下拉菜單選項:選擇當虛擬機開機時,然后點確定,關閉虛擬機后,托盤圖標就沒了!

 

另外還有一個非常重要的網絡設置:推薦使用NAT模式:用於共享主機IP地址,具體原因自己百度吧~這里只是一個使用教程......如何設置呢?首先掛起當前客戶機,然后關機,或者直接關機,然后點編輯虛擬機位置,點擊網絡適配器,選擇NAT模式,點確定,再重新開啟此虛擬機即可!這樣每次開啟或繼續運行Ubuntu系統應該會默認與主機共享網絡,若沒有網絡,點擊右上角打開鏈接網絡即可。

 

四、安裝VMware Tools,設置窗口自適應、實現與主機復制黏貼功能

  首先設置root密碼,右鍵桌面打開終端,輸入: sudo passwd root ,設置完成之后輸入: su root (切換到root角色),輸入密碼: root 即可登錄成功,當要退出root角色時,只需鍵入 exit 命令即可退出。

  以下都是在root角色下操作,反正是作為個人練習的,沒必要每次都sudo...但是到公司上班就很少有這高級權限了,所以好好瞧瞧root有多高級的功能......快樂就vans!刪庫跑路( rm -rf /* )不要來找我!!!

 

  有些人可能點擊安裝VMware Tools(T)...之后,出現如下提示,當點擊是(Y)之后,打開文件發現里面沒啥東西???別慌,我們只需做簡單的幾步設置即可安裝VMware Tools工具:先關閉客戶機,然后點擊編輯虛擬機位置,選擇使用物理驅動器,點確定開啟客戶機,再重新來操作一遍即可。

 

  雙擊進入VMware Tools,右鍵點擊復制文件到桌面,桌面右鍵打開終端,依次鍵入命令: ls  --->  cd 桌面/  --->  tar -zxvf xxx.gz文件 。這里有一個小技巧:輸入文件開頭1個或多個字符,按TAB鍵后將會自動補全文件名,然后按Enter回車即可解壓xxx.gz文件。接下來,進入解壓目錄,鍵入命令: ./vmware-install.pl ,回車時若有提示[no]則輸入 yes ,其他一路直接回車即可。最后輸入命令: reboot 重啟烏班圖,然后設置一下自適應就可以實現窗口自適應、與主機黏貼復制功能了!

五、安裝深度學習框架caffe

1、由於本人電腦不支持GPU,故選擇CPU安裝caffe。具體查看方式:鍵入命令: lspci | grep -i nvidia ,若按回車之后沒有顯示任何內容,則證明你的電腦不支持GPU。如果支持,最好就用GPU方式安裝吧,自行百度去==!安裝caffe之前,不,准確來講,只要安裝好Ubuntu系統之后就得更換一下國內下載源,一般推薦是阿里源,不然當你下載各種依賴時,簡直是慢得要命QAQ......下面看操作:注意以下操作都是在root最高權限角色下操作⚠!這樣就避免了每次輸入命令都要多敲幾個字符sudo,還有登錄密碼.......(重要的建議:不僅僅如此!由於root角色可修改一切文件,而默認創建的用戶角色可能沒有操作其他用戶組中文件的權限,為了簡單方便,建議都在root角色下執行把~)(不要學本人,這樣習慣不好)

1.1 備份原來的下載源文件:

 cp /etc/apt/sources.list /etc/apt/sources_init.list 

1.2 使用gedit命令(或vim)打開文檔,將下面的阿里源內容覆蓋掉原文檔中的內容,按ctrl + S保存並關掉文件。

 gedit /etc/apt/sources.list 或者 vim /etc/apt/sources.list 

 1 deb http://mirrors.aliyun.com/ubuntu/ xenial main
 2 deb-src http://mirrors.aliyun.com/ubuntu/ xenial main
 3 deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main
 4 deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main
 5 deb http://mirrors.aliyun.com/ubuntu/ xenial universe
 6 deb-src http://mirrors.aliyun.com/ubuntu/ xenial universe
 7 deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
 8 deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
 9 deb http://mirrors.aliyun.com/ubuntu/ xenial-security main
10 deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main
11 deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
12 deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security universe

1.3 然后更新工具源,輸入命令: apt-get update ,你將會看到下載得飛快.......b( ̄▽ ̄)d

1.4 更新工具軟件:輸入命令: apt-get upgrade ,大概2分多鍾就更新下載完......

  執行完此條命令之后會出現如下圖某些包無法下載,根據提示執行命令: apt-get update --fix-missing ,然后重新執行一下上條命令: apt-get upgrade 。大概要等待4、5分鍾,更新完之后如下第2張圖。

1.5 逐條執行以下命令來安裝一些依賴包:

 1 apt-get install libprotobuf-dev 
 2 apt-get install libleveldb-dev
 3 apt-get install libsnappy-dev 
 4 apt-get install libopencv-dev
 5 apt-get install libhdf5-serial-dev
 6 apt-get install protobuf-compiler
 7 apt-get install libgflags-dev
 8 apt-get install libgoogle-glog-dev
 9 apt-get install liblmdb-dev
10 apt-get install libatlas-base-dev

1.6 安裝完上面依賴之后(一般按照我這樣操作下來是不會報錯的,因為本人包括此次已經第三次安裝了,都ok的,放心跟着操作就行了),用git clone指令拉取遠程倉庫GitHub上的caffe項目,首先安裝git包,其次再拉取。拉取耗時稍微有點長(大概5、6分鍾),拉取完之后鍵入ls命令查看當前目錄,可以看到caffe文件目錄,OK,200!

 apt-get install git 、 git clone git://github.com/BVLC/caffe.git 

1.7 cd 進入caffe目錄,執行命令: cp Makefile.config.example Makefile.config 來備份Makefile.config.example文件,ls查看可以發現多了一個新文件Makefile.config。接下來,修改新文件Makefile.config中的配置,鍵入命令: gedit Makefile.config 或者 vim Makefile.config ,去掉CPU_ONLY前面的#號注釋,使得CPU_ONLY := 1

  配置引用文件路徑(主要是HDF5的路徑問題),找到INCLUDE_DIRS和LIBRARY_DIRS,分別在其后面(空一空格)新增內容 /usr/include/hdf5/serial 和 /usr/lib/x86_64-linux-gnu/hdf5/serial ,然后按ctrl + S 保存並關掉該文件。

1 # Whatever else you find you need goes here.
2 INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
3 LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial

1.8 依次執行命令進行編譯: make all 、 make test 、 make runtest ,但是執行命令make all時出現如下錯誤?不要慌,解決方案是執行這條命令下載對應的依賴: apt-get install --no-install-recommends libboost-all-dev ,下載完之后記得再次執行 make all 命令,又是一個稍微漫長的等待過程......

繼續執行 make test 命令,繼續等待.....

經過漫長的等待,終於來到了編譯的最后一步:跑測試。執行 make runtest 命令后,你將會看到很多綠色的RUN OK,沒錯,這波操作真讓人感到舒服~ε=ε=ε=(~ ̄▽ ̄)~

當你看到PASSED 1162 tests則表示成功進行所有測試。注意:如果執行結果失敗,則需要執行語句 make clean ,然后解決掉問題再重新編譯。

六、編譯python接口

1.1 caffe具有Python和C++接口,我們常用Python接口來編寫代碼,以下將展示如何編譯Python接口。

1.2 Ubuntu16.04默認安裝的是python2.7,沒有pip指令包,所以需要先安裝pip,根據提示鍵入命令: apt install python-pip ,安裝完如下第2張圖所示。

1.3 在caffe根目錄下,有個python文件夾,文件夾里面有個requirements.txt文件,里面有需要的依賴庫和版本信息,按照其安裝即可。在安裝前,需要先安裝fortran編輯器(gfrotran),因為安裝scipy庫時需要它,執行命令: apt-get install gfortran 。前面可能已經下載並更新過了,所以這里的執行並不起作用~

cd 進入 python文件目錄,這里先更新一下pip源,鍵入命令: pip install --upgrade pip 

然后需要修改一下/usr/bin/pip文件,不然執行requirements.txt文件中下載python模塊的命令時會出現錯誤,鍵入命令: gedit /usr/bin/pip 或者 vim /usr/bin/pip ,將文件中的 from pip import main 修改為 from pip._internal import main ,按ctrl + S 保存並關閉文件。接着執行命令: gedit requirements.txt 或者 vim requirements.txt 打開requirements.txt文件,將 python-dateutil>=1.4,<2 修改為 python-dateutil ,也就是去掉要求下載的版本號,然后按ctrl + S保存並關閉文件。繼續執行命令(注意當前路徑下必須有requirements.txt文件): for req in $(cat requirements.txt); do pip install $req; done 其會依次下載requirements.txt文件中的每一個python模塊。於是,又進入了漫長的等待過程......其中黃色內容只是提示Python 2.7將於2020年1月1日到期,不是報錯,別慌!python2也快走到頭了,且行且珍惜吧!目前是2019年9月23日,夠學習caffe基礎了233~

足足花了40分鍾,校園網真是給力......滾動鼠標滑輪查看是否有出現紅色報錯,我這里是沒有的!接下來,鍵入命令: pip install -r requirements.txt 驗證是否安裝成功,若安裝成功的,都會顯示Requirement already satisfied,反之會繼續進行安裝python模塊。

1.4 將caffe根目錄下的python文件所在路徑加入到全局環境變量,鍵入命令: gedit ~/.bashrc 或者 vim ~/.bashrc 打開bashrc文件,在文件的最后面添加一條語句 export PYTHONPATH=/home/你的登錄名/caffe/python:$PYTHONPATH 。注意:這里將caffe安裝在/home/sam/路徑下,前面的內容可以使用 pwd 指令查看當前路徑,copy替換即可!保存並關閉文件,鍵入命令: source ~/.bashrc 文件設置立即生效!

1.5 最后一步:編譯python接口。這里需要先修改一下配置文件,鍵入命令: gedit Makefile.config 或者 vim Makefile.config ,找到文件中的PYTHON_INCLUDE,將 /usr/lib/python2.7/dist-packages/numpy/core/include 修改為 /usr/local/lib/python2.7/dist-packages/numpy/core/include ,即添加/local,保存並關閉文件。然后執行命令: make pycaffe ,輸出為 PROTOC (python) src/caffe/proto/caffe.proto ,則表示編譯python接口成功。

1.6 驗證python接口,進入python環境,引入caffe模塊,如果沒有報錯則安裝成功!使用 dir() 函數查看當前模塊的屬性列表,從圖中可看到caffe模塊被導入。至此,caffe安裝成功!完結撒花!最后要記住:因為整個過程都是在root角色下執行的,即所有安裝文件或python模塊等的用戶組都是root,而Ubuntu系統默認創建的用戶例如sam不是和root同一個用戶組,這樣sam用戶就可能沒有權限執行一些文件,又是在自己的電腦上練習,故每次登錄就su切換到root角色下使用python接口編碼吧!

 

 大家慢慢食用~

如果你安裝成功了,希望點一下右下角的推薦👍或者在評論區留言安裝成功了,讓我看看有多少人安裝成功了,謝謝o(* ̄▽ ̄*)o!

轉載請附上本文鏈接:https://www.cnblogs.com/acgoto/p/11570188.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM