在ubuntu14.04上配置cuda_caffe_cudnn_anaconda_digits

来源:http://www.cnblogs.com/lm123/archive/2016/11/04/6031624.html
-Advertisement-
Play Games

參考網上的很多網站,以這篇為主:http://blog.csdn.net/yhl_leo/article/details/50961542 這篇算是自己對caffe學習的一個總結系列的開頭。首先因為caffe的依賴項比較多,配置起來也比較麻煩。這篇算是比較詳盡地把caffe的各種相關配置說清楚。轉載 ...


參考網上的很多網站,以這篇為主:http://blog.csdn.net/yhl_leo/article/details/50961542

這篇算是自己對caffe學習的一個總結系列的開頭。首先因為caffe的依賴項比較多,配置起來也比較麻煩。這篇算是比較詳盡地把caffe的各種相關配置說清楚。轉載請註明出處。

推薦ubuntu14.04版本,因為digits的支持比較好。顯卡支不支持GPU加速要搞清楚啊,不支持就全用CPU算吧,別浪費時間折騰cuda了。

大家基本要按照官方教程上面來。但是官方教程有的坑沒有點出來的,本文也一併列上了。

 

一、顯卡的安裝

禁用nouveau驅動,nouveauubuntu自帶的對nivida的開源驅動,對安裝nvidia的官方驅動會有問題,所以先將其禁用。

Ctrl+Alt+F1 進入tty1控制台,輸入

 

sudo vim /etc/modprobe.d/blacklist-nouveau.conf

 

在裡面寫上

 

blacklist nouveau

options nouveau modeset=0

 

esc 輸入:wq 保存退出

 

ps:vim編輯器很好用啊,還不會的小伙伴要抓緊時間學啊。

 

執行

 

lspci | grep nouveau

 

查詢pci匯流排中是否還有nouveaugrep後面接正則表達式過濾。

什麼都沒有說明禁用成功。

 

重啟後登錄時,可能會迴圈出現填寫登錄密碼,不能進入系統的情況,按Ctrl+Alt+F1,登錄,

卸載顯卡方法:

 sudo apt-get remove --purge nvidia*

安裝顯卡驅動:

$ sudo add-apt-repository ppa:xorg-edgers/ppa

$ sudo apt-get update

$ sudo apt-get install nvidia-352

 

執行sudo start lightdm 輸入密碼能看到桌面就ok

 

ps:顯卡驅動掛掉之後很可能你就看不到系統界面了,啟動之後顯示器一團漆黑,其實系統是在運行的。我的做法是先提前裝好了SSH服務,碰到這種情況就通過另一臺電腦SSH登陸進去安裝驅動。

 

二、CUDA安裝

CUDA官網下載。其實應該先下載好的,如果沒來得及用圖形界面下載,用wget, curl什麼的下載也一樣。 據說331的驅動有坑啊,大家不要用那個驅動。下麵安裝一些依賴項/

 

sudo service lightdm stop

sudo apt-get install g++

sudo apt-get install git

sudo apt-get install freeglut3-dev

 

首先在官網上下載安裝文件(鏈接前文已經提供):

 

我下載的是deb本地安裝文件,下載完成後,按照文檔提示的命令安裝:

sudo dpkg -i cuda-repo-ubuntu1404-7-5-local_7.5-18_amd64.deb

sudo apt-get update

sudo apt-get install cuda

下載了下方的Installation Guide for Linux,裡面有關於環境變數的設置方法:

 

如果有,則說明安裝成功。沒有可以按照下麵方法卸載:

 

sudo /usr/local/cuda-7.5/bin/uninstall_cuda_7.5.plsudo /usr/bin/nvidia-uninstall

最後,配置環境變數,我們直接放在系統配置文件profile裡面,先打開profile文件

sudo vi /etc/profile

 

在最後面加入兩行代碼:

 

export PATH=/usr/local/cuda-7.5/bin:$PATH 

export LD_LIBRARY_PATH=/usr/local/cuda-7.5/lib64:$LD_LIBRARY_PATH

執行 source /etc/profile 使環境變數生效

至此cuda安裝完畢

 

三、CUDNN安裝

CUDNN是給CUDA加速的。cuDNNGPU加速計算深層神經網路的庫。cudnn官網下載。貌似下載要先註冊,審核通過還要幾天時間。下載好之後解壓。

 

執行如下命令:

sudo tar xvf cudnn-7.0-linux-x64-v4.0-prod.tgz && cd cuda/include && sudo cp *.h /usr/local/include/ && cd ../lib64 && sudo cp lib* /usr/local/lib/ && cd /usr/local/lib && sudo chmod +r libcudnn.so.4.0.7 && sudo ln -sf libcudnn.so.4.0.7 libcudnn.so.4 && sudo ln -sf libcudnn.so.4 libcudnn.so && sudo ldconfig

 

這樣CUDNN就安裝完畢了,是不是很簡單啊。

四、Anaconda的安裝

   https://www.continuum.io/downloads 下載anaconda,推薦使用linux版的python 2.7版本,因為tensorflow中的有些東西不支持python3.5(cPickle)

 

下載成功後,在終端執行(2.7版本):

 

# bash Anaconda2-4.1.1-Linux-x86_64.sh

或者3.5 版本:

 

# bash Anaconda3-4.1.1-Linux-x86_64.sh

在安裝的過程中,會問你安裝路徑,直接回車預設就可以了。有個地方問你是否將anaconda安裝路徑加入到環境變數(.bashrc)中,這個一定要輸入yes

 

安裝成功後,會有當前用戶根目錄下生成一個anaconda2的文件夾,裡面就是安裝好的內容。在終端可以輸入

 

conda info 來查詢安裝信息

 

輸入conda list 可以查詢你現在安裝了哪些庫,常用的python, numpy, scipy名列其中。如果你還有什麼包沒有安裝上,可以運行

 

conda install ***  來進行安裝(***代表包名稱),如果某個包版本不是最新的,運行 conda update *** 就可以了。

 

五、caffe的安裝

首先先安裝opencv,推薦2.4的版本。opencv1.x是純C語言編寫的,2.x cc++的包都有,opencv3是只用c++寫的。為了別人寫的代碼也能正常運行,還是推薦裝2.x

opencv2.4安裝很簡單了,下載下來解壓,然後進入目錄make, sudo make install就搞定了。

 

caffe官方下載 基本按照官方安裝指南就可以了,l另外一個方法就是命令行下載

下載caffe

sudo git clone https://github.com/BVLC/caffe.git

如果你沒安裝Git,請閱讀博客:Ubuntu Git安裝與使用。

然後編譯caffe:先安裝依賴:

 

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 libopenblas-dev liblapack-dev libatlas-base-dev

$ sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev

賈揚清大神還說了,大家一定要看清楚啊!

 

下麵開始配置caffe並且開始編譯了。

 

sudo cp Makefile.config.example Makefile.config

# Adjust Makefile.config (for example, if using Anaconda Python, or if cuDNN is desired) make all make test make runtest

配置文件有幾點要註意:

 

# cuDNN acceleration switch (uncomment to build with cuDNN).

USE_CUDNN := 1

# CPU-only switch (uncomment to build without GPU support).

# CPU_ONLY := 1BLAS choice:# atlas for ATLAS (default)

# mkl for MKL

# open for OpenBlasBLAS := atlas

# Custom (MKL/ATLAS/OpenBLAS) include and lib directories.

# Leave commented to accept the defaults for your choice of BLAS

# (which should work)!

# BLAS_INCLUDE := /path/to/your/blas

# BLAS_LIB := /path/to/your/blas

這幾個地方根據自己情況選擇。

make all沒有問題的話,caffe就算成功了啊。

 保存後重新編譯:  (如果電腦有8個線程的話,就在後面加 -j8 ,可以加快編譯速度)

sudo make clean

sudo make all -j8

sudo make test -j8

sudo make runtest -j8

本人編譯的時候最後一步的時候,出現這樣的錯誤:

libcudart.so.7.5 cannot open shared object file: No such file or directory

網上有一堆介紹,怎麼設置環境變數的(我們分明已經設置過了),可以這樣檢查是否已經添加環境變數:

$ echo $PATH$ echo $LD_LIBRARY_PATH

可以看到,環境變數已經添加好。

 

解決方法是這樣,將一些文件複製到/usr/local/lib文件夾下:

sudo cp /usr/local/cuda-7.5/lib64/libcudart.so.7.5 /usr/local/lib/libcudart.so.7.5 && sudo ldconfig

sudo cp /usr/local/cuda-7.5/lib64/libcublas.so.7.5 /usr/local/lib/libcublas.so.7.5 && sudo ldconfig

sudo cp /usr/local/cuda-7.5/lib64/libcurand.so.7.5 /usr/local/lib/libcurand.so.7.5 && sudo ldconfig

再次,嘗試sudo make runtest命令,出現如下:

 

至此,caffe安裝完成。

將caffe路徑導入環境變數,執行命令如下:

 sudo vi ~/.bashrc

 在最後加上 export PYTHONPATH=/home/***/caffe/python:$PYTHONPATH

export CAFFE_HOME=/home/***/caffe:$CAFFE_HOME

之後執行 sudo ldconfig 來生效

接著在caffe裡面執行sudo make pycaffe ,沒有錯誤就OK了,測試caffe是否成功,

在終端輸入 python 回車,import caffe 沒有錯誤表示ok

如果出現No module named google.protobuf.internal

解決辦法參考鏈接:http://www.th7.cn/system/lin/201605/164288.shtml

sudo chmod 777 -R  anaconda2(文件夾) 改變許可權 然後
conda install protobuf

就搞定啦~

 

DIGITS安裝

 

參考鏈接:http://www.cnblogs.com/denny402/p/5136155.html 

 

一、安裝digits 3.0

 

digits是運行在cudacaffe基礎上的,所以要先配置好cuda+caffe那是毫無疑問的了。還不會配置的,請參考:Caffe學習系列(1):安裝配置ubuntu14.04+cuda7.5+caffe+cudnn

 

打開一個終端,依次運行下列命令:

 

cd

 

sudo -s

 

進入當前用戶根目錄,並切換到超級用戶(符號由$變成#,不用每句都輸sudo)

 

 

 

CUDA_REPO_PKG=cuda-repo-ubuntu1404_7.5-18_amd64.deb &&

 

wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/$CUDA_REPO_PKG &&

 

sudo dpkg -i $CUDA_REPO_PKG

 

接著

 

ML_REPO_PKG=nvidia-machine-learning-repo-ubuntu1404_4.0-2_amd64.deb &&

 

http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1404/x86_64/$ML_REPO_PKG &&

 

sudo dpkg -i $ML_REPO_PKG

 

apt-get update

 

apt-get install digits

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 文章翻譯自:http://www.tomsitpro.com/articles/database-certifications,2-664.html 我們總是需求一些懂行的,有天賦的,知識淵博的資料庫專業人員。下麵是一些最好的資料庫認證,給DBA,Database developers及相關人員參考 ...
  • 設教學資料庫中有三個基本表: 學生表 S(S#,SNAME,AGE,SEX),其屬性表示學生的學號、姓名、年齡和性別;選課表 SC(S#,C#,GRADE),其屬性表示學生的學號、所學課程的課程號和成績;課程表 C(C#,CNAME,TEACHER),其屬性表示課程號、課程名稱和任課教師姓名。 下麵 ...
  • 實驗分析與討論: 在本次資料庫試驗中,我完成了實驗要求。本次實驗內容是關於多表的連接查詢及投影、選擇條件。在課堂上,老師講授了多表連接查詢的相關知識,我也用筆練習寫了sql語句,但是感覺印象還不是很深刻,有些不太理解。在實驗課中我練習了sql語句,對課堂上所學的知識有了更深的理解,收穫很多。實驗中, ...
  • 性能計數器和sql profiler都是常用的性能診斷工具和優化工具,最近和群友聊天發現很多人竟然不知道這兩個可以“組合”使用,所以這篇算是一篇掃盲貼吧。 兩種工具簡述 通過計數器可以收集兩部分內容:WINDOWS 的運行指標,和SQL Server的指標。比如:伺服器的CPU使用率、磁碟隊列、記憶體 ...
  • 1. TDD通過邊測試邊編寫代碼,然後重構來防止重構所引起的錯誤 2. 通過自動化測試和持續集成工具,隨時保持可以發佈 3. TDD第一步: 1. 需求分解 2. 將需求轉化成測試 3. 寫一個失敗的測試 4. 逐步通過測試,再寫一個測試 5. 開始消除重覆代碼 (由於這個時候有測試在了,所以不用擔 ...
  • 近幾年的linux kernel, 尤其是4.1以後,在Bay Trail平臺上會隨機掛起和死機,親測j1900,死機非常頻繁,而且死機前毫無徵兆,直接就掛起了,console也沒有相應。 這個問題在bugzilla.kernel.org上已經吵翻了,從2015年年初,一直到現在,仍然沒有徹底解決, ...
  • getsockopt()/setsockopt() level :選項級別 SOL_SOCKET :指定設置屬性在socket API層次,即通用socket選項 IPPROTO_IP :IP選項。 IPPROTO_TCP :TIP選項。 optname :選項名 SO_BROADCAST :廣播 ...
  • uboot啟動流程分析,針對S5PV210 BL1階段,SPL,u-boot-spl.bin 1、首先運行arch/arm/cpu/armv7/start.S 裡面的_start函數,進行異常向量表設置,然後跳轉到reset複位處理函數,設置處理器SVC模式,關閉IRQ和FIQ中斷。設置cp15協處 ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...