This code enables you to train a Convolutional Neural Network (CNN) using a pretrained model (transfer learning) using Keras
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
LICENSE
README.md
cnn_transfer_learning.py

README.md

I will be sharing a script using Keras for training a Convolutional Neural Network (CNN) with transfer learning for melanoma detection. You can find the code in this GitHub repository. In the previous post, the CNN was trained from scratch without augmenting the data.

Before proceeding, make sure that you structure the data as follows (the numbers represent the number of images in each file):

alt text

You can download the data from, here. I used two classes as you can see from the figure above (nevus and melanoma). For training, I kept 374 images in each class to keep the data balanced.

To run the code:

$ python cnn_transfer_learning.py

The results will not be optimal, as the purpose is to show how one can train a CNN from scratch.

What variables to edit in the code?

You need to edit the following variables to point to your data:

train_directory (path to your training directory)

validation_directory (path to your training directory)

test_directory (path to your testing directory)

What should you expect (outputs)?

Training and validation accuracy

 

Training and validation loss

ROC curve

In addition to some other values (i.e. accuracy, confusion matrix) that will be displayed on the console.

If you would like to train a CNN from scratch, you can see this post. If you like to train a CNN from scratch with data augmentation, you can see this post.