Ubuntu14.04安裝Caffe(CPU)

一 安裝Ubuntu14.04LTS

Ubuntu分區

1.SWAP 交換分區:與物理內存至關。python

2.「/」 根目錄分區:該區大小由硬盤大小而定,10-100G。linux

3.「HOME」 家目錄分區:該區也視硬盤大小決定,至關於WINDOWS下的個人文檔。git

設置中文輸入法(Ubuntu 14.04 LTS中自帶的iBus輸入法很是難用)

1.安裝Fcitxgithub

sudo apt-get install fcitx-table-wbpy

終端輸入以上命令,而後會自動安裝相關的依賴庫和框架。數據庫

2.配置Fcitxubuntu

Ubuntu右上角頂欄的小鍵盤圖標->配置;bash

系統設置->語言支持->默認輸入法換成fcitx。app

3.重啓電腦框架

Ubuntu經常使用指令參考

sudo         //調用管理管權限
apt-get       //獲取資源
install       //安裝
remove        //刪除
rm -r        //刪除文件夾
cp -i dir      //複製
cat         //查詢
echo         //打印
vi          //寫權限
sudo gedit     //獲取權限後,直接在文本中修改
:i          //寫入
:wq         //保存
sudo service lightdm stop/start   //開關桌面
sudo sh                 //運行 
chmod +x ./               //調用文件的權限
su root 或者 sudo            //權限問題
sudo matlab               //僅僅運行matlab會報錯
make clean                //從新編譯
mount  umount              //掛載與掛載接觸,用來安裝iso文件時的過渡過程
sudo find / -name libhdf5.so    //查找名爲libhdf5.so的文件所在的位置/目錄
sudo gedit /etc/profile -> PATH=/xxx/xxx/bin:$PATH -> source /etc/profile //添加環境變量

二 搭建Caffe環境

輸入命令,檢查顯卡信息。

lspci | grep -i vga

 

發現沒有Nvidia顯卡,因此只能暫時放棄Gpu,改用Cpu。

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
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
sudo apt-get install libatlas-base-dev
sudo apt-get install python-dev

2.下載Caffe源碼

使用Git直接下載或者去https://github.com/BVLC/caffe下載。機器學習

git clone https://github.com/bvlc/caffe.git

進入其根目錄,Caffe給定了一個樣例配置文件:Makefile.config.example,咱們須要將複製爲Makefile.config文件。

cd caffe/
cp Makefile.config.example Makefile.config //mv Makefile.config.example Makefile.config

3.修改配置文件Makefile.config

由於咱們只用CPU,所以須要將Makefile.config文件中「# CPU_ONLY := 1」,前面的#號去掉便可。

CPU_ONLY := 1

4.編譯Caffe

進入caffe文件夾根目錄下,進行以下操做。

cd ~/caffe
make all -j8
make test -j8
make runtest -j8

make默認是用CPU單核運算,在make後面加上-jn標籤,好比-j4使用四核加快速度。

注意:若須要從新編譯caffe,請先make clean,不然易出錯。

5.編譯Python接口 

(1)安裝Python

sudo apt-get install python-dev python-pip //sudo apt-get install python

(2)安裝Python依賴包

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 ipython ipython-notebook python-sympy

(3)依賴包編譯

cd ~/caffe 
make pycaffe

(4)添加~/caffe/Python到$PYTHONPATH

sudo gedit /etc/profile
# 末尾添加: export PYTHONPATH=/home/ysp/caffe/python:$PYTHONPATH
source /etc/profile

(5)測試是否能夠引用

$ python
Python 2.7.6 (default, Jun 22 2015, 17:58:13) 
[GCC 4.8.4] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import caffe
>>>

python命令行中import caffe報錯

問題:在成功編譯caffe的源碼以後,打開python解釋程序,輸入import caffe時,出現如下錯誤。
>>>import caffe
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named caffe

解決:把caffe中的python導入到解釋器中。

第一種方法:設置環境變量
終端中輸入:
    export PYTHONPATH=~/caffe/python #caffe的路徑下面的python   則該終端起做用,關掉終端後或從新打開一終端,則失效。 在配置文件中輸入:   A.把環境變量路徑放到 ~/.bashrc文件中     sudo echo export JAVA_HOME="~/caffe/python" >> ~/.bashrc   B.使環境變量生效     source ~/.bashrc
  能夠永久有效。
第二種方法:經過代碼來實現 在每一個python代碼中使用如下代碼 caffe_root = '/home/ysp/caffe/' import sys sys.path.insert(0, caffe_root + 'python') import caffe

6.安裝OpenCV(OpenCV版本>=2.4)

下載opencv安裝腳本,直接用腳本安裝opencv。

下載腳本後,由於個人系統是ubuntu的,因此接下來的操做針對ubuntu。

cd Install-OpenCV-master/Ubuntu 
chmod +x * //添加可執行權限 
./opencv_latest.sh

等待大約30分鐘,注意有一步輸入密碼,輸入用戶密碼便可。

配置完opencv,可用以下命令查詢其安裝版本。

pkg-config --modversion opencv

7.在Mnist運行Lenet

MNIST數據集簡介

MNIST數據集是一個大型的手寫體數據庫,普遍用於機器學習領域的訓練和測試,它是由紐約大學的Yann LeCun教授整理的,包括60000個訓練樣本和10000個測試樣本,其圖像都是灰度圖像,固定尺寸爲28x28(像素)。

 (1)獲取數據源

caffe源碼框架的data/mnist文件夾下有MNIST數據集的下載腳本get_mnist.sh.

首先將路徑切換到caffe的根目錄下 運行get_mnist.sh腳本 下載原數據集

cd caffe
./data/mnist/get_mnist.sh //sh data/mnist/get_mnist.sh
./examples/mnist/create_mnist.sh //sh examples/mnist/create_mnist.sh

(2)修改 solver_mode 爲 CPU(由於是CPU運行,因此修改在examples文件下的Mnist下的lenet_solver.prototxt中的solver_mode:CPU)

vi examples/mnist/lenet_solver.prototxt
#solver_mode: CPU

(3)訓練模型

./examples/mnist/train_lenet.sh

整個訓練時間會持續好久,沒有啓用GPU,而且默認是單核,用時5時38分6秒。

分類準確率:99.09%;loss:0.0287848。

(4)測試模型

1.在caffe/examples/images目錄下生成手寫的一個28*28像素數字的bmp文件。

2.在caffe/examples目錄下用Python編寫mnist.py。

3.執行上述腳本。

相關文章
相關標籤/搜索