pytorch
  1. pytorch-validation-of-cnn

Validation of CNN - ( Convolutional Neural Network in PyTorch )

Heading h2

Syntax

with torch.no_grad():
    correct = 0
    total = 0
    for images, labels in testloader:
        images, labels = images.to(device), labels.to(device)
        outputs = net(images)
        _, predicted = torch.max(outputs.data, 1)
        total += labels.size(0)
        correct += (predicted == labels).sum().item()

print('Accuracy of the network on the 10000 test images: %d %%' % (
    100 * correct / total))

Example

with torch.no_grad():
    correct = 0
    total = 0
    for images, labels in testloader:
        images, labels = images.to(device), labels.to(device)
        outputs = net(images)
        _, predicted = torch.max(outputs.data, 1)
        total += labels.size(0)
        correct += (predicted == labels).sum().item()

print('Accuracy of the network on the 10000 test images: %d %%' % (
    100 * correct / total))

Output

Accuracy of the network on the 10000 test images: 71 %

Explanation

Validation is essential to evaluate the performance of a trained convolutional neural network. In this syntax, we are evaluating the model accuracy on the test data.

The testloader contains the test data and labels. We need to pass images and labels through the network and get the output using net(images).

After getting the output for the images, we need to find the predicted class using torch.max(outputs.data, 1). torch.max returns the maximum value and corresponding index along the specified axis.

Now, we need to compare the predicted class with the actual class and calculate the number of correct predictions using (predicted == labels).sum().item(). This will give us the count of correctly classified images.

We repeat this process for all images present in the test data. Finally, we calculate the accuracy of the model using 100 * correct / total formula.

Use

Validation helps in measuring the accuracy of a trained convolutional neural network. After training the model, we use validation data to compute accuracy, loss, and other metrics.

It also helps in detecting overfitting and underfitting. We need to ensure that the accuracy of the model on the test data is acceptable and that the model is not overfitting to the training data.

Important Points

  • Validation is needed to test the accuracy of a trained convolutional neural network.
  • The testloader contains the test data and labels.
  • We calculate the accuracy of the model using 100 * correct / total formula.
  • The validation process helps us to detect overfitting and underfitting.

Summary

In summary, validation is crucial to evaluate the performance of a trained convolutional neural network. We validate the model by passing test data and labels through the network and finding the predicted class for each image.

We then calculate the accuracy of the model to ensure that it is not overfitting to the training data. This process also helps us to detect overfitting and underfitting in the model.

Published on: