MatCovNet官網 http://www.vlfeat.org/matconvnet/git
深度學習12:能力提高, 一步一步的介紹如何本身構建網絡和訓練,利用MatConvNet - CSDN博客
https://blog.csdn.net/qq_20259459/article/details/65633407github
深度學習在object tracking中的使用也愈來愈多,從去年的VOT結果來看,不少tracker都應用了convolution feature,總體效果都比以前的方法提升了一大截,因此學習deep learning須要提上日程了。看了HCF以及C-COT的源碼,都運用到了matlab的深度學習工具---MatConvNet,因此關於它的使用瞭解了一番。sql
一、首先是下載,能夠到http://www.vlfeat.org/matconvnet/去下載,不過C-COT的做者Martin大神的源碼的說明文檔readme中也提供了github的下載連接網絡
二、經過執行 mex -setup 來設置matlab的C++編譯器(VS2010 or greater)工具
三、將MatConvNet的path加到matlab路徑中去學習
四、須要Compile MatConvNet。ui
vl_compilenn
固然,最好是寫一個文件,執行3.4步。spa
好比,CompileCPU.m.net
若是想應用GPU計算,須要寫成CompileGPU.mcode
這裏須要注意,目前MatConvNet只支持英偉達的顯卡,我看了一下個人臺式機的顯卡是intel的集成顯卡,不能用,汗。因此,這裏仍是先介紹在CPU下進行處理的方式。
五、加載預訓練的模型。
須要從官網下載一個network(也就是 a pre-trained CNN)
連接戳 http://www.vlfeat.org/matconvnet/pretrained/
六、setup MatConvNet。
run matlab/vl_setupnn
七、 load the pre-trained CNN。
net = load('D:\MenghanZhou\matlab_work\ToolsBoxes\networks\imagenet-vgg-m-2048.mat');
這裏的net是一個預訓練模型,是一個線性鏈組成的網絡。它是一個結構體的形式:
其中,layers有21層(不一樣的預訓練模型的卷積層數目不一樣)
meta包含3個結構體
classes是已經訓練好的模型對事物的1000種分類。
---------------------------我是分割線-----------------------------
來看一個例子,利用VGG已經訓練好的模型對這張圖片分類。
代碼以下:
這樣,咱們就能夠獲得下面的結果:
這說明,這張圖片屬於1000中類別中的pepper,並且屬於這個類別的機率爲0.979。
https://blog.csdn.net/sgfmby1994/article/details/70738883