
Explore the PyTorch course structure, from an introduction to image processing, natural language processing, and reinforcement learning, guiding you through each section of the complete guide.
Watch all course videos and follow along step by step to solve real problems with full explanations, while using the Q&A to clarify doubts and deepen knowledge.
We cover the main tools for this course, focusing on Google Colab for easy installation and coding, with an alternative through Jupyter notebooks if you need to download data.
Explore how neurons, the brain's basic computational units, connect via a synapse to receive sensory input and send motor commands. Approximately 100 billion neurons integrate inputs and communicate across networks.
explains a multilayer neural network with an input layer, three or more hidden layers, and an output, showing how the input signal is processed through hidden layers.
Learn PyTorch by building a simple feedforward neural network for digit recognition, flattening inputs, using fully connected layers, ReLU, dropout, and softmax output.
Build a simple neural network in PyTorch, setting up data and modules, with fully connected layers and dropout, and train for 50 epochs using a loss and optimizer.
Create test data, reshape tensors, and run a simple neural network in PyTorch to predict class labels and achieve about 87 percent on unseen data.
Explore the core building blocks of convolutional neural networks, including convolutional and pooling layers, flattening, and fully connected classifiers for image processing and classification.
Explore how convolutional neural networks draw inspiration from the visual cortex to process images through convolution, pooling, and backpropagation for feature extraction.
Explore how convolutional neural networks apply shared filters over input volumes to produce activation maps and learn spatial features through forward propagation.
Explore how pooling layers after convolutional layers reduce spatial size and computation by max or average pooling, sliding a window and taking the maximum value.
Import libraries and MNIST data with torchvision, build a cnn that flattens 28 by 28 images to 784 features, and use 64, 128, and 256 channels for a 10-class output.
Explore MNIST implementation using a cnn in PyTorch, showing data preparation, normalization, and model predictions, and highlighting data augmentation to improve cnn performance on image tasks.
Explore image augmentation in MNIST with PyTorch, detailing five transforms including translation, rotation, and scaling, and demonstrate applying translation matrices via an augmentation library.
In this MNIST project, perform image augmentation by translating images by 10 pixels on both axes, applying scaling, and noting cropping effects while keeping the underlying dataset unchanged.
This lecture demonstrates MNIST data augmentation through translating, rotating, scaling, and shearing images, with padding and fill-value options to handle non-original pixels.
Explore MNIST implementation techniques through practical augmentation experiments. Apply multiplicative and linear contrast augmentations, add salt-and-pepper and random noise, and compare sequential versus random augmentation, including rotation and dropout.
Explore generative adversarial networks (GAN) and how a generator and discriminator compete to produce realistic images. Learn transposed convolutions, batch normalization, activation, and how training uses feedback to improve realism.
Import essential torch and vision libraries, set up data transforms and dataset loading, download and prepare the data, and initialize the data pipeline for a gan project.
Construct the generator class for the GAN project in PyTorch, initializing with input z and using transposed convolutions to reach 3 image channels.
Construct a GAN discriminator using convolution layers with leaky ReLU activations and a sigmoid output. Explore replacing final fully connected layers with global average pooling to improve convergence.
Define a loss criterion and set up an optimizer for the discriminator and generator networks, then train a gan using real and fake labels.
The lecture demonstrates training a fully connected GAN, updating the generator and discriminator with real and fake data, using noise inputs and labels, and exploring the discriminator's feature for classification.
Learn how recurrent neural networks handle sequential data by maintaining memory through previous states and unrolling in time, contrasted with forward networks, stock price prediction and handwriting recognition as examples.
Explore building a recurrent neural network in PyTorch, including loading data, splitting into train and test sets, initializing the model, and running the training process.
This lecture explains building a two-layer recurrent neural network in PyTorch, configuring a 100-dimensional hidden state, and implementing a forward pass over the sequence with loss.
Explore recurrent neural network implementation in PyTorch, covering optimizer setup, loss criterion (entropy), training across epochs, and tracking accuracy with image data and labels.
Practice recurrent neural networks by reshaping image tensors, connecting a linear layer, and producing 10 predictions for 100 features per image with a long and short term memory network.
Explore how the long short term memory network preserves relevant information across steps to capture long-term dependencies and memory, using a movie plot analogy to illustrate selective recall.
Implement and train long short-term memory networks in PyTorch, defining initialization, layers, and forward flow, and observe accuracy improvements across epochs.
Explore how LSTMs operate as a recurrent network for sequence data, detailing input handling, forward passes, and layer parameters such as weights and biases for a single layer.
Explore language model implementation using PyTorch, covering essential imports, code construction, and building a simple sentence generation workflow in part 1.
Explain building a language model in PyTorch by detailing character and word representations, one-hot encoding, the embedding module, vocabulary management, input tokens, and the forward pass with linear layers.
Implement a character-level language model part 2, detailing a training loop with random start indices, input-target char sequences, and next-character prediction using Unicode characters.
Explore language model implementation by evaluating a function and generating predictions with a temperature-controlled distribution. See how higher temperatures increase randomness and near-zero temperatures favor the most likely character.
Continue implementing the language model final part, outlining remaining components and configuring the training loop with target values, loss, and optimizer for evaluation.
Implement a PyTorch language model using character-level inputs and an optimizer with an adaptive learning rate. Explore sparse representations, word embeddings, and how generative models uncover probability distributions.
Define reinforcement learning and explain its purpose in creating autonomous agents that learn from experience over time. The approach addresses dynamic problems and real-world needs beyond traditional supervised learning.
Explore the reinforcement learning loop of actions, observations, and environment, and see how a scalar reward provides positive or negative feedback to guide agent behavior.
Explore the agent, environment, action, and observation framework of reinforcement learning, detailing discrete and continuous actions, reward signals, and diverse applications like trading, games, and web navigation.
Set up the reinforcement learning environment with open air gym tools, Python, and TensorFlow, using Jupyter notebooks to explore episodic environments like classic control, Atari, and robot simulations.
Explore OpenAI Gym, a growing collection of reinforcement learning environments with a community website for sharing resources and comparing results. Agents interact episodically to maximize rewards across episodes.
Explore robot control concepts through neural networks and deep reinforcement learning, defining how sensors, feedback, and actuators enable autonomous, safety-guided robot behavior per Asimov's three laws of robotics.
Trace a short robotics timeline from early automata to fourth-generation androids, highlighting industrial arm robots, assembly lines, adaptive programming, sensors and actuators, and automatic control concepts.
Explore reinforcement learning basics, the agent-environment interface, and how rewards guide action and memory to optimize behavior.
Explore how reinforcement learning enables an agent to learn actions from rewards and penalties to maximize reward, using policy evaluation, policy improvement, Monte Carlo methods, online learning, and dynamic programming.
Explore Q-learning and deep Q-learning, including estimating the value function for state-action pairs, updating value estimates to improve policies, and applying neural networks to approximate optimal value in reinforcement learning.
Explore implementing the cart pole reinforcement learning task in openai gym, using +1 or -1 forces, 1‑point per step rewards, and termination if the pole deviates beyond 15 degrees.
Continue the cart pole implementation by building the environment, handling observations and rewards, and using episodic reinforcement learning to maximize total rewards through a linear function approximation with weights.
Continue the cart pole project by refining training, using observation and environment feedback to decide actions, render the result, reset the environment, and optimize step rewards.
Build a cart pole agent with deep reinforcement learning in PyTorch, define the environment, observations, actions, and rewards, render during training, and test the high-reward policy.
Developing hill climbing part 1 guides building an environment, updating a weight vector, and adding noise to progressively improve actions across episodes while tracking total reward.
Examine hill climbing with noise-scale adjustments, episode-based evaluation, and an adaptive learning rate to improve total reward and convergence in the learning process.
Apply adaptive noise to each episode to improve hill climbing in PyTorch. Maximize rewards across episodes and move toward the optimal value.
Develop and evaluate a hill climbing approach in PyTorch, exploring optimal policy selection, episode-by-episode rewards, noise scale tuning, and total rewards.
Encourage ongoing practice in deep learning, setting personal goals, and building models from datasets to continue improving after this course.
Welcome to the best online course for learning about Pytorch!
Although Google's Deep Learning library Tensorflow has gained massive popularity over the past few years, PyTorch has been the library of choice for professionals and researchers around the globe for deep learning and artificial intelligence.
Is it possible that Tensorflow is popular only because Google is popular and used effective marketing?
Why did Tensorflow change so significantly between version 1 and version 2? Was there something deeply flawed with it, and are there still potential problems?
It is less well-known that PyTorch is backed by another Internet giant, Facebook (specifically, the Facebook AI Research Lab - FAIR). So if you want a popular deep learning library backed by billion dollar companies and lots of community support, you can't go wrong with PyTorch. And maybe it's a bonus that the library won't completely ruin all your old code when it advances to the next version. ;)
On the flip side, it is very well-known that all the top AI shops (ex. OpenAI, Apple, and JPMorgan Chase) use PyTorch. OpenAI just recently switched to PyTorch in 2022, a strong sign that PyTorch is picking up steam.
In this course you will learn everything you need to know to get started with Pytorch, including:
NumPy
Pandas
Tensors with PyTorch
Neural Network Theory
Perceptrons
Networks
Activation Functions
Cost/Loss Functions
Backpropagation
Gradients
Artificial Neural Networks
Convolutional Neural Networks
Recurrent Neural Networks
and much more!
By the end of this course you will be able to create a wide variety of deep learning models to solve your own problems with your own data sets.
So what are you waiting for? Enroll today and experience the true capabilities of PyTorch! I'll see you inside the course!