caffe-windows matlab 介面配置
阿新 • • 發佈:2019-01-11
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路徑下執行。