matcaffe編譯
㈠ 安裝caffe一定要用cuda嗎
如果你的caffe需要使用GPU計算,就一定要按照cuda,cuda相當於是專門用於GPU的語言。如果你只使用CPU計算,則不需要GPU,同理也就不需要cuda
㈡ 求助,mac編譯matcaffe問題
首先,先要再linux上安裝opencv的庫,在線安裝的話,很容易 然後,編譯的時候需要加上 ——pkg-config opencv --libs --cflags opencv—— 參數
㈢ caffe windows配置及classification編譯分類
這里主要參考了如何快糙好猛地在windows下編譯caffe及並使用其matlab和python介面,下面詳述本人的安裝過程。
提前說明下,本人的安裝環境是windows+vs2013+cuda7.5。首先是happynear准備好的caffe源碼http://pan..com/s/1bSzvKa
將第三方庫中的內容解壓至caffe源碼中的3rdparty文件夾中,並將3rdparty/bin文件夾添加至環境變數path中,方便程序找到第三方庫的dll。
進入caffe-windows-master目錄。
所謂的matlabwrapper編譯,其實就是matcaffe這個工程的編譯。
首先,將該工程設置為啟動項目,右擊屬性。
classification.cpp是在.exampleclassification目錄中的。在windows中用VS編譯還是挺麻煩的,所以在這里也記錄一下,關鍵還是其中的依賴庫的配置。這里因為是自己不斷實驗,不斷看網上僅有的例子摸索出來的,所以方法有點笨拙。
我的方法是,在caffe工程中,新建classification.cpp,將那個classification.cpp復制到這里,然後排除caffe.cpp,編譯。這樣就省去了環境配置的麻煩,但缺點是生成的exe仍在.in中,但文件名為caffe,把我之前編譯生成的caffe.exe覆蓋了。
使用該classification.cpp生成的.exe跑demo時,首先得下好下面的文件:
bvlc_reference_caffenet.caffemodel
imagenet_mean.binaryproto和synset_words.txt
上面三個文件我都將它們放在了.modelsvlc_reference_caffenet文件夾中,所以最後在cmd中的命令句是
如此完成了該classification的demo。
㈣ ubuntu 哪個版本再裝caffe
配置
操作系統:14.04 Ubuntu Kylin 64位
cuda版本:7.5
GPU:k20c
一、cuda 安裝
我們採用的是.ded包安裝方式,網上還有利用一種手動安裝.run文件的方式,但是由於樓主第一次採用該種方式安裝導致各種驅動的問題,系統重新安裝了N次,所以這次換了個安裝方法。
1.在nvidia官網上下載.ded安裝包(當然根據自己的系統選擇版本)
http://developer.download.nvidia.com/compute/cuda/7.5/Prod/local_installers/cuda-repo-ubuntu1404-7-5-local_7.5-18_amd64.deb
2. install repository meta-data
sudo dpkg -i cuda-repo-ubuntu1404-7-5-local_7.5-18_amd64.deb
3. Update the Apt repository cache
sudo apt-get update
4. Install CUDA
sudo apt-get install cuda
二、環境變數設置
1.設置PATH
在/etc/profile中添加環境變數,在文件最後添加
PATH=/usr/local/cuda-7.5/bin:$PATH
export PATH
保存後如下命令,使得立即生效
source /etc/profile
2.添加lib庫
在/etc/ld.so.conf.d/加入文件cuda.conf
/usr/local/cuda-7.5/lib64
輸入命令sudo ldconfig使得立即生效
執行如下命令,確定驅動成功安裝
cat /pror/driver/nvidia/version
NVRM version: NVIDIA UNIX x86_64 Kernel Mole 352.63 Sat Nov 7 21:25:42 PST 2015
GCC version: gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04)
拷貝樣常式序到dir,樣常式序在/usr/local/cuda/samples中是有一份的,只是一份出來編譯
cuda-install-samples-7.5.sh <dir>
3.安裝Opencv
這個盡量不要手動安裝,Github上有人已經寫好了完整的安裝腳本:https://github.com/jayrambhia/Install-OpenCV
chmod +x *.sh
sudo./opencv2_4_9.sh
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
5.安裝Python
sudo apt-get install python-dev python-pip
然後執行如下命令安裝編譯caffe python wrapper 所需要的額外包
for req in $(cat requirements.txt); do sudo pip install $req; done
建議安裝Anaconda包,這個包能獨立於系統自帶的python庫,並且提供大部分Caffe需要的科學運算Python庫。
並且在~/.bashrc中添加library path
# add library path
LD_LIBRARY_PATH=your_anaconda_path/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
6.安裝cuDNN(可選)
CuDNN是專門針對Deep Learning框架設計的一套GPU計算加速方案,目前支持的DL庫包括Caffe,ConvNet, Torch7等。下載
基本原理是把lib文件加入到系統能找到的lib文件夾里, 把頭文件加到系統能找到的include文件夾里就可以。這里把他們加到CUDA的文件夾下
tar-xzvf cudnn-6.5-linux-R1.tgzcd cudnn-6.5-linux-R1
sudo cp lib* /usr/local/cuda/lib64/ (該命令是在解壓後的文件夾中運行終端)
sudo cp cudnn.h /usr/local/cuda/include/
執行後發現還是找不到庫, 報錯
error while loading shared libraries: libcudnn.so.6.5: cannot open shared object file: No such file or directory
而lib文件夾是在系統路徑里的,用ls -al發現是文件許可權的問題,因此用下述命令先刪除軟連接
cd /usr/local/cuda/lib64/
sudo rm -rf libcudnn.so libcudnn.so.6.5
修改文件許可權,並創建新的軟連接
sudo chmod u=rwx,g=rx,o=rx libcudnn.so.6.5.18
sudo ln -s libcudnn.so.6.5.18libcudnn.so.6.5
sudo ln -s libcudnn.so.6.5libcudnn.so
7.安裝OpenBLAS
下載編譯openBLAS
默認安裝目錄 /opt/OpenBLAS
在~/.bashrc 中添加路徑
LD_LIBRARY_PATH=/opt/OpenBLAS/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
也可以在/etc/ld.so.conf中添加文件
把路徑/opt/OpenBLAS/lib添加到文件中,運行sudo ld config
8.修改Makefile.conf(根據官網和Makefile.conf.example中注釋修改)
Make all -j12
Make test
Make runtest
編譯Matlab wrapper
makematcaffe
編譯Python wrapper
makepycaffe
㈤ caffe 搭載哪一個版本的matlab
1. 安裝matlab
解壓壓縮包,是rar文件,可以在win下解壓好。要不轉個解壓rar的軟體。裡面的.iso文件大概7g多。在對應目錄下打開命令行窗口,
創建新的文件夾,將matlab掛載到Linux
[plain] view plain
sudo mkdir matlab
[plain] view plain
sudo mount -o loop MATHWORKS_R2014A.iso matlab
進入目錄,開始安裝
[plain] view plain
cd matlab
./install
接下來的安裝和win下差不多,因為我的usr空間不足,所以我裝在home/sindyz/software/matlab2014目錄下,在配置caffe路徑的時候要添加此路徑
選在本地安裝,序列號在crack/readme.txt中
安裝完成後,需要激活
licence : Crack/license_405329_R2014a.lic的完整路徑;
將Crack/Linux/下的.so文件替換到matlab安裝目錄,如下,這個需要在root下進行,sudo su
[plain] view plain
cp Crack/Linux/libmwservices.so matlab2014/bin/glnxa64/
在matlab/bin下運行:./matab
即可運行
2. caffe下matcaffe配置
這里要說明的是,caffe中matlab只支持gcc4.7,但是ubuntu14.04默認安裝的是4.8.運行
[plain] view plain
sudo apt-get install gcc-4.7
sudo apt-get install g++-4.7
安裝完成後:
首先,需要修改Makefile.config裡面matlab的路徑:(matlab安裝路徑),我的是
MATLAB_DIR := /home/sindyz/software/matlab2014
保存,重行編譯caffe
sudo make clean
make all
make test
make runtest
make matcaffe
make pycaffe
到此,caffe的配置基本完成,對於沒有安裝caffe和cuda的
㈥ 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版本,總之也很麻煩。
㈦ caffe windows10 vs2013怎麼配置
我們可以在ubuntu下訓練好caffemodel之後,在vs中調用已經訓練好的模型,或者直接在windows下直接訓練模型,這些都需要在windows下配置caffe。
有兩種方法可以配置:
一種是直接上caffe官網:
3.運行./src/caffe/proto/extract_proto.bat,生成caffe.pb.h,,caffe.pb.cc以及caffe_pb2.py。一開始發現生成不了,3rdparty/bin目錄下沒有protoc.exe,後來發現自己下載的第三方庫是之前沒有更新的,重新從上面的網址下載第三方庫並覆蓋即可。
4.如果你和我一樣cuda版本不是7.0,則進入buildVS2013目錄,用notepad打開.vcxproj文件,將裡面的7.0都換成你的cuda版本,我這里是6.5。如果你不想編譯無cuda版的,則跳過這一步。
5.打開buildVS2013目錄下的MainBuilder.sln,如果還是無法載入,看看輸出信息,我遇到過提示我一個cuda的props文件找不到,我就手動搜了一下,然後放到相應的目錄下就可以載入了。
6.在每個項目的c/c++選項卡中把附加包含目錄和附加庫目錄改成你自己的。
7.如果你不需要Python和matlab介面,直接將matcaffe和pycaffe兩個工程卸載掉即可。然後就可以開始編譯了。編譯的時候如果有遇到提示找不到device_atomic_functions.hpp,直接將其注釋就行。
8.測試。
㈧ 如何快糙好猛地在Windows下編譯CAFFE並使用其matlab和python介面
一、准備
需要用到的東西我已經幫大家全部准備好了,有2016年2月4日剛剛從caffe官方master分支fork過來的源代碼。有我自己親手製作的第三方庫,在源碼的根目錄下建立個3rdparty文件夾,把文件解壓進去就可以了。
解壓好之後,要將3rdparty/bin文件夾添加到環境變數的PATH中,這樣才能讓程序找到這些第三方庫的dll。
最後是CUDA和MKL了,MKL是可選的,大家可以去Intel官方申請,如果不用cpu模式的話其實也無所謂,在第三方庫包中我還提供了openblas的庫文件。
我使用的是CUDA 7.5版,建議大家也安裝這個版本。
二、編譯
編譯非常簡單,分為以下幾步:
1、雙擊./src/caffe/proto/extract_proto.bat批處理文件來生成caffe.pb.h和caffe.pb.cc兩個c++文件,和caffe_pb2.py這個Python使用的文件。
2、打開./buildVS2013/MainBuilder.sln,打開之後切換編譯模式至Release X64模式。如果打開之後顯示載入失敗,可能你的CUDA版本和我的不一致,我的是CUDA 7.5版,這時就要用記事本打開./buildVS2013目錄下各個文件夾內的.vcxproj文件,搜索CUDA 7.5,把這個7.5換成你自己的CUDA版本,就可以正常打開了。
另外,如果你的顯卡比較老或者沒有顯卡,請使用./build_cpu_only/MainBuilder.sln。
3、點上邊工具欄中的綠色三角編譯吧。編譯大概需要半小時左右,請耐心等待。
如果要用matlab wrapper來提取特徵、觀察訓練好的權重的話呢,只需要把matcaffe項目裡面的matlab目錄修改成你自己的,然後編譯,你就能從matlab/+caffe/private文件夾裡面找到一個叫caffe_.mexw64的文件啦。
python的wrapper類似,把pycaffe項目里的python目錄改成你自己的(我用的是Anaconda),就能在python/caffe文件夾中生成_caffe.pyd的python dll文件。
三、測試
到 下載已經轉換好的MNIST的leveldb數據文件,解壓至./examples/mnist文件夾中,然後運行根目錄下的run_mnist.bat即可開始訓練,訓練日誌會保存在./log文件夾中,以INFO開頭,txt格式的日誌文件中。
ps:如果你編譯成功的話,不要忘了給我的github工程點個star!
四、舊更新日誌
2015/02/25 微軟製作了一個caffe的windows版,他們更加專業,做出來的solution更加容易維護,第三方庫完全由Nuget進行管理,幾乎不用配置什麼東西
2015/12/09 我總結了一下比較常見的問題,寫在 里,而且未來會持續更新,如果碰到問題請先查看這個FAQ列表。
2015/09/14 Caffe現在支持單機多GPU啦,直接在caffe命令後面加--gpu=all或--gpu=0,1 即可使用多個GPU進行訓練。
如果使用多gpu訓練,不要直接點cmd窗口的X,最好使用Ctrl+C來終止程序,不然顯卡驅動有時候會崩潰。
還有如果要在訓練中途存一個snapshot,可以用Ctrl+Break。
因此一個正常的終止訓練的操作是:
先Ctrl+Break保存當前工作狀態,然後Ctrl+C終止訓練。
2015/08/18 lmdb現在已經可以使用了,不過磁碟必須是NTFS格式的才可以。有需要的請到下載,並覆蓋掉3rdparty/lib 中同名的文件,然後右鍵各個工程->僅用於項目->僅鏈接 即可,無需重新生成。
2015/08/08 有很多人報告(包括我自己)cuDNN v3 的速度比v2慢很多,因此master分支被我回滾回v2版本了,所幸cuDNN向下兼容,所以無需再次下載第三方庫。
2015/08/06 新版caffe-windows上線了,由於vs2012編譯速度太慢,從這個版本開始,不再對vs2012提供支持。
2015/07/07 現在caffe也支持VS2013了,第三方庫全部更新至最新版本。請從下載並替換掉原有的build文件夾,其他步驟與先前版本一致。如果發現bug,煩請反饋給我,留言或在github上提issue均可。
2015/06/07 添加Insanity Layer(即randomized leaky rectified linear units),我也不知道為什麼叫Insanity。。論文上說效果比PReLU還好些。
2015/06/05 將Caffe版本更新至6月5日的master分支,與上一版最大的不同在於matlab介面更加豐富,cudnn更新至v2版,所以要重新下載第三方庫。
2015/06/05 Batch Normalization更新至新版,現在的默認mnist測試文件即為使用了Batch Normalization層的版本。
2015/05/29 發現上個版本的lmdb.lib使用了別人在vs2013下編譯的版本,現改為vs2012版;
2015/05/29 添加了提取任意層特徵的matlab介面,使用方法:
OUTPUT = caffe('get_features', INPUT, 'layername1,layername2...');11
例如:f = caffe('get_features', H, 'conv51,pool5'); 返回的f為2*1的cell類型,裡面記錄了層的名稱和該層的特徵。
現在有了更好的方法來獲得每層特徵,該函數不再更新。請參見新版matlab介面。
㈨ 如何編譯lineage不支持的機型
首先整理相應的機型MK文件
device文件,android_device_$your-device-name
kernel文件,android_kernel_$your-device-name
vendor文件,android_vendor_$your-device-name
收集或者製作或者修改,完成,你的機型文件後
同步下載lineage的源碼:
清華鏡像源,打開看教程(同步出錯有問題就網路,一般都有答案,系統最好在Linux和他的各種分支中選擇>經常用Windows-覺得Mac很反人類-不過開發商好像很喜歡-可能是蘋果給出的條件太好-沒人能拒絕,我覺得Ubuntu不錯,也很喜歡Deepin-適合新手-國內維護挺不錯的)
然後整理MK文件:
也可以點這里,去官網找一下相關機型或品牌文件作為參考
比如我的手機是ZUK EDGE
##ZUKEDGE
#我的機型代號-z2x,這個是開發用的代號;
#我的內部機型-z2151,這個是從官方下載開源部分需要的型號;
#ZUK特殊部分其他機型不一定會有一般就是三個:device、kernel、vendor(非必有)
#<類型name="倉庫名"path="文件路徑"/>
<android
name="lineage"
path="~/bin/lineage"/>
<device
name="android_device_zuk_z2"
path="$android/device/zuk/z2x"/>
<device
name="android_device_zuk_msm8996-common"
path="$android/device/zuk/msm8996-common"/>#ZUK特殊部分
<kernel
name="android_kernel_zuk_msm8996"
path="$android/kernel/zuk/msm8996"/>#這個命名比較特別,打包開發的
<!--附加部分,vendor一般有生成腳本或者需要額外編寫-->
<vendor
name="android_vendor_z2x"
path="$android/vendor/zuk/z2x"/>
<vendor
name="android_vendor_msm8996-common"
path="$android/vendor/zuk/msm8996-common"/>#ZUK特殊部分
#end
######錯誤部分,可以查閱,幫助理解,最好跳過,跳過
把上面的文件解包放置到相應文件夾下
device文件,android_device_$your-device-name
kernel文件,android_kernel_$your-device-name
vendor文件,android_vendor_$your-device-name"_"對應是一個文件夾分層,比如device就是在「android源碼「文件夾下(看你怎麼起名字,就是清華網站中提示你的「WORKING_DIRECTORY」文件夾,可以是『android』、『lineage』等等)的device文件夾下,你的機子品牌文件夾下,你的機型里(比如我的手機是ZUK EDGE-我是窮逼,沒錢換機,我的相應機型代號就是z2x-根據代號搞開發,內部機型z2151-根據內部型號找官方開源代碼,以下示例)
示例:
device:android_device_zuk_z2x
倉庫文件就在:~/bin/lineageOS/device/zuk/z2x
kernel:android_kernel_zuk_msm8996#為什麼這個忽然變成msm8996了呢,哈哈|
倉庫文件就在:~/bin/lineageOS/kernel/zuk/msm8996#因為機型特別
vendor:android_vendor_zuk_z2x#一般是不提供這個倉庫部分的,
#會有比如「extract-files.sh」等腳本
#需要連接你的手機,生成這些文件
以上引號部分是由網路自動保存編寫錯誤部分
最後是編譯:
sourcebuild/envsetup.sh
lunchlineage_z2x-userdebug#這條命令去查看機型文件夾下的lineage_*.mk文件,把z2x換成你的
cddevice/zuk/z2x#這條應該是你的機型文件夾,和下一條命令看情況找找你的vendor擴展腳本
./extract-files.sh#這個看情況,找找你的腳本
croot#返回lineage根目錄
make-j8#開始編譯ROM,後面的-j*是線程,看你的CPU而定
#看輸出log,編譯完成ROM在out文件夾下
這樣就完成了:
看似簡單,實則簡單,但是肯定會出錯,因為你是在學習,好好學,好好問問,學會用網路,別跟個愣頭B一樣,張嘴就是:我是小白,這個怎麼弄,我不會啊,你教教我唄,這個什麼意思;崽種不會自己學
