Back to Catalog

Build an Image Style Transfer Tool using CycleGANs

AdvancedGuided Project

In this guided project, we will teach you to build a style transfer tool that can "translate" photos into Monet-esque paintings using CycleGANs. We will study the architecture of CycleGANs and then we will build it by breaking it down into multiple parts.

4.8 (182 Reviews)

Language

  • English

Topic

  • Deep Learning

Enrollment Count

  • 540

Skills You Will Learn

  • Machine Learning, Python, Generative Adversarial Networks, Generative AI, LLM, PyTorch

Offered By

  • IBM

Platform

  • SkillsNetwork

Last Update

  • April 29, 2024
About This Guided Project
About
 
Generative Adversarial Networks
, or GANs for short, are a type of deep-learning generative model. A vanilla GAN's architecture involves two networks: a Generator network for generating new examples and a Discriminator network for classifying examples as real (drawn from the training data) or fake (drawn from the Generator). 

GANs typically work with images.  Depending on how we set the objective function of a GAN, the Generator can be used to generate new images that satisfy certain rules. In this guided project, we will be learning about CycleGANs, a class of GANs that can be used for transferring the style of images of one domain onto images in another domain by enforcing Cycle Consistency Loss. For instance, a CycleGAN can "translate" the photo of a landscape into a Monet-esque painting of that landscape.


 A Look at the Project Ahead

 After completing this guided project you will be able to:


  • Describe the novelties of CycleGANs compared to traditional GANs.
  • Understand the Cycle Consistency Loss and how it's implemented on images.
  • Build the CycleGAN architecture in Keras.
  • Gain good practices in training deep learning models.
  • Implement a pre-trained CycleGAN for image style transfer tasks.

 What You'll Need

To complete this guided project, you will need a basic understanding of the working mechanics of neural networks, such as activations, optimizers, loss functions, etc. You will also need some prior experience working with Keras to be able to use its APIs to build, compile and train the CycleGAN. It is also recommended that you have a basic understanding of GANs.

This course mainly uses Python and JupyterLabs. Although these skills are recommended prerequisites, no prior experience is required as this Guided Project is designed for complete beginners.

 Frequently Asked Questions


Do I need to install any software to participate in this project?
Everything you need to complete this project will be provided to you via the Skills Network Labs and it will all be available via a standard web browser.

What web browser should I use?
The Skills Network Labs platform works best with current versions of Chrome, Edge, Firefox, Internet Explorer, or Safari.
 

Instructors

Roxanne Li

Data Scientist at IBM

I am an aspiring Data Scientist at IBM with extensive theoretical/academic, research, and work experience in different areas of Machine Learning, including Classification, Clustering, Computer Vision, NLP, and Generative AI. I've exploited Machine Learning to build data products for the P&C insurance industry in the past. I also recently became an instructor of the Unsupervised Machine Learning course by IBM on Coursera!

Read more