Как контролировать глубокое обучение - PullRequest
0 голосов
/ 13 апреля 2020

Я хочу отслеживать обучение, когда оно происходит, как мне изменить свой код для этого? Я нашел какое-то объяснение ей https://se.mathworks.com/help/deeplearning/ug/monitor-deep-learning-training-progress.html, но я не смог ее применить, может кто-нибудь помочь?


[trainingSet,testSet] = splitEachLabel(imds,0.3,'randomize');
imageSize = net.Layers(1).InputSize; 
augmentedTrainingSet = augmentedImageDatastore(imageSize,...
    trainingSet,'ColorPreprocessing','gray2rgb'); 
augmentedTestSet = augmentedImageDatastore(imageSize,...
    testSet,'ColorPreprocessing','gray2rgb');
w1 = net.Layers(2).Weights;
w1 = mat2gray(w1); 
featureLayer = 'fc1000'; 
trainingFeatures = activations(net,augmentedTrainingSet,...
    featureLayer,'MiniBatchSize',32,'OutputAs','columns');
trainingLables = trainingSet.Labels;
classifier=fitcecoc(trainingFeatures,...
    trainingLables,'Learner','Linear','Coding','onevsall','ObservationsIn','columns');
testFeature = activations(net,augmentedTestSet,...
    featureLayer,'MiniBatchSize',32,'OutputAs','columns');
predictLabels = predict(classifier, testFeature,'ObservationsIn','columns');
testLables = testSet.Labels; 
confMat = confusionmat(testLables , predictLabels);
confMat = bsxfun(@rdivide , confMat , sum(confMat,2));
mean(diag(confMat));

1 Ответ

1 голос
/ 13 апреля 2020

Я думаю, что это возможно только при использовании функции trainNetwork (net = trainNetwork(XTrain,YTrain,layers,options)), и, к сожалению, эта опция не предусмотрена в fitceco c. Таким образом, вместо этого вы можете отправить свои данные обучения и сетевые уровни, а также опции для trainNetwork, чтобы составить график прогресса обучения для вас. Обратите внимание, что для того, чтобы отобразить прогресс, вы также должны указать 'training-progress' в качестве значения 'Plots' в опциях, как показано в последней строке следующего кода, например:

options = trainingOptions('sgdm', ...
    'MaxEpochs',8, ...
    'ValidationData',{XValidation,YValidation}, ...
    'ValidationFrequency',30, ...
    'Verbose',false, ...
    'Plots','training-progress');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...