日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Ubuntu >内容正文

Ubuntu

Caffe+Kubuntu16.04_X64+CUDA 8.0配置

發布時間:2023/12/31 Ubuntu 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Caffe+Kubuntu16.04_X64+CUDA 8.0配置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言:

??????? 經過嘗試過幾次Caffe,theano,MxNet之后,很長時間沒有進行caffe的更新,此次在Ubuntu16.04下安裝Caffe,折騰了一天時間,終于安裝成功。

??????? 參考鏈接:Caffe+UbuntuKylin14.04_X64+CUDA 6.5配置?


一? 配置CUDA8.0

??????? 既然使用了最新版本,必然使用最新版本的CUDA,且只有CUDA8.0給了ubuntu16.04支持。


1.1 禁用nouveau驅動:

??????? 參考鏈接: http://blog.csdn.net/chunchun362425965/article/details/51566851

nouveau去驅動是ubuntu自帶的驅動,需要將其刪除掉才能安裝 NVIDIA的驅動
  • 首先新建一個/etc/modprobe.d/blacklist-nouveau.conf文件 輸入如下文字blacklist nouveau options nouveau modeset=0
  • 運行sudo update-initramfs -u

如果遇到不能啟動的情況,或者遇到warning 顯示顯示配置選項,重啟幾次,直到啟動lighedm界面。

? ?????? 異常情況:此步驟不成功會造成? nouveau驅動未禁用,NVIDIA顯卡驅動無法安裝,


1.2 退回ubuntu GCC編譯器到4.9:

???????? 參考鏈接: 深度學習(四十一)cuda8.0+ubuntu16.04+theano、caffe、tensorflow環境搭建

ubuntu的gcc編譯器是5.4.0,然而cuda8.0不支持5.0以上的編譯器,因此需要降級,把編譯器版本降到4.9:

sudo apt-get install g++-4.9 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 20 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 10 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 20 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 10 sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 30 sudo update-alternatives --set cc /usr/bin/gcc sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 30 sudo update-alternatives --set c++ /usr/bin/g++

等待安裝完成...............................................................

? ?????? 異常情況:此步驟不成功會造成? 在安裝CUDA時找不到編譯器,CUDA安裝失敗。


1.3? 安裝CUDA8.0:

???????? 參考鏈接: 深度學習(四十一)cuda8.0+ubuntu16.04+theano、caffe、tensorflow環境搭建

?????? CUDA8.0屬于測試版本,需要登錄之后才能下載,最簡單的方式時下載.run包,可以直接運行。

?????? 官網下載地址:https://developer.nvidia.com/cuda-toolkit


準備工作:

???? ? 在UEFI BIOS里面切換顯卡使用,修改 PCI1 為ITG,切換到intel核顯


安裝過程:

?????? su root?

?????? 輸入密碼:

?????? service lightdm stop? (關掉X界面服務 )

???? ? cd? /home/cuda/

??? ?? ./cuda.run

等待安裝成功...............

修改BIOS,切換會PCI1

注意事項:cuda默認攜帶了nvidia驅動,可以不預先安裝最新版本的驅動程序。


1.4 配置測試環境

???????? 參考鏈接: 在Ubuntu下安裝、配置和測試cuda

export CUDA_HOME=/usr/local/cuda-8.0/ export CUDA_INC_PATH=${CUDA_HOME}/include export CUDA_LIB_PATH=${CUDA_HOME}/lib64 export CUDA_INSTALL_PATH=${CUDA_HOME} export PATH=${CUDA_HOME}/bin:$PATH export PATH=${CUDA_HOME}/computeprof/bin:$PATH export LD_LIBRARY_PATH=${CUDA_HOME}/computeprof/bin:$LD_LIBRARY_PATH export LD_LIBRARY_PATH=${CUDA_HOME}/lib64:$LD_LIBRARY_PATH export LD_LIBRARY_PATH=${CUDA_HOME}/extras/CUPTI/lib64:$LD_LIBRARY_PATH export MANPATH=${CUDA_HOME}/man:$MANPATH export OPENCL_HOME=${CUDA_HOME} export OPENCL_INC_PATH=${OPENCL_HOME}/include export OPENCL_LIB_PATH=${OPENCL_HOME}/lib64 export LD_LIBRARY_PATH=${OPENCL_LIB_PATH}:$LD_LIBRARY_PATH

查看版本:??????

nvcc --version

顯示信息:

B85M-D2V-TM:~$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2016 NVIDIA Corporation
Built on Wed_May__4_21:01:56_CDT_2016
Cuda compilation tools, release 8.0, V8.0.26


二 安裝第三方庫

1. 安裝Intel MKL?


(如果沒有可以安裝OpenBLAS代替)解壓安裝包,下面有一個install_GUI.sh文件, 執行該文件,會出現圖形安裝界面,根據說明一步一步執行即可。

1.安裝 MKL

注意: 安裝完成后需要添加library路徑

sudo gedit /etc/ld.so.conf.d/intel_mkl.conf

在文件中添加內容

/opt/intel/lib /opt/intel/mkl/lib/intel64


2.或者 安裝 OpenBLAS Install ATLAS/MKL/OpenBLAS if you haven't already. $ sudo apt-get install libopenblas-dev or $ sudo apt-get install libopenblas-base
(這里我按照這樣的方法最終編譯出現cblas找不到的問題,應該是MKL安裝有問題,但是又沒辦法解決,最終我就按照官網的方法安裝了ATLAS:sudo apt-get install libatlas-base-dev一句話就搞定,雖然性能可能比不上MKL,但是將就著能用就行。)?

注意把路徑替換成自己的安裝路徑。 編輯完后執行

sudo ldconfig

3. 安裝OpenCV


這個盡量不要手動安裝, Github上有人已經寫好了完整的安裝腳本:

https://github.com/jayrambhia/Install-OpenCV

下載該腳本,進入Ubuntu/2.4 目錄, 給所有shell腳本加上可執行權限

chmod +x *.sh

然后安裝最新版本 (當前為2.4.9)

http://code.opencv.org/issues/3814 ?下載?NCVPixelOperations.hpp?替換掉opencv2.4.9內的文件, 重新build。

sudo ./opencv2_4_9.sh

(注意,修改一下 文件里面的編譯選項,一直開 make j4, 導致CPU 總是熱導致停機,半途而廢。

應修改為 j2 ,或者去掉j選項

腳本會自動安裝依賴項,下載安裝包,編譯并安裝OpenCV。

整個過程大概半小時左右。?

注意,中途可能會報錯(這一次真的報錯了!!!

opencv-2.4.9/modules/gpu/src/nvidia/core/NCVPixelOperations.hpp(51): error: a storage class is not allowed in an explicit specialization

解決方法在此:http://code.opencv.org/issues/3814 ?下載?NCVPixelOperations.hpp?替換掉opencv2.4.9內的文件, 重新build。



安裝OpenCV


Ubuntu16.04用戶

Ubuntu 16.04中安裝OpenCV 2.4.10參考網址如下:

http://www.linuxidc.com/Linux/2016-07/132879.htm

http://www.linuxidc.com/Linux/2016-07/132880.htm


1 預先安裝一些軟件:

sudo apt-get install build-essential cmake libgtk2.0-dev pkg-config python-dev python-numpy libavcodec-dev libavformat-dev libswscale-dev

2 去官網下載opencv壓縮包

3 解壓壓縮包到某文件夾(用windows習慣了,直接右鍵提取到此處。。。)

?? cd 到目錄下,執行(注意有個“.”,作為cmake的參數表示當前目錄)

?? cmake .

成功,然后

?? make

出現錯誤:

??

[ 16%] Building NVCC (Device) object modules/core/CMakeFiles/cuda_compile.dir/__/dynamicuda/src/cuda/cuda_compile_generated_matrix_operations.cu.o CMake Warning (dev) at cuda_compile_generated_matrix_operations.cu.o.cmake:137 (if):Policy CMP0054 is not set: Only interpret if() arguments as variables orkeywords when unquoted. Run "cmake --help-policy CMP0054" for policydetails. Use the cmake_policy command to set the policy and suppress thiswarning.Quoted keywords like "COMMAND" will no longer be interpreted as keywordswhen the policy is set to NEW. Since the policy is not set the OLDbehavior will be used. Call Stack (most recent call first):cuda_compile_generated_matrix_operations.cu.o.cmake:164 (cuda_execute_process)This warning is for project developers. Use -Wno-dev to suppress it.nvcc fatal : Unsupported gpu architecture 'compute_11' CMake Error at cuda_compile_generated_matrix_operations.cu.o.cmake:206 (message):Error generating/home/wishchin/Lib/opencv-2.4.10/modules/core/CMakeFiles/cuda_compile.dir/__/dynamicuda/src/cuda/./cuda_compile_generated_matrix_operations.cu.omodules/core/CMakeFiles/opencv_core.dir/build.make:63: recipe for target 'modules/core/CMakeFiles/cuda_compile.dir/__/dynamicuda/src/cuda/cuda_compile_generated_matrix_operations.cu.o' failed make[2]: *** [modules/core/CMakeFiles/cuda_compile.dir/__/dynamicuda/src/cuda/cuda_compile_generated_matrix_operations.cu.o] Error 1 CMakeFiles/Makefile2:1110: recipe for target 'modules/core/CMakeFiles/opencv_core.dir/all' failed make[1]: *** [modules/core/CMakeFiles/opencv_core.dir/all] Error 2 Makefile:149: recipe for target 'all' failed make: *** [all] Error 2


排錯方法:

修改OpenCV版本為2.4.13,編譯通過,貌似2.4.10不支持CUDA8.0。

da_compile_generated_row_filter.6.cu.o [ 67%] Building NVCC (Device) object modules/gpu/CMakeFiles/cuda_compile.dir/src/cuda/cuda_compile_generated_build_point_list.cu.o [ 67%] Building NVCC (Device) object modules/gpu/CMakeFiles/cuda_compile.dir/src/cuda/cuda_compile_generated_copy_make_border.cu.o [ 67%] Building NVCC (Device) object modules/gpu/CMakeFiles/cuda_compile.dir/src/cuda/cuda_compile_generated_integral_image.cu.o [ 67%] Building NVCC (Device) object modules/gpu/CMakeFiles/cuda_compile.dir/src/cuda/cuda_compile_generated_tvl1flow.cu.o [ 67%] Building NVCC (Device) object modules/gpu/CMakeFiles/cuda_compile.dir/src/cuda/cuda_compile_generated_column_filter.8.cu.o [ 67%] Building NVCC (Device) object modules/gpu/CMakeFiles/cuda_compile.dir/src/cuda/cuda_compile_generated_column_filter.3.cu.o

[100%] Building CXX object apps/traincascade/CMakeFiles/opencv_traincascade.dir/HOGfeatures.cpp.o [100%] Building CXX object apps/traincascade/CMakeFiles/opencv_traincascade.dir/imagestorage.cpp.o [100%] Linking CXX executable ../../bin/opencv_traincascade [100%] Built target opencv_traincascade Scanning dependencies of target opencv_annotation [100%] Building CXX object apps/annotation/CMakeFiles/opencv_annotation.dir/opencv_annotation.cpp.o [100%] Linking CXX executable ../../bin/opencv_annotation [100%] Built target opencv_annotation Scanning dependencies of target opencv_visualisation [100%] Building CXX object apps/visualisation/CMakeFiles/opencv_visualisation.dir/opencv_visualisation.cpp.o [100%] Linking CXX executable ../../bin/opencv_visualisation [100%] Built target opencv_visualisation


只有opencv 2.4.13編譯成功..........................

4 安裝

sudo?make?install


[100%] Built target opencv_traincascade [100%] Linking CXX executable ../../bin/opencv_annotation [100%] Built target opencv_annotation [100%] Linking CXX executable ../../bin/opencv_visualisation [100%] Built target opencv_visualisation Install the project... -- Install configuration: "Release" -- Installing: /usr/local/include/opencv2/opencv_modules.hpp -- Installing: /usr/local/lib/pkgconfig/opencv.pc -- Installing: /usr/local/share/OpenCV/OpenCVConfig.cmake -- Installing: /usr/local/share/OpenCV/OpenCVConfig-version.cmake -- Installing: /usr/local/share/OpenCV/OpenCVModules.cmake -- Installing: /usr/local/share/OpenCV/OpenCVModules-release.cmake -- Installing: /usr/local/include/opencv/cv.h -- Installing: /usr/local/include/opencv/cxeigen.hpp

安裝成功........................................


4. 安裝其他依賴項


sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler
其他版本用戶參考官方說明:http://caffe.berkeleyvision.org/installation.html



三 安裝高級語言接口


1. 安裝Caffe所需要的Python環境

首先安裝pip和python-dev (系統默認有python環境的, 不過我們需要的使python-dev)

sudo apt-get install python-dev python-pip

然后執行如下命令安裝編譯caffe python wrapper 所需要的額外包

for req in $(cat requirements.txt); do sudo pip install $req; done

在執行上述命令時, 會報錯導致不能完全安裝所有需要的包。 可以按照官方建議安裝anaconda包。 在anaconda官網下載.sh文件,執行,最后添加bin目錄到環境變量即可。

(下面的添加沒用!一般不會用到)

建議安裝Anaconda包,這個包能獨立于系統自帶的python庫,并且提供大部分Caffe需要的科學運算Python庫。這里需要注意,在運行Caffe時,可能會報一些找不到libxxx.so的錯誤,而用 locate libxxx.so命令發現已經安裝在anaconda中,這時首先想到的是在/etc/ld.so.conf.d/ 下面將 $your_anaconda_path/lib 加入 LD_LIBRARY_PATH中。但是這樣做可能導致登出后無法再進入桌面!!!原因(猜測)可能是anaconda的lib中有些內容于系統自帶的lib產生沖突。

正確的做法是:為了不讓系統在啟動時就將anaconda/lib加入系統庫目錄,可以在用戶自己的~/.bashrc 中添加library path, 比如我就在最后添加了兩行

# add library path LD_LIBRARY_PATH=your_anaconda_path/lib:$LD_LIBRARY_PATH export LD_LIBRARY_PATH

開啟另一個終端后即生效,并且重啟后能夠順利加載lightdm, 進入桌面環境。



三 編譯Caffe


1. 編譯Caffe

終于完成了所有環境的配置,可以愉快的編譯Caffe了! 進入caffe根目錄, 首先復制一份Makefile.config

cp Makefile.config.example Makefile.config

然后修改里面的內容,主要需要修改的參數包括

CPU_ONLY 是否只使用CPU模式,沒有GPU沒安裝CUDA的同學可以打開這個選項

BLAS (使用intel mkl還是OpenBLAS)(由于我安裝了atlas,所以不需要修改默認設置!

MATLAB_DIR 如果需要使用MATLAB wrapper的同學需要指定matlab的安裝路徑,

如我的路徑為 /usr/local/MATLAB/R2013b (注意該目錄下需要包含bin文件夾,bin文件夾里應該包含mex二進制程序)

DEBUG 是否使用debug模式,打開此選項則可以在eclipse或者NSight中debug程序

完成設置后, 開始編譯

make make test make runtest

注意 -j4 是指使用幾個線程來同時編譯, 可以加快速度, j后面的數字可以根據CPU core的個數來決定, 我的CPU使4核, 所以-j4.


錯誤重現:

make 出現

<pre name="code" class="html"><span style="font-family:Times New Roman;">CXX .build_release/src/caffe/proto/caffe.pb.cc CXX src/caffe/solver.cpp In file included from src/caffe/solver.cpp:8:0: ./include/caffe/util/hdf5.hpp:6:18: fatal error: hdf5.h: 沒有那個文件或目錄#include "hdf5.h"^ compilation terminated.</span>
錯誤原因: HDF5未能使用,

解決方法: 使用 make all -j2 命令,可以CXX編譯通過

出現錯誤:

?

CXX examples/cpp_classification/classification.cpp AR -o .build_release/lib/libcaffe.a LD -o .build_release/lib/libcaffe.so.1.0.0-rc3 /usr/bin/ld: 找不到 -lhdf5_hl /usr/bin/ld: 找不到 -lhdf5 /usr/bin/ld: 找不到 -lcblas /usr/bin/ld: 找不到 -latlas collect2: error: ld returned 1 exit status Makefile:563: recipe for target '.build_release/lib/libcaffe.so.1.0.0-rc3' failed make: *** [.build_release/lib/libcaffe.so.1.0.0-rc3] Error 1 make: *** 正在等待未完成的任務....
?解決方法:

1安裝atlas...?

sudo apt-get install libatlas-base-dev

成功


2添加hdf5到 系統路徑

makefile文件里面添加:

LIBRARY_DIRS += /root/anaconda2/lib

或者

修改Makefile.config需要修改的內容:
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial

編譯通過.......

此處參考:Ubuntu16.04+CUDA8.0+Caffe????


3. 若出現/bin/sh: 1: /usr/local/cuda/bin/nvcc: not found 問題,在Ubuntu17.04時會出現此問題

?? 重裝CUDA

1.2. 編譯Python wrapper

make pycaffe

然后基本就全部安裝完拉.

接下來大家盡情地跑demo吧~


后記

??????? 最好不要使用16.04版本的ubuntu,還原到14.04版本為好

總結

以上是生活随笔為你收集整理的Caffe+Kubuntu16.04_X64+CUDA 8.0配置的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。