Skip to content

SakibMostafa/CVPPA_PID_0041

Repository files navigation

Visualizing Feature Maps for Model Selection in Convolutional Neural Networks

Using this code you can visualize the features represented by a layer in a CNN using Guided Backpropagation (GBP) and calculate the SSIM Cut to find optimal depth to avoid overfitting.

Requirements

Python 3.7 or later

see requirement.txt for exact authors environment.

Training the ResNet-50

At first, we need to train a model and save the model. The following code will train a model on Weedling dataset and save the model that has the highest testing accuracy.

python Train_ResNet_Save_Model.py

Calculating GBP of Each Convolutional Layer of ResNet-50

Next, we need to calculate GBP of each convolutional layer of ResNet-50, as follows

python Save_Layerwise_GBP.py

Save_Layerwise_GBP.py takes a trained model and saves the GBP of each layer in, 'results/'.

SSIM Cut

Finally we need to run

python SSIM_Cut.py

SSIM_Cut.py takes the generated GBP images and calculate the SSIM Cut Curve for that model and saves the result in, './results'.

Results

Here is an example of the GBP of different models on the Weedling dataset:

An image GBP of the final convolutional layer for different CNN models used in the study on the Weedling dataset.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages