Testing a neural network after training it

조회 수: 22 (최근 30일)
Kamyar Mazarei
Kamyar Mazarei 2021년 7월 31일
답변: Hari 2024년 9월 3일
hi i have a 2 class problem and im using vgg16 as a convnet to classify
im using deep network designer app and after training it i dont have an option to test it
i have 1000 pics for each class and about 230 as a test
i need to test with these pics and give the results
after i train it i have results and layer in my workshop which i save them
but i have no way to test it
also when i export the network after training and then run it, it just keeps retraining it
does it test it and i dont get it? or im doing something wrong

답변 (1개)

Hari
Hari 2024년 9월 3일
Hi Kamyar,
I understand that you have trained a VGG16 convolutional neural network using the Deep Network Designer app for a two-class classification problem, but you're unsure how to test it with your test dataset of 230 images.
I assume you have already saved the trained network and have access to the test dataset, and you're looking for a way to evaluate the network's performance on this dataset without retraining.
  • Export the Trained Network: After training in the Deep Network Designer, ensure you export the trained network to the MATLAB workspace. This should provide you with a "trainedNet" variable or similar.
  • Prepare the Test Dataset: Load and preprocess your test images to match the input size of VGG16 (224x224x3) and create an "augmentedImageDatastore".
testFolder = 'path_to_test_images'; % Path to your test images
testImages = imageDatastore(testFolder, 'IncludeSubfolders', true, 'LabelSource', 'foldernames');
inputSize = trainedNet.Layers(1).InputSize;
augTestImages = augmentedImageDatastore(inputSize(1:2), testImages);
  • Classify Test Images: Use the "classify" function to predict the labels of your test images using the trained network.
predictedLabels = classify(trainedNet, augTestImages);
trueLabels = testImages.Labels;
  • Evaluate the Model: Calculate the accuracy and other performance metrics using the predicted and true labels.
accuracy = sum(predictedLabels == trueLabels) / numel(trueLabels);
disp(['Test Accuracy: ', num2str(accuracy)]);
  • Visualize Results: Optionally, display test images with predicted and true labels to visually assess the model's performance.
References:
Hope this helps!

카테고리

Help CenterFile Exchange에서 Deep Learning Toolbox에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by