Testing a neural network after training it
Show older comments
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
Answers (1)
Hari
on 3 Sep 2024
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:
- Refer to the documentation of "classify" for classifying images using a trained network: https://www.mathworks.com/help/deeplearning/ref/classify.html
- Refer to the documentation of "augmentedImageDatastore" for resizing and augmenting images: https://www.mathworks.com/help/deeplearning/ref/augmentedimagedatastore.html
- Refer to the documentation of "imageDatastore" for loading image data: https://in.mathworks.com/help/matlab/ref/matlab.io.datastore.imagedatastore.html
Hope this helps!
Categories
Find more on Deep Learning Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!