編譯libcaffe卡死
Ⅰ win10caffe安裝後怎麼使用
整了一晚上加一上午。網上關於python的記錄較少,這里寫一下。 這里的環境是WIN10+cuda v7.5 +cudnn v4 + opencv + pycharm+VS2013 使用的是GPU,我的GPU是titan16G+內存32G 首先是caffe的文件以及第三方庫的編譯,這里提供一個已經編譯好的的連接,我就是從那裡下好然後編譯完畢的。 點擊打開鏈接 happynear的 然後就是如何編譯python介面。 1、首先先生成兩個python文件,在src/caffe/proto/extract_proto.bat 里生成caffe_pb2.py 這個之後有用。 2、然後打開已經給好的caffe/buildVS2013,打開裡面已經有的工程文件,正常的情況下應該是有7個工程,選中pycaffee單獨作為要編譯的項目。如圖所示: 把pycaffe作為單啟動。注意需要在release x64位下編譯。 如果沒有這個的話,就將這個文件夾里python文件夾中的項目加入即可。如果沒有python項目,就自己建一個,將python文件夾里的cpp文件加入就可以了。 3、選擇pycaffe的屬性,將配置屬性下的VC++目錄中的包含目錄和庫目錄填上你python所在的include和libs 再在C/C++的目錄下的附加包含目錄一項中添加 以我的python為例。D:/python27/Lib;D:/python/include/ 以及D:/Python27/Lib/site-packages/numpy/core/include 如果你安裝了CUDNN這里可以在預處理器那裡把USE_CUDNN加上,同時在LINKER的輸入目錄下的附加依賴庫中加入cudnn的lib文件。 3、開始編譯即可。這里要注意一定要和caffe、caffelib在一個項目里編譯,否則會報錯。 4、編譯成功後會在caffe/python/caffe下生成_caffe.pyd 是打不開的 5、配置python環境:需要幾個額外庫 Cython>=0.19.2 numpy>=1.7.1 scipy>=0.13.2 scikit-image>=0.9.3 matplotlib>=1.3.1 ipython>=3.0.0 h5py>=2.2.0 leveldb>=0.191 networkx>=1.8.1 nose>=1.3.0 pandas>=0.12.0 python-dateutil>=1.4,<2 protobuf>=2.5.0 python-gflags>=2.0 pyyaml>=3.10 Pillow>=2.3.0 six>=1.1.0 其中numpy要裝MKL版本的,不然scipy裝上了BLAS不能用 leveldb沒有windows版本的,不過我找到了可以使用的辦法。見這個博客: 點擊打開鏈接 如果有pip install 裝不上的,可以上這個網站找 wheel文件安裝就可以了 點擊打開鏈接 6、最後把目錄中python下的caffe文件夾復制到python27/Lib/site-packages就可以了。 測試的時候只需要在控制台下輸入import caffe 看能載入就知道成功了:)
Ⅱ cublas.lib有win32版嗎
cublas.lib有win32版
1.配置環境
我在自己的筆記本配置的caffe,配置的環境為:Windows 7 64位 + cuda6.5 + Opencv2.49 +VS2013。假設在配置caffe之前,你已經准備好這些。
本文中將給出一些編譯好的依賴庫,如果你也是用的Windows 7 64位+VS2013,可以直接使用。
2.准備依賴庫
在Windows下配置caffe,一個很主要的問題就是依賴庫的編譯。不像在Ubuntu下那麼方便,在Windows下,依賴庫都需要使用vs2013進行編譯才能使用。下面我將介紹caffe需要的依賴庫(如果你也是win7 64位+VS2013,可以直接使用我提供的依賴庫)。
2.1 boost
boost可以下載源碼進行編譯,也可以直接下載安裝文件。我使用的是後者,方便、快捷。
我使用的是:boost_1.56_0-msvc-12.0-64.exe
注意下載適合你的配置環境的boost版本即可。
下載完畢,雙擊運行安裝文件即可。
2.2 Glog+Gflag+Protobuf+LevelDB+HDF5+LMDB+Openblas
這一部分的很多都是谷歌的開源庫,不容易下載(你懂的)。所以我使用的是Neil Z. SHAO『s Blog
提供的編譯好的。
下載完,解壓得到3rdparty文件夾。在下一段將會用到。
3.建立caffe工程
准備好了caffe需要的依賴庫和環境之後,下面就可以建立caffe的vs項目,進行編譯了。
3.1 下載caffe源碼
可以從caffe的github主頁下載源碼。
下載地址:Caffe』s GitHub
解壓文件,假設caffe源碼所在目錄為CAFFE_ROOT。
3.2 准備項目需要的依賴庫和系統環境變數
經過上一階段的准備,caffe項目所需的依賴庫都已經准備好。
1.首先設置系統環境變數(以我的為例):
CUDA_PATH_V6_5 安裝好cuda6.5之後,會自動添加環境變數CUDA_PATH_V6_5
OPENCV_2_49 D:/Tools/opencv2.49/build/
BOOST_1_56 D:/Tools/boost_1_56_0
2.將3rdparty文件夾放到CAFFE_ROOT
3.3 用vs建立caffe項目
1.用VS2013在CAFFE_ROOT下建立 win32 console application,選擇空項目。
將項目的平台由32位改為64位
2.修改項目屬性
項目——屬性——C/C++——常規——附加包含目錄
添加:
../include;
../src;
../3rdparty/include;
../3rdparty;
../3rdparty/include;
../3rdparty/include/openblas;
../3rdparty/include/hdf5;
../3rdparty/include/lmdb;
../3rdparty/include/leveldb;
../3rdparty/include/gflag;
../3rdparty/include/glog;
../3rdparty/include/google/protobuf;
項目——屬相——VC++目錄——包含目錄
添加:
$(CUDA_PATH_V6_5)\include;
$(OPENCV_2_49)\include;
$(OPENCV_2_49)\include\opencv;
$(OPENCV_2_49)\include\opencv2;
$(BOOST_1_56)
項目——屬性——鏈接器——常規——附加庫目錄
添加:
$(CUDA_PATH_V6_5)\lib\$(PlatformName);
$(OPENCV_2_49)\x64\vc12\lib;
$(BOOST_1_56)\lib64-msvc-12.0;
..\3rdparty\lib;
項目——屬性——鏈接器——輸入——附加依賴項
Ⅲ 大數據培訓到底是培訓什麼
一、基礎部分:JAVA語言 和 linux系統
二、數據開發:
1、數據分析與挖掘
一般工作包括數據清洗,執行分析和數據可視化。學習Python、資料庫、網路爬蟲、數據分析與處理等。
大數據培訓一般是指大數據開發培訓。
大數據技術龐大復雜,基礎的技術包含數據的採集、數據預處理、分布式存儲、資料庫、數據倉庫、機器學習、並行計算、可視化等各種技術范疇和不同的技術層面。
2、大數據開發
數據工程師建設和優化系統。學習hadoop、spark、storm、超大集群調優、機器學習、Docker容器引擎、ElasticSearch、並發編程等;
課程學習一共分為六個階段:
7
Ⅳ linux caffe支持的cuda capability 最小是多少
由於最近安裝了Ubuntu16.04,苦於之前配置Caffe的教程都在版本14.04左右,無奈只能自己摸索,最終配置成功。本文教程的特點是不需要降級gcc的版本,畢竟cuda7.5不支持gcc5以上(默認不支持,實際支持),避免出現一系列亂七八糟的問題,反正之前我是碰到了。
本文是在參考caffe官網教程(http://caffe.berkeleyvision.org/installation.html)結合自己總結經驗而來,對此表示感謝。
1.所需文件下載
1.1.Ubuntu16.04在官網下載(http://www.ubuntu.org.cn/download/desktop),然後在windows下用UltraISO製作,相關文章搜索有一大片,此處不再贅述。
1.2.cuda7.5下載,下載的版本是ubuntu15.04的run文件,個人感覺比較方便。
1.3.cudnn4.0下載(https://developer.nvidia.com/cudnn),進去之後如果有注冊過nvidia的賬戶直接點擊download,否則需要注冊一個賬戶,注冊完之後有一個調查,隨便選幾個鉤就可以,然後下一步是接受條款開始就可以下載了。
1.4.caffe下載(https://github.com/BVLC/caffe)就在官方的github下載就可以了。
2.顯卡驅動安裝
2.1.第一種方法是直接在ubuntu系統設置,軟體和更新裡面,選擇中國的伺服器源刷新之後,點擊附加驅動選項,在Nvidia Corporation選擇361.42(強迫症必須安裝最新的),然後點擊應用更改,下載安裝完之後重啟。
2.2.第二種方法是去官方下載(http://www.geforce.cn/drivers)好驅動的run文件,選擇對應顯卡型號下載。然後關機把顯示器插到集成顯卡介面上,或者終端下
sudo gedit /etc/modprobe.d/blacklist.conf
輸入密碼後在最後一行編輯上
blacklist nouveau
Ctrl +C保存後終端輸入
sudo update-initramfs -u
重啟之後在界面按Ctrl+Alt+F2,輸入root以及密碼,然後
service lightdm stop
sh 你自己的驅動文件的完整路徑,默認選項就可以安裝了,安裝後重啟
3.Cuda7.5安裝
3.1.以文件名為cuda.run為例,終端下輸入
sh cuda.run --override 啟動安裝程序,此處有大量的條款,一路空格到最後 輸入accept,依次輸入y回車,然後n(不安裝顯卡驅動),然後一路y回車,有一個地方需要輸入密碼,還有兩個地方確認安裝路徑,直接回車即可,完成安裝,默認安裝路徑是/usr/local
將下載下來的cudnn-7.0-linux-x64-v4.0-prod.tgz 解壓之後,解壓後的cuda文件夾先打開裡面的include文件夾,空白右鍵在終端打開輸入:
sudo cp cudnn.h /usr/local/cuda/include/
cd ~/cuda/lib64
sudo cp lib* /usr/local/cuda/lib64/
繼續更新文件鏈接
cd /usr/local/cuda/lib64/
sudo rm -rf libcudnn.so libcudnn.so.4
sudo ln -s libcudnn.so.4.0.7 libcudnn.so.4
sudo ln -s libcudnn.so.4 libcudnn.so
然後設置環境變數
sudo gedit /etc/profile
在末尾加入
PATH=/usr/local/cuda/bin:$PATH
export PATH
保存之後創建鏈接文件
sudo vim /etc/ld.so.conf.d/cuda.conf
鍵盤按i進入編輯狀態,添加文字
/usr/local/cuda/lib64
然後按esc,輸入:wq保存退出。
終端下接著輸入
sudo ldconfig 使鏈接生效
4.生成Cuda Sample測試
首先在此之前先把需要的依賴包都安裝好,為接下來make 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 libatlas-base-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
然後開始make samples ,終端下
cd /home/gomee/NVIDIA_CUDA-7.5_Samples
sudo make all -j4
我是4核電腦所以用了j4,正常情況下肯定會報錯「unsupported GNU version! gcc versions later than 4.9 are not supported!」,原因就是這個cuda不支持gcc5.0以上,終端運行
cd /usr/local/cuda-7.5/include
cp host_config.h host_config.h.bak
sudo gedit host_config.h
Ctrl+F尋找有」4.9」的地方,應該是只有一處,在其上方的
#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 9)將兩個4改成5,保存退出,繼續
cd /home/gomee/NVIDIA_CUDA-7.5_Samples
sudo make all -j4
這就應該開始make了,此處大約有5、6分鍾。完成之後
cd /home/gomee/NVIDIA_CUDA-7.5_Samples/bin/x86_64/linux
./deviceQuery
會出現類似以下的信息
CUDA Device Query (Runtime API) version (CUDART static linking)
Detected 1 CUDA Capable device(s)
Device 0: "GeForce GTX 750 Ti"
CUDA Driver Version / Runtime Version 8.0 / 7.5
CUDA Capability Major/Minor version number: 5.0
Total amount of global memory: 2047 MBytes (2146762752 bytes)
( 5) Multiprocessors, (128) CUDA Cores/MP: 640 CUDA Cores
GPU Max Clock rate: 1228 MHz (1.23 GHz)
Memory Clock rate: 3004 Mhz
Memory Bus Width: 128-bit
L2 Cache Size: 2097152 bytes
Maximum Texture Dimension Size (x,y,z) 1D=(65536), 2D=(65536, 65536), 3D=(4096, 4096, 4096)
Maximum Layered 1D Texture Size, (num) layers 1D=(16384), 2048 layers
Maximum Layered 2D Texture Size, (num) layers 2D=(16384, 16384), 2048 layers
Total amount of constant memory: 65536 bytes
Total amount of shared memory per block: 49152 bytes
Total number of registers available per block: 65536
Warp size: 32
Maximum number of threads per multiprocessor: 2048
Maximum number of threads per block: 1024
Max dimension size of a thread block (x,y,z): (1024, 1024, 64)
Max dimension size of a grid size (x,y,z): (2147483647, 65535, 65535)
Maximum memory pitch: 2147483647 bytes
Texture alignment: 512 bytes
Concurrent and kernel execution: Yes with 1 engine(s)
Run time limit on kernels: Yes
Integrated GPU sharing Host Memory: No
Support host page-locked memory mapping: Yes
Alignment requirement for Surfaces: Yes
Device has ECC support: Disabled
Device supports Unified Addressing (UVA): Yes
Device PCI Domain ID / Bus ID / location ID: 0 / 1 / 0
Compute Mode:
< Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >
deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 8.0, CUDA Runtime Version = 7.5, NumDevs = 1, Device0 = GeForce GTX 750 Ti
Result = PASS
這就說明成功了。
5.Python配置
將之前github下載的caffe壓縮文件解壓縮到任一目錄,然後安裝python
python的版本安裝有兩種方式:
第一是直接安裝anaconda,去官網下載 ,選擇linux 64bit 2.7版本下載安裝,anaconda安裝方便但是需要在最後的make配置文件中更改python包含路徑。
第二種方法就是使用原生的python2.7版本,終端下
sudo apt-get install python-pip 安裝pip
這里我們用pip安裝一些python需要的依賴包,不過為了避免各種問題,也可以通過apt-get安裝,反正我這兩種方式都安裝了一遍(-.-)
sudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose
以caffe默認解壓到/home/user(你的用戶名)/ ,文件夾名名稱caffe為例
cd /home/user/caffe/python
sudo su
for req in $(cat requirements.txt); do pip install $req; done
這里用pip安裝可能速度很慢,很可能下載好幾個小時,推薦用清華大學的pip源臨時安裝,所以命令改為如下:
for req in $(cat requirements.txt); do pip install -i https://pypi.tuna.tsinghua.e.cn/simple $req; done
這里如果第一次有很多紅字錯誤,建議再運行幾遍指導安裝成功,對於黃字提示無需理會,可能是pip版本需要更新。
6.Caffe編譯過程
接下來要進入最後的步驟了,終端中
cd /home/user/caffe
cp Makefile.config.example Makefile.config
gedit Makefile.config
將USE_CUDNN := 1 取消注釋,在
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include後面打上一個空格 然後添加/usr/include/hdf5/serial 如果沒有這一句可能會報一個找不到hdf5.h的錯誤
PYTHON_INCLUDE := /usr/include/python2.7 \
/usr/lib/python2.7/dist-packages/numpy/core/include先不做更改。
如果是需要生成matlab的caffe wrapper 請取消注釋MATLAB_DIR然後替換為自己的目錄
說一下提前會出現的問題:
第一,make過程中出現比如 string.h 『memcy』 was not declared in this scope的錯誤是由於gcc編譯器版本太新,解決方法是打開makefile搜索並替換
NVCCFLAGS += -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)
為
NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)
保存退出
第二,在make過程中還會報一個ld找不到libhdf5 和libhdf5_hl的鏈接問題,這個原因可能也是因為hdf5的問題,首先看/usr/lib/x86_64-linux-gnu 目錄下有沒有libhdf5.so和libhdf5_hl.so,如果有的話,查看屬性是否有正確的鏈接(正常情況下應該是沒有這兩個文件),然後右鍵在終端中打開
sudo ln libhdf5_serial.so.10.1.0 libhdf5.so
sudo ln libhdf5_serial_hl.so.10.0.2 libhdf5_hl.so
注意,10.1.0和10.0.2可能不同電腦安裝版本不同,注意看當前目錄下存在的文件然後
sudo ldconfig 生效
接下來就是直接編譯的過程
cd /home/user/caffe
make all -j4
make test -j4
make runtest
make pycaffe
make matcaffe
如果編譯沒報錯正常的話,基本就沒問題了。測試python打開
cd /home/user/caffe/python
python
import caffe
如果不報錯就說明編譯成功
測試matlab打開./caffe/matlab/+caffe/private,看有沒有生成一個caffe的mex文件,可以運行+test文件夾裡面的程序測試。
小問題:
在使用python介面的時候,可能會報一個什麼錯誤(我給忘記了–!),對了是』Mean shape incompatible with input shape.』的錯誤,處理方法是python/caffe文件夾,編輯io.py文件,將
if ms != self.inputs[in_][1:]:
raise ValueError('Mean shape incompatible with input shape.')
替換為
if ms != self.inputs[in_][1:]:
print(self.inputs[in_])
in_shape = self.inputs[in_][1:]
m_min, m_max = mean.min(), mean.max()
normal_mean = (mean - m_min) / (m_max - m_min)
mean = resize_image(normal_mean.transpose((1,2,0)),in_shape[1:]).transpose((2,0,1)) * (m_max - m_min) + m_min
然後make clean再重新make
7.總結
至此,Ubuntu16.04下編譯Caffe的教程就結束了,作者歷時三天,裝了好幾遍系統,剛開始用Ubuntu14.04,結果系統出現問題,強迫症實在受不了,就嘗試著裝16.04繼續折騰,最終折騰成功。以後可能會更新python3下的編譯教程,需要自己編譯boost版本,總之也很麻煩。
Ⅳ windows-caffe ImportError: No mole named skimage.io怎麼解決謝謝
pip install scikit-image
Ⅵ 現在tensorflow和mxnet很火,是否還有必要學習scikit-learn等框架
很有必要,但不用太深入,在Kaggle上認真搞2,3個比賽能進10%的程度就夠了