Welcome to PyTorch: Deep Learning and Artificial Intelligence!

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 2020, a strong sign that PyTorch is picking up steam.

If you are a professional, you will quickly recognize that building and testing new ideas is extremely easy with PyTorch, while it can be pretty hard in other libraries that try to do everything for you. Oh, and it's faster.

Deep Learning has been responsible for some amazing achievements recently, such as:

Generating beautiful, photo-realistic images of people and things that never existed (GANs)

Beating world champions in the strategy game Go, and complex video games like CS:GO and Dota 2 (Deep Reinforcement Learning)

Self-driving cars (Computer Vision)

Speech recognition (e.g. Siri) and machine translation (Natural Language Processing)

Even creating videos of people doing and saying things they never did (DeepFakes - a potentially nefarious application of deep learning)

**This course is for beginner-level students all the way up to expert-level students**. How can this be?

If you've just taken my free Numpy prerequisite, then you know everything you need to jump right in. We will start with some very basic machine learning models and advance to state of the art concepts.

Along the way, you will learn about all of the major deep learning architectures, such as Deep Neural Networks, Convolutional Neural Networks (image processing), and Recurrent Neural Networks (sequence data).

Current projects include:

Even if you've taken all of my previous courses already, you will still learn about how to convert your previous code so that it uses Tensorflow 2.0, and there are all-new and never-before-seen projects in this course such as**time series forecasting** and how to do **stock predictions**.

This course is designed for students who want to learn fast, but there are also "in-depth" sections in case you want to dig a little deeper into the theory (like what is a loss function, and what are the different types of gradient descent approaches).

I'm taking the approach that even if you are not 100% comfortable with the mathematical concepts, you can still do this! In this course, we focus more on the PyTorch library, rather than deriving any mathematical equations. I have tons of courses for that already, so there is no need to repeat that here.

Instructor's Note: This course focuses on breadth rather than depth, with less theory in favor of building more cool stuff. If you are looking for a more theory-dense course, this is not it. Generally, for each of these topics (recommender systems, natural language processing, reinforcement learning, computer vision, GANs, etc.) I already have courses singularly focused on those topics.

Thanks for reading, and I’ll see you in class!

Although Google's Deep Learning library

Is it possible that Tensorflow is popular only because

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,

On the flip side, it is very well-known that all the top AI shops (ex.

If you are a professional, you will quickly recognize that building and testing new ideas is extremely easy with PyTorch, while it can be pretty hard in other libraries that try to do everything for you. Oh, and it's faster.

Deep Learning has been responsible for some amazing achievements recently, such as:

Generating beautiful, photo-realistic images of people and things that never existed (GANs)

Beating world champions in the strategy game Go, and complex video games like CS:GO and Dota 2 (Deep Reinforcement Learning)

Self-driving cars (Computer Vision)

Speech recognition (e.g. Siri) and machine translation (Natural Language Processing)

Even creating videos of people doing and saying things they never did (DeepFakes - a potentially nefarious application of deep learning)

If you've just taken my free Numpy prerequisite, then you know everything you need to jump right in. We will start with some very basic machine learning models and advance to state of the art concepts.

Along the way, you will learn about all of the major deep learning architectures, such as Deep Neural Networks, Convolutional Neural Networks (image processing), and Recurrent Neural Networks (sequence data).

Current projects include:

**Natural Language Processing (NLP)****Recommender Systems****Transfer Learning for Computer Vision****Generative Adversarial Networks (GANs)****Deep Reinforcement Learning Stock Trading Bot**

Even if you've taken all of my previous courses already, you will still learn about how to convert your previous code so that it uses Tensorflow 2.0, and there are all-new and never-before-seen projects in this course such as

This course is designed for students who want to learn fast, but there are also "in-depth" sections in case you want to dig a little deeper into the theory (like what is a loss function, and what are the different types of gradient descent approaches).

I'm taking the approach that even if you are not 100% comfortable with the mathematical concepts, you can still do this! In this course, we focus more on the PyTorch library, rather than deriving any mathematical equations. I have tons of courses for that already, so there is no need to repeat that here.

Instructor's Note: This course focuses on breadth rather than depth, with less theory in favor of building more cool stuff. If you are looking for a more theory-dense course, this is not it. Generally, for each of these topics (recommender systems, natural language processing, reinforcement learning, computer vision, GANs, etc.) I already have courses singularly focused on those topics.

Thanks for reading, and I’ll see you in class!

- Welcome (04:04) (FREE preview available)
- Overview and Outline (13:14)

- Where to get the code and data - instant access (01:42)
- How to use Github & Extra Coding Tips (Optional) (11:12)

- Intro to Google Colab, how to use a GPU or TPU for free (12:33)
- Uploading your own data to Google Colab (11:42)
- Where can I learn about Numpy, Scipy, Matplotlib, Pandas, and Scikit-Learn? (08:55)

- What is Machine Learning? (14:26)
- Regression Basics (14:39)
- Regression Code Preparation (11:45)
- Regression Notebook (13:14)
- Moore's Law (06:57)
- Moore's Law Notebook (13:51)
- Linear Regression Exercise: Real Estate Predictions (02:33)
- Linear Classification Basics (15:06)
- Classification Code Preparation (06:56)
- Classification Notebook (12:00)
- Logistic Regression Exercise: Predicting Diabetes Onset (02:34)
- Saving and Loading a Model (05:21)
- A Short Neuroscience Primer (09:51)
- How does a model "learn"? (10:50)
- Model With Logits (04:18)
- Train Sets vs. Validation Sets vs. Test Sets (10:12)
- Suggestion Box (03:10)

- Artificial Neural Networks Section Introduction (06:00)
- Forward Propagation (09:40)
- The Geometrical Picture (09:43)
- Activation Functions (17:18)
- Multiclass Classification (09:39)
- How to Represent Images (12:21)
- Code Preparation (ANN) (14:57)
- ANN for Image Classification (18:28)
- ANN for Regression (10:55)
- Exercise: E. Coli Protein Localization Sites (02:21)
- How to Choose Hyperparameters (06:25)

- What is Convolution? (part 1) (16:38)
- What is Convolution? (part 2 - Pattern Finding) (05:56)
- What is Convolution? (part 3 - Weight Sharing) (06:41)
- Convolution on Color Images (15:58)
- CNN Architecture (20:53)
- CNN Code Preparation (part 1) (17:42)
- CNN Code Preparation (part 2) (08:00)
- CNN Code Preparation (part 3) (05:40)
- CNN for Fashion MNIST (11:32)
- CNN for CIFAR-10 (08:05)
- Data Augmentation (09:45)
- Batch Normalization (05:14)
- Improving CIFAR-10 Results (10:46)
- Exercise: Facial Expression Recognition (01:35)

- Sequence Data (22:14)
- Forecasting (10:58)
- Autoregressive Linear Model for Time Series Prediction (12:15)
- Proof that the Linear Model Works (04:12)
- Recurrent Neural Networks (21:31)
- RNN Code Preparation (13:49)
- RNN for Time Series Prediction (09:29)
- Paying Attention to Shapes (09:33)
- GRU and LSTM (pt 1) (17:35)
- GRU and LSTM (pt 2) (11:45)
- A More Challenging Sequence (10:28)
- RNN for Image Classification (Theory) (04:41)
- RNN for Image Classification (Code) (02:48)
- Stock Return Predictions using LSTMs (pt 1) (12:24)
- Stock Return Predictions using LSTMs (pt 2) (06:16)
- Stock Return Predictions using LSTMs (pt 3) (11:45)
- Other Ways to Forecast (05:14)
- Exercise: More Forecasting (01:52)

- Embeddings (13:12)
- Neural Networks with Embeddings (03:45)
- Text Preprocessing Concepts (13:33)
- Beginner Blues - PyTorch NLP Version (10:36)
- (Legacy) Text Preprocessing Code Preparation (11:53)
- (Legacy) Text Preprocessing Code Example (07:53)
- (Legacy) Text Classification with LSTMs (V1) (08:55)
- Text Classification with LSTMs (V2) (17:42)
- CNNs for Text (12:07)
- (Legacy) Text Classification with CNNs (V1) (04:49)
- Text Classification with CNNs (V2) (07:15)
- (Legacy) VIP: Making Predictions with a Trained NLP Model (07:37)
- VIP: Making Predictions with a Trained NLP Model (V2) (04:21)
- Exercise: Sentiment Analysis (02:01)

- Recommender Systems with Deep Learning Theory (10:26)
- Recommender Systems with Deep Learning Code Preparation (09:38)
- Recommender Systems with Deep Learning Code (pt 1) (08:52)
- Recommender Systems with Deep Learning Code (pt 2) (12:31)
- VIP: Making Predictions with a Trained Recommender Model (04:51)
- Exercise: Book Recommendations (01:13)

- Transfer Learning Theory (08:12)
- Some Pre-trained Models (VGG, ResNet, Inception, MobileNet) (04:05)
- Large Datasets (07:11)
- 2 Approaches to Transfer Learning (04:51)
- Transfer Learning Code (pt 1) (09:36)
- Transfer Learning Code (pt 2) (07:40)
- Exercise: Transfer Learning (01:28)

- GAN Theory (16:03)
- GAN Code Preparation (06:18)
- GAN Code (09:21)
- Exercise: DCGAN (Deep Convolutional GAN) (02:54)

- Reinforcement Learning Section Introduction (06:34)
- Elements of a Reinforcement Learning Problem (20:18)
- States, Actions, Rewards, Policies (09:24)
- Markov Decision Processes (MDPs) (10:07)
- The Return (04:56)
- Value Functions and the Bellman Equation (09:53)
- What does it mean to “learn”? (07:18)
- Solving the Bellman Equation with Reinforcement Learning (pt 1) (09:49)
- Solving the Bellman Equation with Reinforcement Learning (pt 2) (12:04)
- Epsilon-Greedy (06:09)
- Q-Learning (14:15)
- Deep Q-Learning / DQN (pt 1) (14:05)
- Deep Q-Learning / DQN (pt 2) (10:25)
- How to Learn Reinforcement Learning (05:56)

- Reinforcement Learning Stock Trader Introduction (05:13)
- Data and Environment (12:22)
- Replay Buffer (05:40)
- Program Design and Layout (06:56)
- Code pt 1 (09:22)
- Code pt 2 (09:40)
- Code pt 3 (06:54)
- Code pt 4 (07:25)
- Reinforcement Learning Stock Trader Discussion (03:36)
- Exercise: Personalized Stock Trading Bot (01:44)

- Custom Loss and Estimating Prediction Uncertainty (09:36)
- Estimating Prediction Uncertainty Code (07:12)

- Facial Recognition Section Introduction (03:39)
- Siamese Networks (10:17)
- Code Outline (05:05)
- Loading in the data (05:52)
- Splitting the data into train and test (04:27)
- Converting the data into pairs (05:04)
- Generating Generators (05:06)
- Creating the model and loss (04:28)
- Accuracy and imbalanced classes (07:48)
- Facial Recognition Section Summary (03:32)

- Mean Squared Error (09:11)
- Binary Cross Entropy (05:58)
- Categorical Cross Entropy (08:06)

- Gradient Descent (07:52)
- Stochastic Gradient Descent (04:36)
- Momentum (06:11)
- Variable and Adaptive Learning Rates (11:46)
- Adam Optimization (pt 1) (13:15)
- Adam Optimization (pt 2) (11:14)

- Windows-Focused Environment Setup 2018 (20:21)
- How to install Numpy, Scipy, Matplotlib, Pandas, IPython, Theano, and TensorFlow (17:33)

- Beginner's Coding Tips (13:22)
- How to Code Yourself (part 1) (15:55)
- How to Code Yourself (part 2) (09:24)
- Proof that using Jupyter Notebook is the same as not using it (12:29)
- Python 2 vs Python 3 (04:38)
- Is Theano Dead? (10:04)

- How to Succeed in this Course (Long Version) (10:25)
- Is this for Beginners or Experts? Academic or Practical? Fast or slow-paced? (22:05)
- What order should I take your courses in? (part 1) (11:19)
- What order should I take your courses in? (part 2) (16:07)

- What is the Appendix? (02:48)
- Where to get discount coupons and FREE deep learning material (05:31)

- Data Links