
Build a two-network generative model that converts sketches to photographs with a generator and discriminator. Learn fundamentals, data processing, and model training for sketch-to-photo conversion.
Identify the essential setup, including beginner Python skills and prerequisites. Use google colab or a local editor and save ipynb or py files.
Discover Mammoth Interactive, an online school founded in 2012 by John Baraa, offering in-demand tech skills and project-driven courses that help students land jobs worldwide.
Learn how online courses enable faster, more efficient learning with active industry-led instructors, affordable access, flexible pacing, and hands-on, project-based learning that builds a portfolio and skills, with no commute.
Learn Python basics from scratch, including variables, operators, data structures, conditionals, loops, functions, and classes, through practical Google Colab examples that start you programming quickly.
Explore python variable basics, from placeholders and dynamic typing to booleans, integers, floats, and strings, with practical examples and type conversion.
Explore Python type conversion with examples across integers, floats, strings, and booleans. Learn how true and false map to zero and nonzero, how strings convert, and that originals stay unchanged.
Explore Python operators—from arithmetic, assignment, comparison, and logical operations to string concatenation and precedence rules—plus hints on ternary, identity, and membership in a beginner-friendly guide.
Explore Python collections—lists, tuples, dictionaries, and ranges—and how they store multiple values in a single variable, with mutability, indexing, and key-based access.
Master python lists and multidimensional lists by creating, indexing, and modifying inventories and universes of worlds and levels, using append, insert, pop, remove, clear, and copy behavior with row-column access.
Explore tuples in Python by creating, accessing, and comparing them, and highlight their immutability versus lists while using count, index, and length to inspect tuple data.
Explore Python dictionaries through practical key-value concepts, learn to create, access, modify, and remove entries, and use get, keys, values, and inventory examples to solidify understanding.
Explore Python ranges, including start and end values, step sizes, and reversed sequences, and learn how to use in and not in operators with for loops.
Explore conditionals in Python, learn if statements, else if, and else, and variants, understand control flow, test boolean states and multiple conditions, with examples like button presses.
Explore Python control flow with if, elif, else and the ternary operator, using a game-like example to print moves and handle invalid keys, health, and lives.
Explore how Python loops automate repeated code, comparing while and for in loops. See break and continue controls, ranges and lists, and practical game loop examples to avoid infinite loops.
Learn how to define and call functions in Python, pass parameters, and return values. Explore global and local scope, how to run code on demand, and reusability.
Explore how to define functions with parameters and return values in Python. Learn to use default parameters, perform bounds checking, and manage inputs and outputs for flexible, robust function design.
Learn how python classes serve as blueprints for objects, with attributes, methods, and initialization, then explore inheritance and static members across instances.
Explore inheritance in Python by subclassing a game character into a player character, adding max health and lives, and overriding take damage and check is dead logic with super handling.
Demonstrate static members in Python by defining static variables and static methods, compare them to instance members, and show constants shared across all class instances.
Recap Python basics—variables, operators, collections (lists, dictionaries, tuples), conditionals and loops, and functions and classes—while urging practice and library exploration.
Explore what machine learning is and how algorithms learn from data to improve with experience. Review the workflow from data gathering to deployment and supervised, unsupervised, and reinforcement learning.
Explore what deep learning is, its multi-layer neural networks and densely connected structures, and how data, computing power, and algorithms drive performance beyond traditional machine learning.
Explore how neural networks mimic brain learning with input, hidden, and output layers, perceptrons and weights, activation functions, and types like feedforward, convolutional, and recurrent.
Explore unsupervised learning, its applications in recommendations and customer grouping, and contrast it with supervised learning. Master principal component analysis and cluster analysis for dimensionality reduction.
Load the SIU HK face sketch dataset in Google Colab, mount Google Drive, access train and test photos and sketches, and begin data preprocessing for the neural network.
Process and prepare your data by loading sketches and photos, converting them to arrays, and normalizing to float32 for the generator neural network.
Explore what a generative neural network is, including its generator and discriminator, how they train together to distinguish real and fake images like faces, and how equilibrium signals a generator.
Explore what a convolutional neural network is, how it processes image data via grid topology and pixel adjacency for detection, and relation to generative networks as a type of CNN.
Explore how convolutional neural networks process image data, build a generator, and implement convolutional, pooling, and fully connected layers with padding to extract features and classify images.
Learn how a generator uses 2d convolution, transpose convolution, batch normalization, and RELU activations to upsample random noise into a fake image, with progressive downsampling and upsampling.
Build a generator from scratch by assembling input, convolution, batch normalization, activation, and 2d transpose to form a functional neural network ready for the discriminator.
Build a discriminator for a sketch-to-photo model by training it to distinguish real photographs from generated by the generator, using leaky relu, batch normalization, and convolutional layers to guide realism.
Combine the generator and discriminator into a single model by wiring the generator outputs to the discriminator. Set the discriminator non-trainable and prepare for the training phase.
Explore the theory and architecture of a discriminator by detailing convolutional layers, batch normalization, leaky ReLU activations, flattening, and a dense output that estimates real versus fake confidence.
Learn to measure a machine learning model's performance by splitting data into training and testing sets, generating a hypothesis function from training data, and calculating accuracy while keeping sets separate.
Explore how optimization reduces error in GANs with mean squared error for the generator and binary cross entropy for the discriminator. Learn how real and fake labels drive backpropagation.
Explore the Adam optimizer, an adaptive extension of gradient descent for neural networks. See how per-weight learning rates and moment estimates accelerate training, even with noisy or sparse gradients.
Define loss metrics and optimizers for the generator and discriminator, set learning rate and hyperparameters, and compile the combined model for training using mean squared error and binary cross-entropy.
Build training epochs for a sketch-to-photo model by looping through epochs, adjusting generator and discriminator learning rates, processing batches of 30 sketches, and logging the generator and discriminator losses.
Test the sketch-to-photo model by loading a test image, preprocessing and normalizing it, and visualizing the generated photo alongside the original sketch to evaluate performance.
Experiment with hyperparameter and architecture tuning to improve the model. Adjust optimizers, learning rate, batch size, error metrics, and network structure to explore results and share findings.
Deep learning is not like any other technology, but it is in many cases the only technology that can solve certain problems. We need to ensure that all people involved in the project have a common understanding of what is required, how the process works, and that we have a realistic view of what is possible with the tools at hand. To boil down all this to its core components we could consider a few important rules:
create a common ground of understanding, this will ensure the right mindset
state early how progress should be measured
communicate clearly how different machine learning concepts works
acknowledge and consider the inherited uncertainty, it is part of the process
In order to define AI, we must first define the concept of intelligence in general. A paraphrased definition based on Wikipedia is:
Intelligence can be generally described as the ability to perceive information and retain it as knowledge to be applied towards adaptive behaviors within an environment or context.
While there are many different definitions of intelligence, they all essentially involve learning, understanding, and the application of the knowledge learned to achieve one or more goals.
Is this course for me?
By taking this course, you will gain the tools you need to continue improving yourself in the field of app development. You will be able to apply what you learned to further experience in making your own apps able to perform more.
No experience necessary. Even if you’ve never coded before, you can take this course. One of the best features is that you can watch the tutorials at any speed you want. This means you can speed up or slow down the video if you want to!
When your learning to code, you often find yourself following along with a tutor without really knowing why you're doing certain things. In this course, I will demonstrate correct coding as well as mistakes I often see and how to avoid them.