本系列来自 [ Mathworks ]。
使用MATLAB深度学习:Transfer Learning 10行MATLAB代码
%% Load a pre-trained, deep, convolutional network
alex = alexnet;
layers = alex.Layers
%% Modify the network to use five categories
layers(23) = fullyConnectedLayer(5);
layers(25) = classificationLayer
%% Set up our training data
allImages = imageDatastore('myImages', 'IncludeSubfolders', true, 'LabelSource', 'foldernames');
[trainingImages, testImages] = splitEachLabel(allImages, 0.8, 'randomize');
%% Re-train the Network
opts = trainingOptions('sgdm', 'InitialLearnRate', 0.001, 'MaxEpochs', 20, 'MiniBatchSize', 64);
myNet = trainNetwork(trainingImages, layers, opts);
%% Measure network accuracy
predictedLabels = classify(myNet, testImages);
accuracy = mean(predictedLabels == testImages.Labels)
使用MATLAB ® Transfer learning,看看它是如何让深度学习应用于您的实际问题。
该示例使用迁移学习(transfer learning)来重新训练AlexNet,一种预先训练的深卷积神经网络(CNN或ConvNet)来识别零食,如热狗,蛋糕和苹果派。