1. 程式人生 > >【深度學習】Ubuntu 常用軟體安裝:Tensorflow + TeamViewer + Caffe + ... + Matlab

【深度學習】Ubuntu 常用軟體安裝:Tensorflow + TeamViewer + Caffe + ... + Matlab

【UpdateTime:20180212】

(原文由於寫了幾個敏感詞彙,被強制刪除了,特此重新整理一篇)

2017.05.25:根據實踐過程,整理了第一版。

2017.12.22:由於第一版涉及幾個敏感詞彙,博文被強制移到回收站,重新整理一篇。

2018.01.05:增加了 matlab2017 for ubuntu 的相關參考連結。

2018.02.12:基於Anaconda安裝pytorch。

2018.04.17:deeplearning.ai 學習資料和連結,machine learning 學習資料。

2018.05.17:Jupyter 安裝 ||| Anaconda 各個版本安裝包。

2018.10.12:重新排版(- -CSDN介面改版後,以前很多博文的版面都亂了,難受)

重要連結:

一、本文目的

由於最近剛正式接觸Ubuntu系統,剛入門的我,一開始也是嘗試裝軟體、配環境、解決bug、整理文件,然後分享。

本文主要分為幾大軟體模組的安裝,如下所示:

1、常用工具:瀏覽器、XX-net、TeamViewer、htop、guake、crossover、git、sound-of-sorting、Adobe flash player

2、程式設計工具:Matlab、Sublime、texlive、Anaconda

3、機器學習 && 深度學習:CUDA、Tensorflow、Caffe

本文主要以“簡潔的命令列安裝命令”+“參考網址”的模式進行整理,方便大家參考,以免內容太多(存在太多冗餘的話)。此外,如果有比較負責的環境需要安裝和配置,會另整博文進行分享,比如“安裝和配置GPU版本的Tensorflow和Caffe”等。本文還會盡量將遇到的問題和解決方案附上,如後續有其他相似的問題,會繼續補充完善。讀者們可以觀察本文開頭的 UpdateTime 獲知更新的時間。

(本文儘量不貼圖,以減少文章篇幅,必要的時候再貼幾張圖)

本文常用的參考網址如下【To be continue...】:

二、常用命令:

1、檢視系統環境變數:

sudo gedit ~/.bashrc  
export PATH="/home/hcq/anaconda3/bin:$PATH"  
source ~/.bashrc  

2、檔案的解壓縮:

1)【tar -czf all.tar.gz *.jpg】將所有.jpg的檔案打成一個tar包,並且將其用gzip壓縮,生成一個gzip壓縮過的包,包名為all.tar.gz

2)【tar -xzf all.tar.gz】解壓all這個包

參考網址:

3、NVIDIA

1)檢視NVIDIA資訊:nvidia-smi

2)每隔t秒重新整理一下NVIDIA的資訊(可檢視視訊記憶體使用情況等):watch -n 10 nvidia-smi

4、gedit

簡介:gedit是一個GNOME桌面環境下相容UTF-8的文字編輯器。它使用GTK+編寫而成,因此它十分的簡單易用,有良好的語法高亮,對中文支援很好,支援包括gb2312、gbk在內的多種字元編碼。

1)開啟(指定檔案)視覺化編輯介面,如:sudo gedit Makefile.config

5、uname -m && cat /etc/*release:檢視系統資訊

x86_64  
DISTRIB_ID=Ubuntu  
DISTRIB_RELEASE=16.04  
DISTRIB_CODENAME=xenial  
DISTRIB_DESCRIPTION="Ubuntu 16.04.2 LTS"  
NAME="Ubuntu"  
VERSION="16.04.2 LTS (Xenial Xerus)"  
ID=ubuntu  
ID_LIKE=debian  
PRETTY_NAME="Ubuntu 16.04.2 LTS"  
VERSION_ID="16.04"  
HOME_URL="http://www.ubuntu.com/"  
SUPPORT_URL="http://help.ubuntu.com/"  
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"  
VERSION_CODENAME=xenial  
UBUNTU_CODENAME=xenial  

6、Ubuntu 檢視當前目錄使用的總空間大小

1)檢視當前目錄使用的總空間大小:

du -h --max-depth=0

2)檢視當前目錄下某檔案使用空間大小:

du -h --max-depth=1 檔名

注:”--max-depth=“指定深入目錄的層數(如果不使用該引數,則會迴圈列出當前目錄下所有檔案及資料夾使用的空間大小,檔案多時會很亂):

(1) --max-depth=0:檢視當前目錄使用的總空間大小; 

(2) --max-depth=1:檢視當前目錄使用總空間的大小以及當前目錄下一級檔案及資料夾各自使用的總空間大小;

7. Ubuntu,自動關機

sudo shutdown +100    // 表示電腦在100分鐘後關機

8. 檢視版本

1)檢視 tensorflow 版本:

import tensorflow as tf
tf.__version__

2)檢視 keras 版本:

import keras
print keras.__version__

3)檢視 PyTorch 版本:

import torch
print(torch.__version__)  #注意是雙下劃線

9. Vim 配色:

10. 安裝 requirements.txt

pip install -r requirements.txt

## requirements.txt 內容
git+https://github.com/mila-udem/[email protected]
Theano==0.9.0
fuel==0.2.0
h5py==2.7.1
Keras==2.0.8
matplotlib==2.1.0
numpy==1.9.3
picklable-itertools==0.1.1
Pillow==4.3.0
progressbar2==3.6.0
pyparsing==2.2.0
scikit-learn==0.19.0
scipy==0.19.1
six==1.11.0
sklearn==0.0
toolz==0.7.2
./ALI

、常用工具:

Ctrl + Alt + t  // 開啟終端
sudo wget http://www.linuxidc.com/files/repo/google-chrome.list -P /etc/apt/sources.list.d/
wget -q -O - https://dl.google.com/linux/linux_signing_key.pub  | sudo apt-key add -
sudo apt-get update
sudo apt-get install google-chrome-stable
/usr/bin/google-chrome-stable

【fcitx】 

2、開啟終端並輸入命令:sudo apt-get install fcitx-table-wbpy

3、ubuntu系統預設的是ibus,安裝完fcitx後,系統設定 -- 語言支援 -- 鍵盤輸入法系統 -- 選擇【fcitx】-- 重啟系統。

【搜狗輸入法】

1、官網:http://pinyin.sogou.com/linux/
2、在官網直接選擇相應的安裝包下載.deb檔案,然後直接開啟安裝。
3、需要配置的話,可通過Fcitx配置。

常見錯誤:

1、成功安裝完搜狗輸入法後,不能切換到搜狗輸入法。

解決方案:系統設定 -- 語言支援 -- 鍵盤輸入法系統 -- 選擇【fcitx】-- 重啟系統即可。

2、下載.deb安裝包後,點選install,沒反應。

解決方案:更新Ubuntu系統的“軟體安裝器”,搜尋“software updater”進行更新,更新完後再次點選安裝【搜狗輸入法】,程式會正常安裝,最後再重啟系統即可。

【虛擬機器 - vmware tools】

2、安裝步驟如下:

1)載入VMware Tools安裝光碟,開啟虛擬機器VMware Workstation,啟動 Ubuntu 系統 選單欄 - 虛擬機器 - 安裝VMware Tools

2)開啟載入的VMwareTools光碟,滑鼠右鍵 VMwareTools-*.tar.gz 檔案,提取到系統盤下的資料夾

3)Ctrt+Ait+T快捷開啟終端,終端輸入 sudo su 回車切換到root許可權下

4)輸入 cd ./Documents/vmware-tools-distrib 回車(d與/之間有空格) 

5)輸入 ./vmware-install.pl 回車,即開始安裝

6)期間很多需要你確認的yes或者no

7)回車直到你看到 Enjoy, --the VMware team 關閉終端,重起電腦安裝完成

遇到的問題整理:

1、打不開磁碟“C:\Users\lenovo\Documents\Virtual Machines\Ubuntu64-DL\Ubuntu64-... ...

== 原因:因為虛擬機器在執行的時候,會鎖定檔案,防止被修改,而如果突然系統崩潰了,虛擬機器就來不急把已經鎖定的檔案解鎖,所以你在啟動的時候,就會提示無法鎖定檔案。

== 解決方案:在你的虛擬機器的安裝目錄下,搜尋 【.lck】找到所有相關檔案並刪除即可。

【XX-net】

簡介:XX-net是一款免費的 XX 軟體,使用者可以通過申請Google郵箱並註冊相關的appID獲取免費 XX 的流量。

1、git clone [email protected]:XX-net/XX-Net.git 將最新的XX-net相關程式碼克隆到本地。

2、設定chrome代理:

【TeamViewer】

簡介:TeamViewer是一款強大的遠端操控軟體,提供支援與協助,並與他人互動合作、彼此交換資訊、訪問和使用技術。

1、直接到官網下載安裝包,也可以從這裡下載(我的百度雲網盤)

2、直接點選安裝

3、如有遇到中文顯示問題,可下載文字包解決(直接百度或google就行)- 參考網址:

步驟如下:

1)輸入命令【wget http://down5.pc6.com/qd3/simsun.zip】// windows上或者網路上下載宋體字型(simsun.ttc,simsun.ttf)

2)輸入命令【unzip simsun.zip】// 解壓

3)輸入命令【sudo cp simsun.tt* /opt/teamviewer/tv_bin/wine/share/wine/fonts/】// 把字型複製到/opt/teamviewer/tv_bin/wine/share/wine/fonts目錄

【htop】

參考網址:

簡介:top是Linux下常用的監控程式,htop相當於其加強版,顏色顯示不同引數,且支援滑鼠操作,相對於top簡單和人性化。

1、開啟系統終端:ctrl + alt + T

2、執行:sudo apt-get install htop

3、在終端輸入htop即可

效果圖如下所示:

簡介:Guake是一個下拉式的gnome桌面環境下的終端程式,因此你只需要按一個鍵就可以呼叫他,然後再按一次以便隱藏他。Guake支援快捷鍵、標籤、背景透明等特性。

2、執行命令:sudo apt-get install guake

3、使用F1即可開啟或者關閉guake終端

【crossover】參考網址:

簡介:CrossOver Linux 16 讓您可以在 Linux 系統上執行 Microsoft Windows 應用,而不必購買 Windows 授權,不必重啟系統,不必使用虛擬機器。通過 CrossOver Linux,您可以輕鬆地從桌面開啟 Windows 應用,並且與 Linux 系統的功能高度整合,實現跨平臺的複製粘帖和檔案互通。

3、直接執行安裝後,進行破解,本文在此分享了破解所需檔案和方法,如下所示:

  • 破解方法:開啟終端執行【sudo cp winewrapper.exe.so /opt/cxoffice/lib/wine/】(readme.txt文件裡有)

簡介:Git是一款免費、開源的分散式版本控制系統,用於敏捷高效地處理任何或小或大的專案。

2、安裝git:

1)開啟終端並依次輸入如下命令:

sudo add-apt-repository ppa:git-core/ppa
sudo apt-get update
sudo apt-get install git

2)安裝成功後檢視git版本:

sudo apt-get install build-essential
sudo apt-get install libgl1-mesa-dev
sudo apt-get install libglu1-mesa-dev
sudo apt-get install libglut-dev( 如果出現錯誤換成如下命令:sudo apt-get install freeglut3-dev )

【GoldenDict】

簡介:GoldenDict 是一款不錯的、與StarDict(星際譯王)類似的詞典軟體。goldendict可查詢Wikipedia、Wiktionary 等基於 MediaWiki 的 Wiki 網站,且能夠通過模板 Url模式來使用其他的線上詞典網站;具有基於 Hunspell 的 morphology 系統;包含完整的 Unicode支援、scan 彈窗及全域性熱鍵等功能。

安裝步驟如下:

1、該軟體尚未嘗試,待親測後再進行更新。

參考網址:

【sound-of-sorting】

簡介:"Sound of Sorting" 是一個演示程式,包含很多整數排序演算法,通過視覺化的方式展示整個排序的過程,讓開發者可以非常清楚排序的遠離。動畫的速度和聲效可進行定製。使用 wxWidgets 和 SDL 開發,支援跨平臺。

參考網址:

效果如下所示:

【Adobe flash player】

1、開啟終端:ctrl + alt + t

2、sudo apt-get update

3、sudo apt-get install flashplugin-installer

4、重啟瀏覽器即可

ksnapshotubuntu 系統下的截圖工具

開啟終端並輸入如下命令:

sudo apt-get install ksnapshot  

【如何將Ubuntu主資料夾裡的中文資料夾(如,下載,音樂等)名稱改成英文】

簡介:為了在終端方便的使用,(對了選擇了ubuntu中文版的使用者)自然在home檔案裡使用者目錄的“桌面”、“圖片”、“視訊”、“音樂”……都是中文的,使得在終端切換到對應目錄的時候比較麻煩。所以很有必要將中文檔名改為英文,方便後續使用。

步驟如下:

ctrl + alt + t  ## 開啟終端
export LANG=en_US
xdg-user-dirs-gtk-update    ## 跳出對話方塊詢問是否將目錄轉化為英文路徑,同意並關閉.
export LANG=zh_CN
關閉終端,並重起。下次進入系統,系統會提示是否把轉化好的目錄改回中文.選擇不再提示,並取消修改.主目錄的中文轉英文就完成了。

【CMake

git clone https://github.com/Kitware/CMake
./boostrap
make -j8 (8表示執行緒數)
sudo make install

四、程式設計工具

【Matlab】

【Sublime】

簡介:Sublime Text 是一個程式碼編輯器,也是HTML和散文先進的文字編輯器。具有漂亮的使用者介面和強大的功能,例如程式碼縮圖,Python的外掛,程式碼段等。還可自定義鍵繫結,選單和工具欄。Sublime Text 的主要功能包括:拼寫檢查,書籤,完整的 Python API , Goto 功能,即時專案切換,多選擇,多視窗等等。Sublime Text 是一個跨平臺的編輯器,同時支援Windows、Linux、Mac OS X等作業系統。

1、新增Sublime-text-3軟體包的軟體源:sudo add-apt-repository ppa:webupd8team/sublime-text-3

2、更新系統軟體源:sudo apt-get update

3、安裝Sublime-text-3:sudo apt-get install sublime-text-installer(如果失敗的話,可再執行這條語句嘗試一下)

4、在Dash Home中搜索Sublime即可見到圖示,表示安裝成功。

注:如果你編輯的資料夾具有許可權問題,你可以嘗試給當前使用者賦予該檔案的執行許可權即可。

== 現象:你每次儲存編輯的內容,都需要輸入密碼。

== 解決:sudo chown -R 'hcq' xxx 表示改變檔案xxx及其子目錄下所有檔案對於使用者hcq的執行許可權(改變指定目錄以及其子目錄下的所有檔案的擁有者和群組)

== 例如:本人從github上clone下的caffe原始碼需要sudo的執行許可權,於是每次修改原始碼並報錯後都要輸入密碼,很麻煩。最後使用上述方法解決該問題。

If you have Python 3 installed (which is recommended):如果是python3版本(推薦),輸入如下命令:

python3 -m pip install --upgrade pip
python3 -m pip install jupyter

If you have Python 2 installed:如果是python2版本,輸入如下命令:

python -m pip install --upgrade pip
python -m pip install jupyter

輸入如下命令,執行 jupyter:

jupyter notebook

【texlive】

簡介:LaTeX是一款強大的排版系統,尤其在編輯複雜的數學公式時具有其他軟體無法比擬的優勢。安裝和配置texlive後就可以在Ubuntu下使用LaTeX了。

1、LaTeX的基礎環境:sudo apt-get install texlive-full

2、Latex編輯器:sudo apt-get install texmaker

3、開啟終端,直接輸入:texmaker 即可開啟介面。

【Anaconda】

簡介:Anaconda是一個用於科學計算的Python發行版,支援 Linux, Mac, Windows系統,提供了包管理與環境管理的功能,可以很方便地解決多版本python並存、切換以及各種第三方包安裝問題。Anaconda利用工具/命令conda來進行package和environment的管理,並且已經包含了Python和相關的配套工具。

2、cd到安裝包檔案所在的目錄下並執行:bash Anaconda2-4.3.1-Linux-x86_64.sh

3、配置環境變數:

sudo gedit ~/.bashrc
export PATH="/home/hcq/anaconda3/bin:$PATH"
source ~/.bashrc

注:一個系統下是可以並存多個Anaconda版本的,比如我的Ubuntu系統就安裝配置了Anaconda2和Anaconda3,可通過配置環境變數讓系統選擇相應的Anaconda版本。比如,在Caffe的實踐中,Anaconda3相對與Anaconda2有比較多的問題,此時就可以切換到Anaconda2。

參考網址:

【Ubuntu安裝 Nvidia 顯示卡

1、開啟【軟體更新器】並更新

2、搜尋【附件驅動】把“該裝置正在使用推薦的驅動”改為nvidia選項,並點選【應用更改】,等待一段時間

3、重啟即可。

如下圖所示:

注:此種方式嘗試了2次,都很成功。讀者也可以到英偉達官網去下載機器對應的驅動並進行安裝。

五、機器學習 && 深度學習

【Ubuntu + CUDA + CUDNN + Tensorflow-GPU】

1、檢視電腦是否有GPU:開啟終端並輸入【nvidia-smi】

2、安裝CUDA:

== cd到檔案所在路徑,並執行如下命令:

sudo dpkg -i cuda-repo-<distro>_<version>_<architecture>.deb 
sudo apt-get update 
sudo apt-get install cuda

== 配置環境變數(sudo gedit ~/.bashrc):

export PATH=/usr/local/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH

== 檢視顯示卡的驅動版本: cat /proc/driver/nvidia/version

== 檢視nvcc編譯器的版本: nvcc -V i

3、安裝CUDNN:

====================== cudnn-5.1-8.0 ========================

sudo tar xvf cudnn-8.0-linux-x64-v5.1.tgz
切換到 cuda/lib64 目錄下:sudo cp lib* /usr/local/cuda-8.0/lib64/
切換到 cuda/include 目錄下:sudo cp *.h /usr/local/cuda-8.0/include/
切換到 /usr/local/cuda-8.0/lib64 目錄下:sudo chmod +r libcudnn.so.5.1.10 && sudo ln -sf libcudnn.so.5.1.10 libcudnn.so.5 && sudo ln -sf libcudnn.so.5 libcudnn.so && sudo ldconfig

## cudnn 6.0: sudo chmod +r libcudnn.so.6.0.21 && sudo ln -sf libcudnn.so.6.0.21 libcudnn.so.6 && sudo ln -sf libcudnn.so.6 libcudnn.so && sudo ldconfig

4、安裝Anaconda:上文有介紹,此處假設Anaconda已經成功安裝。

5、基於anaconda安裝tensorflow:

1)conda create -n tensorflow
== 問題:CondaHTTPError: HTTP None None for url <https://repo.continuum.io/pkgs/free/linux-64/repodata.json.bz2>

== 修改conda配置:conda config(http://www.jianshu.com/p/2f3be7781451
== sodu vim ~/.condarc
2)source activate tensorflow / source deactivate tensorflow
3)pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.1.0-cp36-cp36m-linux_x86_64.whl
4)tensorflow_gpu-1.1.0-cp34-cp34m-linux_x86_64.whl的下載網址:https://pypi.python.org/pypi/tensorflow

5)問題:許可權不夠:PermissionError: [Errno 13]               

sudo chown -R 'hcq' /usr/local/lib/python3.5
sudo chown -R 'hcq' /home/hcq/anaconda3/lib/python3.6
sudo chown -R 'hcq' /home/hcq/anaconda3/

至此,tensorflow已經安裝完畢,可以執行MNIST程式碼試試看。值得一提的是,本人電腦的視訊記憶體只有2G,原始的GPU版的MNIST程式碼中,測試樣本沒有進行batch處理,而是將10000個測試樣本直接存入視訊記憶體(因為此處用的GPU執行程式),所以導致視訊記憶體不夠用而報錯。本文提供一個batch處理的MNIST程式碼,可幫助讀者進行測試。具體程式碼可到這裡下載(讀者需要先理解一下,下載好相關的MNIST資料並放到指定的資料夾中)。執行結果如下所示:

============= 使用pip安裝【tensorflow】和【tflearn】 ===============

tflearn簡介:TFLearn 是一個模組化和透明的深度學習庫,構建在 TensorFlow 之上。它為 TensorFlow 提供高層次 API,目的是便於快速搭建試驗環境,同時保持對 TensorFlow 的完全透明和相容性。

安裝步驟如下:

1、確保當前系統有pip,本文直接安裝了anaconda2整合環境,包含了大部分外掛。anaconda安裝教程上文有介紹,此處略。

2、pip uninstall tensorflow   //【可選】解除安裝系統當前的tensorflow

3、pip uninstall tflearn         //【可選】解除安裝系統當前的tflearn

4、pip install -I tensorflow==0.12.1    // 安裝指定版本的tensorflow

5、pip instlal -I tflearn==0.2.1            // 安裝指定保本的tflearn

為什麼要按上述的方式安裝:因為之前先安裝最新版的tensorflow,再安裝tflearn的時候出現版本不對應的問題。在網上找了一些資料,才發現是版本問題,所以使用上述方法安裝,能成功安裝對應版本的tensorflow和tflearn。

注:上述方式安裝的tensorflow應該只是CPU版本的,本人嘗試使用tflearn也是基於CPU去跑程式碼的,後續有進一步研究再整理分享出來。

========== 基於tflearn官網,使用pip安裝【tensorflow】和【tflearn】 ==========

概要:由於有些程式碼需要更高版本的tensorflow(比如,1.0.0),上述版本不滿足要求,但又想相容tflearn。這種情況下,參考如下:

1、export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.1.0-cp27-none-linux_x86_64.whl

2、sudo pip install $TF_BINARY_URL                   # Python 2 

     sudo pip3 install $TF_BINARY_URL                # Python 3

3、pip install git+https://github.com/tflearn/tflearn.git

== 若要直接升級,參考官網。

【20181012】別再使用pip安裝TensorFlow了!用conda吧

【keras】

安裝指定版本的 keras:

pip install keras==2.0.9  

【pytorch】http://pytorch.org/

Linux+pip+python2.7+CUDA8:

pip install http://download.pytorch.org/whl/cu80/torch-0.3.0.post4-cp27-cp27mu-linux_x86_64.whl 
pip install torchvision 

# if the above command does not work, then you have python 2.7 UCS2, use this command 
pip install http://download.pytorch.org/whl/cu80/torch-0.3.0.post4-cp27-cp27m-linux_x86_64.whl

Linux+pip+python3.6+CUDA8:

pip install http://download.pytorch.org/whl/cu80/torch-0.3.0.post4-cp36-cp36m-linux_x86_64.whl 
pip install torchvision

【Ubuntu + CUDA + CUNDD + Caffe】

本節內容參考網址:

1、CUDA、CUDNN等環境的配置參考上文(Tensorflow部分)。

2、安裝和配置Caffe:

1)下載最新Caffe的原始碼到本地:sudo git clone https://github.com/BVLC/caffe.git

2)安裝一大推第三方庫,如下所示:

sudo apt-get install libatlas-base-dev libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev  
sudo apt-get install libboost-all-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler  

3)caffe/python原始碼的目錄下有個【requirements.txt】,列出了python所需的一些包,可執行如下命令進行安裝:

cd /home/hcq/caffe/python

for req in $(cat requirements.txt); do pip install $req; done  (如果有許可權問題的話,就改變caffe檔案的執行許可權  sudo chown -R 'hcq' xxx )

4)安裝google-glog(不確定是不是必要的)

下載地址:https://pan.baidu.com/s/1slpjjeH 

安裝步驟: 

== 將glog‐0.3.3.tar.gz這個檔案拷貝到主資料夾下,即/home/hcq 資料夾下,點選滑鼠右鍵,選擇提取到此處(即是解壓)

== 解壓後終端輸入如下命令:

cd /home/yourname/glog-0.3.3   
./configure   
sudo make   
sudo make install  

3、安裝OPenCV:【UpdateTime:20170531】

======================= OpenCV3.0 +  =====================

sudo git clone https://github.com/jayrambhia/Install-OpenCV
在Install-OpenCV/Ubuntu目錄下先執行命令【chmod +x *】,然後執行【./opencv_latest.sh】
cd /home/hcq/Install-OpenCV/Ubuntu/OpenCV/opencv-3.2.0
sudo mkdir release
cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
sudo make(編譯過程需要一段時間,要到100%才算是是成功)
sudo make install

編譯完,環境也自動加上了。

注意:如果使用的是openCV3.0以上的版本,caffe原始碼目錄下的Makefile.config配置檔案中,需要取消【OPENCV_VERSION := 3】的註釋。

參考網址:

4、配置相關檔案(Makefile.config 和 Makefile):

== 進入/usr/lib/x86_64-linux-gnu目錄下,執行如下命令(否則會提示:/usr/bin/ld: 找不到 -lhdf5_hl 和 /usr/bin/ld: 找不到 -lhdf5):
1)sudo ln libhdf5_serial.so.10.1.0 libhdf5.so
2)sudo ln libhdf5_serial_hl.so.10.0.2 libhdf5_hl.so

== 配置檔案Makefile.config:

1)sudo cp Makefile.config.example Makefile.config:複製一份配置檔案

2)在INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include 加上 /usr/include/hdf5/serial(空格隔開)

== 配置檔案Makefile:在caffe的根目錄下執行 sudo gedit Makefile 進入檔案,修改如下所示:

NVCCFLAGS += -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS) #這行去掉   
#改為如下:  
NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)  

5、配置python和Matlab介面:本文以Anaconda為例

開啟終端,切換到Caffe目錄下,輸入【sudo gedit Makefile.config】命令開啟Caffe的配置檔案,分如下情況討論:

1)Anaconda3:python3.6

python相關的配置如下所示:

ANACONDA_HOME := /home/hcq/anaconda3  
PYTHON_LIBRARIES := boost_python3 python3.6m  
PYTHON_INCLUDE := $(ANACONDA_HOME)/include \  
                  $(ANACONDA_HOME)/include/python3.6m \  
                  $(ANACONDA_HOME)/lib/python3.6/dist-packages/numpy/core/include  
PYTHON_LIB := $(ANACONDA_HOME)/lib  
# Uncomment to support layers written in Python (will link against Python libs)  
WITH_PYTHON_LAYER := 1  
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial /usr/local/cuda/include  
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/local/cuda/lib64  

問題集錦:請參考另一篇整理問題集錦的博文,

解決方案:

2)Anaconda2:python2.13(有同學建議使用Anaconda2+caffe的組合配置,會減少一些錯誤,本人也是嘗試Anaconda2進行配置的)

3)獨立安裝的python(需要獨立安裝很多相關的包),此部分沒做嘗試,但是原理類似。

python依賴的包:sudo apt-get install -y python-numpy python-scipy python-matplotlib python-sklearn python-skimage python-h5py python-protobuf python-leveldb python-networkx python-nose python-pandaspython-gflags Cython ipython

6、開始編譯Caffe

1)cd ~/my_softwares/DeepLearning/caffe:進入caffe的根目錄下

2)sudo make clean

3)sudo make all -j4 (-j4表示使用4核處理器執行當期指令)

4)sudo make test -j4(最好加上sudo防止有些檔案的訪問許可權不夠)

5)sudo make runtest

注:如果執行【sudo make runtest】的時候遇到問題.build_release/tools/caffe: error while loading shared libraries: libopencv_core.so.3.2: cannot open shared object file: No such file or directory,可以通過安裝ffmpeg解決該問題,執行【sudo apt install ffmpeg】進行安裝,參考這裡

7、基於CUDNN進行加速:

1)cd ~/my_softwares/DeepLearning/caffe:進入caffe的根目錄下

2)sudo vi Makefile.config:修改配置檔案的內容
3)將USE_CUDNN 行的註釋符號#去除,即 USE_CUDNN := 1, 然後重新編譯,執行如下命令:
4)sudo make clean
5)sudo make all:重新編譯

8、測試caffe

1)import caffe,輸入如下命令:

== cd /home/hcq/caffe

== python

== import caffe

== 第一次成功後如下所示:

[email protected]:~/caffe/python$ python  
Python 2.7.13 |Anaconda custom (64-bit)| (default, Dec 20 2016, 23:09:15)   
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux2  
Type "help", "copyright", "credits" or "license" for more information.  
Anaconda is brought to you by Continuum Analytics.  
Please check out: http://continuum.io/thanks and https://anaconda.org  
>>> import caffe  
/home/hcq/anaconda2/lib/python2.7/site-packages/matplotlib/font_manager.py:280: UserWarning: Matplotlib is building the font cache using fc-list. This may take a moment.  
  'Matplotlib is building the font cache using fc-list. '  

2)MNIST

== cd /home/hcq/caffe(確保當前目錄是caffe目錄),執行如下命令:

== sudo ./data/mnist/get_mnist.sh

== sudo ./examples/mnist/create_mnist.sh

== sudo ./examples/mnist/train_lenet.sh

== 訓練完成後如下所示:

I0531 13:36:27.238719 30896 solver.cpp:447] Snapshotting to binary proto file examples/mnist/lenet_iter_10000.caffemodel  
I0531 13:36:27.246770 30896 sgd_solver.cpp:273] Snapshotting solver state to binary proto file examples/mnist/lenet_iter_10000.solverstate  
I0531 13:36:27.292603 30896 solver.cpp:310] Iteration 10000, loss = 0.00319028  
I0531 13:36:27.292671 30896 solver.cpp:330] Iteration 10000, Testing net (#0)  
I0531 13:36:32.300751 30898 data_layer.cpp:73] Restarting data prefetching from start.  
I0531 13:36:32.510131 30896 solver.cpp:397]     Test net output #0: accuracy = 0.9908  
I0531 13:36:32.510211 30896 solver.cpp:397]     Test net output #1: loss = 0.0275014 (* 1 = 0.0275014 loss)  
I0531 13:36:32.510223 30896 solver.cpp:315] Optimization Done.  
I0531 13:36:32.510227 30896 caffe.cpp:259] Optimization Done.  

【Scipy】

簡介:SciPy是一款方便、易於使用、專為科學和工程設計的Python工具包.它包括統計,優化,整合,線性代數模組,傅立葉變換,訊號和影象處理,常微分方程求解器等等。

1、參考網址:

2、本文基於Anaconda3進行安裝,如下所示:

    1)基於Anaconda3的話執行:conda install scikit-learn ||| 基於獨立python的話,執行:pip install -U scikit-learn

    2)安裝NumPy包(基於Anaconda的話不需要此步驟):

    3)安裝SciPy包(基於Anaconda的話不需要此步驟):

注:基於獨立python環境的話,請參考這裡

3、測試環境是否配置完成,依次執行如下步驟:

開啟powerhesll,進入python

1)import numpy

2)import scipy

3)from sklearn import linear_model

4)reg = linear_model.LinearRegression()

5)reg.fit ([[0, 0], [1, 1], [2, 2]], [0, 1, 2])

此時輸出:LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False)

6)reg.coef_

此時輸出:array([ 0.5,  0.5])

4、更多案例請參考官網,提供了超多案例,可以慢慢感受。

【lasagne】

簡介:Ubuntu 14.04 安裝 theano,lasagne,nolearn

1、安裝 theano 所需要的包:sudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose 

2、安裝 theano: sudo pip install theano 

3、安裝 lasagne 以及 nolearn: pip install -r https://raw.githubusercontent.com/dnouri/kfkd-tutorial/master/requirements.txt

六、問題集錦 

【ubuntu在終端使用命令安裝軟體的過程中】

/sbin/ldconfig.real: /usr/lib/nvidia-375/libEGL.so.1 is not a symbolic link  
/sbin/ldconfig.real: /usr/lib32/nvidia-375/libEGL.so.1 is not a symbolic link  
  
/sbin/ldconfig.real: /usr/lib/nvidia-375/libEGL.so.1 不是符號連線  
/sbin/ldconfig.real: /usr/lib32/nvidia-375/libEGL.so.1 不是符號連線  

解決方案:依次執行如下命令

sudo mv /usr/lib/nvidia-375/libEGL.so.1 /usr/lib/nvidia-375/libEGL.so.1.org  
sudo mv /usr/lib32/nvidia-375/libEGL.so.1 /usr/lib32/nvidia-375/libEGL.so.1.org  
sudo ln -s /usr/lib/nvidia-375/libEGL.so.375.39 /usr/lib/nvidia-375/libEGL.so.1  
sudo ln -s /usr/lib32/nvidia-375/libEGL.so.375.39 /usr/lib32/nvidia-375/libEGL.so.1  

======================================================

未完待續!~ 讀者們有什麼好建議可以直接評論哈,本人會第一時間就行完善和補充,爭取提供給大家更多幫助和便利。

======================================================