这段时间研究matlab中 DeepLearning用于图像分类的一个例子,查找了一些资料,现在将自己读代码过程中读懂与不懂的地方总结一下。
一下是自己对代码的一些粗浅理解,不对的地方还请多多包涵!
matlab R2016a中现有的例程---DeepLearningImageClassificationExample,程序的大致流程如下图:
%% Image Category Classification Using Deep Learning
% This example shows how to use a pre-trained Convolutional Neural Network
% (CNN) as a feature extractor for training an image category classifier.
%
% Copyright 2016 The MathWorks, Inc.
function DeepLearningImageClassificationExample
%% 加载图像数据
% 从指定的网址下载图像数据集caltech101
% 网址为:http://www.vision.caltech.edu/Image_Datasets/Caltech101/101_ObjectCategories.tar.gz
% 下载可能会比较慢,可以先下载下来,用的时候直接将outputFolder改为存放的地址就可以(小菜就是那么做的)
url = 'http://www.vision.caltech.edu/Image_Datasets/Caltech101/101_ObjectCategories.tar.gz';
outputFolder = fullfile(tempdir, 'caltech101'); % 下载的图像数据集存放的文件夹地址
if ~exist(outputFolder, 'dir') % 确保只下载一次
disp('Downloading 126MB Caltech101 data set...');
untar(url, outputFolder); % 直接下载下来的为压缩文件,需要解压
end
% Caltech101数据集包含100多类的图像数据,为了节省时间,在本例中只选取其中的3类作为代表
% 选取的3类为'airplanes', 'ferry', 'laptop'
rootF