Three-Project Series

Semi-Supervised Deep Learning with GANs for Melanoma Detection you own this product

intermediate Python • intermediate NumPy • beginner PyTorch • basics of deep learning and CNNs
skills learned
build an image classifier with deep CNNs • improve accuracy of a model with transfer learning • implement autoencoders to reconstruct images • train an unsupervised and semi-supervised GAN model
Olga Petrova
3 weeks · 8-10 hours per week average · INTERMEDIATE

pro $24.99 per month

  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose one free eBook per month to keep
  • exclusive 50% discount on all purchases

lite $19.99 per month

  • access to all Manning books, including MEAPs!


5, 10 or 20 seats+ for your team - learn more

In this liveProject series, you’ll take on the role of a computer vision engineer creating a proof of concept for an image recognition mobile app—one with world-changing potential. You’ll build a machine learning model that can identify cancerous moles in low-resolution photos from a phone’s camera. To produce the model, you’ll work through different supervised, unsupervised, and semi-supervised learning techniques, and use data augmentation to improve your training dataset. Each liveProject in this series covers a different deep learning approach for you to build a toolbox of skills that are most relevant to your career.

These projects are designed for learning purposes and are not complete, production-ready applications or solutions.

here's what's included

Generative Modeling with VAEs and GANs
In this liveProject, you’ll utilize unlabeled data and unsupervised machine learning techniques to build and train data generative models. You’ll employ generative modeling, such as a variational autoencoder (VAE) that can generate new images by sampling from the latent distribution. You’ll then use an unsupervised generative adversarial network to generate new images.
Semi-Supervised GANs for Melanoma Detection
In this liveProject, you’ll utilize PyTorch and powerful semi-supervised learning techniques to construct an advanced image classifier that can tell whether a 32x32 pixel photo of a mole is melanoma-positive—despite working with a very small labelled dataset. You’ll set up your image preprocessing pipeline, feed data into your PyTorch model, and then train a semi-supervised GAN model on both labeled and unlabeled datasets.
Train a Supervised Learning Image Classifier
In this liveProject, you’ll use the popular deep learning framework PyTorch to train a supervised learning model on a dataset of melanoma images. Your final product will be a basic image classifier that can spot the difference between cancerous and non-cancerous moles. You’ll create a custom dataset class and data loaders that can handle image preprocessing and data augmentation, and even improve the accuracy of your model with transfer learning.

book resources

When you start each of the projects in this series, you'll get full access to the following book for 90 days.

choose your plan


only $41.67 per month
  • five seats for your team
  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose another free product every time you renew
  • choose twelve free products per year
  • exclusive 50% discount on all purchases
  • Semi-Supervised Deep Learning with GANs for Melanoma Detection project for free

project author

Olga Petrova
Olga Petrova is a machine learning engineer at Scaleway, a French cloud provider, where her focus lies on deep learning R&D. Previously, she has worked as a researcher in theoretical physics, looking into the applications of artificial intelligence to quantum systems. Olga has a Ph.D. from Johns Hopkins University, and a B.S. from Worcester Polytechnic Institute. She enjoys blogging about the latest advancements in AI.


This liveProject is for intermediate Python programmers with some machine learning experience. To begin this liveProject, you will need to be familiar with the following:

  • Intermediate Python
  • Basics of PIL
  • Basics of Matplotlib
  • Basics of NumPy
  • Beginner PyTorch
  • Classification as a machine learning task
  • Basics of model training, validation and testing
  • Monitoring training and spotting overfitting/underfitting
  • Basics of neural networks
  • you will learn

    In this liveProject, you will learn important deep learning tools and techniques that are highly transferable to a wide range of machine learning roles, especially in the field of computer vision.

    • Pytorch for deep learning on the GPU
    • Setting up an image preprocessing pipeline to feed data to a PyTorch model
    • Data augmentation built into the image preprocessing pipeline
    • Training a supervised learning classifier on labeled data
    • Image classification using deep convolutional neural networks
    • Testing a supervised learning model
    • Transfer learning for improving model accuracy


    You choose the schedule and decide how much time to invest as you build your project.
    Project roadmap
    Each project is divided into several achievable steps.
    Get Help
    While within the liveProject platform, get help from other participants and our expert mentors.
    Compare with others
    For each step, compare your deliverable to the solutions by the author and other participants.
    book resources
    Get full access to select books for 90 days. Permanent access to excerpts from Manning products are also included, as well as references to other resources.