1. 程式人生 > >caffe-windows matlab 介面配置

caffe-windows matlab 介面配置

caffe平臺配置完成後,我們對其matlab介面進行配置。這樣往後的各種實驗,可在matlab平臺中對資料進行處理。

一、修改windows資料夾下的CommonSettings.props,新增你的matlab路徑

這裡寫圖片描述

這裡寫圖片描述
重新編譯caffe
這裡寫圖片描述

二、連結
開啟Build\x64\Release\matcaffe+caffe\private檔案下,檢視是否生成caffe_.mexw64等檔案。
將Build\x64\Release下所有.dll檔案複製到Build\x64\Release\matcaffe+caffe\private資料夾下。

這裡寫圖片描述

三、matlab路徑設定

這裡寫圖片描述

簡單測試一下

這裡寫圖片描述
這樣,caffe在windows下的matlab介面就配置成功了。

用VGG-16測試一下- - 實驗程式碼和圖片連結:http://pan.baidu.com/s/1i4YLuJj 密碼:xzez
matlab測試程式碼如下
demo.m

%% VGG16 
caffe.set_mode_cpu();
model_dir = './';
net_model = [model_dir 'VGG_ILSVRC_16_layers_deploy.prototxt']; %讀取網路
net_weights = [model_dir 'VGG_ILSVRC_16_layers.caffemodel'
]; %讀取訓練好的模型(實質為網路的引數) net = caffe.Net(net_model,net_weights, 'test');% 將引數載入到網路中 %% 讀入224*224RGB影象 im_data = imread('car.bmp'); im_data = im_data(:, :, [3, 2, 1]); % RGB to BGR im_data = permute(im_data, [2, 1, 3]); % 影象轉置 im_data = imresize(im_data, [224 224], 'bilinear'); %% 輸入VGG-16 net.blobs('data').set_data(single(im_data)); net.forward_prefilled(); score = net.blobs('prob').get_data(); %
score為1000×1的分類概率向量

text.m

score1 = sort(score,'descend');
label = find(score == score1(1) );
fid = fopen('synset_words.txt', 'r');
ii=0;
while ~feof(fid)
    ii=ii+1;
    lin = fgetl(fid);
    lin = strtrim(lin);
    if(ii==label)
        fprintf('該影象分類結果是:第 %d 類,屬於: %s\n',ii,lin);
        fprintf('該影象分屬於該類的概率為: %.3f\n',score1(1));
        break
    end
end

car.bmp
這裡寫圖片描述

這裡寫圖片描述

cat.jpg
這裡寫圖片描述

這裡寫圖片描述

注意matlab 檔案位置,在matlab/demo路徑下執行。
這裡寫圖片描述