Deep Learning PyTorch
This repository contains material for Deep Learning Fundamentals. It consists of a bunch of tutorial notebooks for various deep learning topics. In most cases, the notebooks lead you through implementing models such as convolutional networks, recurrent networks, and GANs. There are other topics covered such as weight initialization and batch normalization.
- Introduction to Neural Networks: Learn how to implement gradient descent and apply it to predicting patterns in student admissions data.
- Sentiment Analysis with NumPy: Andrew Trask leads you through building a sentiment analysis model, predicting if some text is positive or negative.
- Introduction to PyTorch: Learn how to build neural networks in PyTorch and use pre-trained networks for state-of-the-art image classifiers.
- Convolutional Neural Networks: Visualize the output of layers that make up a CNN. Learn how to define and train a CNN for classifying MNIST data, a handwritten digit database that is notorious in the fields of machine and deep learning. Also, define and train a CNN for classifying images in the CIFAR10 dataset.
- Transfer Learning. In practice, most people don't train their own networks on huge datasets; they use pre-trained networks such as VGGnet. Here you'll use VGGnet to help classify images of flowers without training an end-to-end network from scratch.
- Weight Initialization: Explore how initializing network weights affects performance.
- Autoencoders: Build models for image compression and de-noising, using feedforward and convolutional networks in PyTorch.
- Style Transfer: Extract style and content features from images, using a pre-trained network. Implement style transfer according to the paper, Image Style Transfer Using Convolutional Neural Networks by Gatys et. al. Define appropriate losses for iteratively creating a target, style-transferred image of your own design!
- Intro to Recurrent Networks (Time series & Character-level RNN): Recurrent neural networks are able to use information about the sequence of data, such as the sequence of characters in text; learn how to implement these in PyTorch for a variety of tasks.
- Embeddings (Word2Vec): Implement the Word2Vec model to find semantic representations of words for use in natural language processing.
- Sentiment Analysis RNN: Implement a recurrent neural network that can predict if the text of a moview review is positive or negative.
- Attention: Implement attention and apply it to annotation vectors.
- Generative Adversarial Network on MNIST: Train a simple generative adversarial network on the MNIST dataset.
- Batch Normalization: Learn how to improve training rates and network stability with batch normalizations.
- Deep Convolutional GAN (DCGAN): Implement a DCGAN to generate new images based on the Street View House Numbers (SVHN) dataset.
- CycleGAN: Implement a CycleGAN that is designed to learn from unpaired and unlabeled data; use trained generators to transform images from summer to winter and vice versa.
- All exercise and project notebooks for the lessons on model deployment can be found in the linked, Github repo. Learn to deploy pre-trained models using AWS SageMaker.
- Predicting Bike-Sharing Patterns: Implement a neural network in NumPy to predict bike rentals.
- Dog Breed Classifier: Build a convolutional neural network with PyTorch to classify any image (even an image of a face) as a specific dog breed.
- TV Script Generation: Train a recurrent neural network to generate scripts in the style of dialogue from Seinfeld.
- Face Generation: Use a DCGAN on the CelebA dataset to generate images of new and realistic human faces.
- Intro to TensorFlow: Starting building neural networks with TensorFlow.
- Keras: Learn to build neural networks and convolutional neural networks with Keras.
Per the Anaconda docs:
Conda is an open source package management system and environment management system for installing multiple versions of software packages and their dependencies and switching easily between them. It works on Linux, OS X and Windows, and was created for Python programs but can package and distribute any software.
Using Anaconda consists of the following:
- Install
miniconda
on your computer, by selecting the latest Python version for your operating system. If you already haveconda
orminiconda
installed, you should be able to skip this step and move on to step 2. - Create and activate * a new
conda
environment.
* Each time you wish to work on any exercises, activate your conda
environment!
Download the latest version of miniconda
that matches your system.
Linux | Mac | Windows | |
---|---|---|---|
64-bit | 64-bit (bash installer) | 64-bit (bash installer) | 64-bit (exe installer) |
32-bit | 32-bit (bash installer) | 32-bit (exe installer) |
Install miniconda on your machine. Detailed instructions:
- Linux: https://conda.io/projects/conda/en/latest/user-guide/install/linux.html
- Mac: https://conda.io/projects/conda/en/latest/user-guide/install/macos.html
- Windows: https://conda.io/projects/conda/en/latest/user-guide/install/windows.html
For Windows users, these following commands need to be executed from the Anaconda prompt as opposed to a Windows terminal window. For Mac, a normal terminal window will work.
These instructions also assume you have git
installed for working with Github from a terminal window, but if you do not, you can download that first with the command:
conda install git
If you'd like to learn more about version control and using git
from the command line, take a look at our free course: Version Control with Git.
Now, we're ready to create our local environment!
- Clone the repository, and navigate to the downloaded folder. This may take a minute or two to clone due to the included image data.
git clone https://github.com/udacity/deep-learning-v2-pytorch.git
cd deep-learning-v2-pytorch
-
Create (and activate) a new environment, named
deep-learning
with Python 3.6. If prompted to proceed with the install(Proceed [y]/n)
type y.- Linux or Mac:
conda create -n deep-learning python=3.6 source activate deep-learning
- Windows:
conda create --name deep-learning python=3.6 activate deep-learning
At this point your command line should look something like:
(deep-learning) <User>:deep-learning-v2-pytorch <user>$
. The(deep-learning)
indicates that your environment has been activated, and you can proceed with further package installations. -
Install PyTorch and torchvision; this should install the latest version of PyTorch.
- Linux or Mac:
conda install pytorch torchvision -c pytorch
- Windows:
conda install pytorch -c pytorch pip install torchvision
-
Install a few required pip packages, which are specified in the requirements text file (including OpenCV).
pip install -r requirements.txt
- That's it!
Now most of the deep-learning
libraries are available to you. Very occasionally, you will see a repository with an addition requirements file, which exists should you want to use TensorFlow and Keras, for example. In this case, you're encouraged to install another library to your existing environment, or create a new environment for a specific project.
Now, assuming your deep-learning
environment is still activated, you can navigate to the main repo and start looking at the notebooks:
cd
cd deep-learning-v2-pytorch
jupyter notebook
To exit the environment when you have completed your work session, simply close the terminal window.
1 INTRO TO DEEP LEARNING
Deep Learning V2 PyTorch
Predicting Bike-Sharing-Dataset Day.csv Hours.csv
Hadi Fanaee-T
Laboratory of Artificial Intelligence and Decision Support (LIAAD), University of Porto INESC Porto, Campus da FEUP Rua Dr. Roberto Frias, 378 4200 - 465 Porto, Portugal
Bike sharing systems are new generation of traditional bike rentals where whole process from membership, rental and return back has become automatic. Through these systems, user is able to easily rent a bike from a particular position and return back at another position. Currently, there are about over 500 bike-sharing programs around the world which is composed of over 500 thousands bicycles. Today, there exists great interest in these systems due to their important role in traffic, environmental and health issues.
Apart from interesting real world applications of bike sharing systems, the characteristics of data being generated by these systems make them attractive for the research. Opposed to other transport services such as bus or subway, the duration of travel, departure and arrival position is explicitly recorded in these systems. This feature turns bike sharing system into a virtual sensor network that can be used for sensing mobility in the city. Hence, it is expected that most of important events in the city could be detected via monitoring these data.
Bike-sharing rental process is highly correlated to the environmental and seasonal settings. For instance, weather conditions,
precipitation, day of week, season, hour of the day, etc. can affect the rental behaviors. The core data set is related to
the two-year historical log corresponding to years 2011 and 2012 from Capital Bikeshare system, Washington D.C., USA which is
publicly available in http://capitalbikeshare.com/system-data. We aggregated the data on two hourly and daily basis and then
extracted and added the corresponding weather and seasonal information. Weather information are extracted from http://www.freemeteo.com.
- Regression:
Predication of bike rental count hourly or daily based on the environmental and seasonal settings.
- Event and Anomaly Detection:
Count of rented bikes are also correlated to some events in the town which easily are traceable via search engines.
For instance, query like "2012-10-30 washington d.c." in Google returns related results to Hurricane Sandy. Some of the important events are
identified in [1]. Therefore the data can be used for validation of anomaly or event detection algorithms as well.
- Readme.txt
- hour.csv : bike sharing counts aggregated on hourly basis. Records: 17379 hours
- day.csv - bike sharing counts aggregated on daily basis. Records: 731 days
Both hour.csv and day.csv have the following fields, except hr which is not available in day.csv - instant: record index - dteday : date - season : season (1:springer, 2:summer, 3:fall, 4:winter) - yr : year (0: 2011, 1:2012) - mnth : month ( 1 to 12) - hr : hour (0 to 23) - holiday : weather day is holiday or not (extracted from http://dchr.dc.gov/page/holiday-schedule) - weekday : day of the week - workingday : if day is neither weekend nor holiday is 1, otherwise is 0. + weathersit : - 1: Clear, Few clouds, Partly cloudy, Partly cloudy - 2: Mist + Cloudy, Mist + Broken clouds, Mist + Few clouds, Mist - 3: Light Snow, Light Rain + Thunderstorm + Scattered clouds, Light Rain + Scattered clouds - 4: Heavy Rain + Ice Pallets + Thunderstorm + Mist, Snow + Fog - temp : Normalized temperature in Celsius. The values are divided to 41 (max) - atemp: Normalized feeling temperature in Celsius. The values are divided to 50 (max) - hum: Normalized humidity. The values are divided to 100 (max) - windspeed: Normalized wind speed. The values are divided to 67 (max) - casual: count of casual users - registered: count of registered users - cnt: count of total rental bikes including both casual and registered
Use of this dataset in publications must be cited to the following publication:
[1] Fanaee-T, Hadi, and Gama, Joao, "Event labeling combining ensemble detectors and background knowledge", Progress in Artificial Intelligence (2013): pp. 1-15, Springer Berlin Heidelberg, doi:10.1007/s13748-013-0040-3.
@article{ year={2013}, issn={2192-6352}, journal={Progress in Artificial Intelligence}, doi={10.1007/s13748-013-0040-3}, title={Event labeling combining ensemble detectors and background knowledge}, url={http://dx.doi.org/10.1007/s13748-013-0040-3}, publisher={Springer Berlin Heidelberg}, keywords={Event labeling; Event detection; Ensemble learning; Background knowledge}, author={Fanaee-T, Hadi and Gama, Joao}, pages={1-15} }
For further information about this dataset please contact Hadi Fanaee-T (hadi.fanaee@fe.up.pt)
1
- Welcome to the Deep Learning Nanodegree Program
- Meet Your Instructors
- Program Structure
- Community Guidelines
- Prerequisites
- Getting Set Up
2
3
4
- Instructor
- Introduction
- What is Anaconda?
- Installing Anaconda
- Managing packages
- Managing environments
- More environment actions
- Best practices
- On Python versions at Udacity
5
- Introduction
- Style Transfer
- DeepTraffic
- Flappy Bird
- Books to Read
6
- Instructor
- What are Jupyter notebooks?
- Installing Jupyter Notebook
- Launching the notebook server
- Notebook interface
- Code cells
- Markdown cells
- Keyboard shortcuts
- Magic keywords
- Converting notebooks
- Creating a slideshow
- Finishing up
7
- Introduction
- Data Dimensions
- Data in NumPy
- Element-wise Matrix Operations
- Element-wise Operations in NumPy
- Matrix Multiplication: Part 1
- Matrix Multiplication: Part 2
- NumPy Matrix Multiplication
- Matrix Transposes
- Transposes in NumPy
- NumPy Quiz
2 NEURAL NETWORKS
1
- Instructor
- Introduction
- Classification Problems 1
- Classification Problems 2
- Linear Boundaries
- Higher Dimensions
- Perceptrons
- Why "Neural Networks"?
- Perceptrons as Logical Operators
- Perceptron Trick
- Perceptron Algorithm
- Non-Linear Regions
- Error Functions
- Log-loss Error Function
- Discrete vs Continuous
- Softmax
- One-Hot Encoding
- Maximum Likelihood
- Maximizing Probabilities
- Cross-Entropy 1
- Cross-Entropy 2
- Multi-Class Cross Entropy
- Logistic Regression
- Gradient Descent
- Logistic Regression Algorithm
- Pre-Notebook: Gradient Descent
- Notebook: Gradient Descent
- Perceptron vs Gradient Descent
- Continuous Perceptrons
- Non-linear Data
- Non-Linear Models
- Neural Network Architecture
- Feedforward
- Backpropagation
- Pre-Notebook: Analyzing Student Data
- Notebook: Analyzing Student Data
- Outro
2
- Mean Squared Error Function
- Gradient Descent
- Gradient Descent: The Math
- Gradient Descent: The Code
- Implementing Gradient Descent
- Multilayer Perceptrons
- Backpropagation
- Implementing Backpropagation
- Further Reading
3
- Instructor
- Training Optimization
- Testing
- Overfitting and Underfitting
- Early Stopping
- Regularization
- Regularization 2
- Dropout
- Local Minima
- Random Restart
- Vanishing Gradient
- Other Activation Functions
- Batch vs Stochastic Gradient Descent
- Learning Rate Decay
- Momentum
- Error Functions Around the World
4
- Introduction to GPU Workspaces
- Workspace Playground
- GPU Workspace Playground
5
- Introducing Andrew Trask
- Meet Andrew
- Materials
- The Notebooks
- Framing the Problem
- Mini Project 1
- Mini Project 1 Solution
- Transforming Text into Numbers
- Mini Project 2
- Mini Project 2 Solution
- Building a Neural Network
- Mini Project 3
- Mini Project 3 Solution
- Better Weight Initialization Strategy
- Understanding Neural Noise
- Mini Project 4
- Understanding Inefficiencies in our Network
- Mini Project 5
- Mini Project 5 Solution
- Further Noise Reduction
- Mini Project 6
- Mini Project 6 Solution
- Analysis: What's Going on in the Weights?
- Conclusion
6
- Introduction to the Project
- Project Cheatsheet
- Project Workspace
- Project: Predicting Bike-Sharing Pa
7
- Welcome!
- Pre-Notebook
- Notebook Workspace
- Single layer neural networks
- Single layer neural networks solution
- Networks Using Matrix Multiplication
- Multilayer Networks Solution
- Neural Networks in PyTorch
- Neural Networks Solution
- Implementing Softmax Solution
- Network Architectures in PyTorch
- Network Architectures Solution
- Training a Network Solution
- Classifying Fashion-MNIST
- Fashion-MNIST Solution
- Inference and Validation
- Validation Solution
- Dropout Solution
- Saving and Loading Models
- Loading Image Data
- Loading Image Data Solution
- Pre-Notebook with GPU
- Notebook Workspace w/ GPU
- Transfer Learning II
- Transfer Learning Solution
- Tips, Tricks, and Other Notes
3 CONVOLUTIONAL NEURAL NETWORKS
1
- Introducing Alexis
- Applications of CNNs
- Lesson Outline
- MNIST Dataset
- How Computers Interpret Images
- MLP Structure & Class Scores
- Do Your Research
- Loss & Optimization
- Defining a Network in PyTorch
- Training the Network
- Pre-Notebook: MLP Classification, Exercise
- Notebook: MLP Classification, MNIST
- One Solution
- Model Validation
- Validation Loss
- Image Classification Steps
- MLPs vs CNNs
- Local Connectivity
- Filters and the Convolutional Layer
- Filters & Edges
- Frequency in Images
- High-pass Filters
- Quiz: Kernels
- OpenCV & Creating Custom Filters
- Notebook: Finding Edges
- Convolutional Layer
- Convolutional Layers (Part 2)
- Stride and Padding
- Pooling Layers
- Notebook: Layer Visualization
- Capsule Networks
- Increasing Depth
- CNNs for Image Classification
- Convolutional Layers in PyTorch
- Feature Vector
- Pre-Notebook: CNN Classification
- Notebook: CNNs for CIFAR Image Classification
- CIFAR Classification Example
- CNNs in PyTorch
- Image Augmentation
- Augmentation Using Transformations
- Groundbreaking CNN Architectures
- Visualizing CNNs (Part 1)
- Visualizing CNNs (Part 2)
- Summary of CNNs
- Introduction to GPU Workspaces
- Workspace Playground
- GPU Workspace Playground
2
- Mean Squared Error Function
- Gradient Descent
- Gradient Descent: The Math
- Gradient Descent: The Code
- Implementing Gradient Descent
- Multilayer Perceptrons
- Backpropagation
- Implementing Backpropagation
- Further Reading
3
- Instructor
- Training Optimization
- Testing
- Overfitting and Underfitting
- Early Stopping
- Regularization
- Regularization 2
- Dropout
- Local Minima
- Random Restart
- Vanishing Gradient
- Other Activation Functions
- Batch vs Stochastic Gradient Descent
- Learning Rate Decay
- Momentum
- Error Functions Around the World
4
- Transfer Learning
- Useful Layers
- Fine-Tuning
- VGG Model & Classifier
- Pre-Notebook: Transfer Learning
- Notebook: Transfer Learning, Flowers
- Freezing Weights & Last Layer
- Training a Classifier
5
- Weight Initialization
- Constant Weights
- Random Uniform
- General Rule
- Normal Distribution
- Pre-Notebook: Weight Initialization, Normal Distribution
- Notebook: Normal & No Initialization
- Solution and Default Initialization
- Additional Material
6
- Autoencoders
- A Linear Autoencoder
- Pre-Notebook: Linear Autoencoder
- Notebook: Linear Autoencoder
- Defining & Training an Autoencoder
- A Simple Solution
- Learnable Upsampling
- Transpose Convolutions
- Convolutional Autoencoder
- Pre-Notebook: Convolutional Autoencoder
- Notebook: Convolutional Autoencoder
- Convolutional Solution
- Upsampling & Denoising
- De-noising
- Pre-Notebook: De-noising Autoencoder
- Notebook: De-noising Autoencode
7
- Style Transfer
- Separating Style & Content
- VGG19 & Content Loss
- Gram Matrix
- Style Loss
- Loss Weights
- VGG Features
- Pre-Notebook: Style Transfer
- Notebook: Style Transfer
- Features & Gram Matrix
- Gram Matrix Solution
- Defining the Loss
- Total Loss & Complete Solution
8
- CNN Project: Dog Breed Classifier
- Dog Project Workspace
- Project: Dog-Breed Classifier
9
- Intro
- Skin Cancer
- Survival Probability of Skin Cancer
- Medical Classification
- The data
- Image Challenges
- Quiz: Data Challenges
- Solution: Data Challenges
- Training the Neural Network
- Quiz: Random vs Pre-initialized Weights
- Solution: Random vs Pre-initialized Weight
- Validating the Training
- Quiz: Sensitivity and Specificity
- Solution: Sensitivity and Specificity
- More on Sensitivity and Specificity
- Quiz: Diagnosing Cancer
- Solution: Diagnosing Cancer
- Refresh on ROC Curves
- Quiz: ROC Curve
- Solution: ROC Curve
- Comparing our Results with Doctors
- Visualization
- What is the network looking at?
- Refresh on Confusion Matrices
- Confusion Matrix
- Conclusion
- Useful Resources
- Mini Project Introduction
- Mini Project: Dermatologist AI
10
- Jobs in Deep Learning
- Real-World Applications of Deep Lear
11
- Prove Your Skills With GitHub
- Introduction
- GitHub profile important items
- Good GitHub repository
- Interview with Art - Part 1
- Quiz: Identify fixes for example “bad” profile
- Quick Fixes #1
- Quiz: Quick Fixes #2
- Writing READMEs with Walter
- Interview with Art - Part 2
- Commit messages best practices
- Quiz: Reflect on your commit messages
- Participating in open source projects
- Interview with Art - Part 3
- Participating in open source projects 2
- Quiz: Starring interesting repositories
- Next Steps
- Project: Optimize Your GitHub Pro
4 RECURRENT NEURAL NETWORKS
1
- RNN Examples
- RNN Introduction
- RNN History
- RNN Applications
- Feedforward Neural Network-Reminder
- The Feedforward Process
- Feedforward Quiz
- Backpropagation- Theory
- Backpropagation - Example (part a)
- Backpropagation- Example (part b)
- Backpropagation Quiz
- RNN (part a)
- RNN (part b)
- RNN- Unfolded Model
- Unfolded Model Quiz
- RNN- Example
- Backpropagation Through Time (part a)
- Backpropagation Through Time (part b)
- Backpropagation Through Time (part c)
- BPTT Quiz 1
- BPTT Quiz 2
- BPTT Quiz 3
- Some more math
- RNN Summary
- From RNN to LSTM
- Wrap Up
2
- Intro to LSTM
- RNN vs LSTM
- Basics of LSTM
- Architecture of LSTM
- The Learn Gate
- The Forget Gate
- The Remember Gate
- The Use Gate
- Putting it All Together
- Quiz
- Other architectures
3
- Implementing RNNs
- Time-Series Prediction
- Training & Memory
- Character-wise RNNs
- Sequence Batching
- Pre-Notebook: Character-Level RNN
- Notebook: Character-Level RNN
- Implementing a Char-RNN
- Batching Data, Solution
- Defining the Model
- Char-RNN, Solution
- Making Predictions
4
- Introducing Jay
- Introduction
- Learning Rate
- Quiz: Learning Rate
- Minibatch Size
- Number of Training Iterations / Epochs
- Number of Hidden Units / Layers
- RNN Hyperparameters
- Quiz: RNN Hyperparameters
- Sources & References
5
- Word Embeddings
- Embedding Weight Matrix/Lookup Table
- Word2Vec Notebook
- Pre-Notebook: Word2Vec, SkipGram
- Notebook: Word2Vec, SkipGram
- Data & Subsampling
- Subsampling Solution
- Context Word Targets
- Batching Data, Solution
- Word2Vec Model
- Model & Validations
- Negative Sampling
- Pre-Notebook: Negative Sampling
- Notebook: Negative Sampling
- SkipGramNeg, Model Definition
- Complete Model & Custom Loss
6
- Sentiment RNN, Introduction
- Pre-Notebook: Sentiment RNN
- Notebook: Sentiment RNN
- Data Pre-Processing
- Encoding Words, Solution
- Getting Rid of Zero-Length
- Cleaning & Padding Data
- Padded Features, Solution
- TensorDataset & Batching Data
- Defining the Model
- Complete Sentiment RNN
- Training the Model
- Testing
- Inference, Solution
7
- Introduction
- GPU Workspaces: Best Practices
- Project Workspace: TV Script Generation
- Project: Generate TV Scripts
8
- Introduction to Attention
- Encoders and Decoders
- Sequence to Sequence Recap
- Encoding -- Attention Overview
- Decoding -- Attention Overview
- Quiz: Attention Overview
- Attention Encoder
- Attention Decoder
- Quiz: Attention Encoder & Decoder
- Bahdanau and Luong Attention
- Multiplicative Attention
- Additive Attention
- Quiz: Additive and Multiplicative Attention
- Computer Vision Applications
- Other Attention Methods
- The Transformer and Self-Attention
- Notebook: Attention Basics
- [SOLUTION]: Attention Basics
- Outro
5 GENERATIVE ADVERSARIAL NETWORKS
1
- Introducing Ian GoodFellow
- Applications of GANs
- How GANs work
- Games and Equilibria
- Tips for Training GANs
- Generating Fake Images
- MNIST GAN
- GAN Notebook & Data
- Pre-Notebook: MNIST GAN
- Notebook: MNIST GAN
- The Complete Model
- Generator & Discriminator
- Hyperparameters
- Fake and Real Losses
- Optimization Strategy, Solution
- Training Two Networks
- Training Solution
2
- Deep Convolutional GANs
- DCGAN, Discriminator
- DCGAN Generator
- What is Batch Normalization?
- Pre-Notebook: Batch Norm
- Notebook: Batch Norm
- Benefits of Batch Normalization
- DCGAN Notebook & Data
- Pre-Notebook: DCGAN, SVHN
- Notebook: DCGAN, SVHN
- Scaling, Solution
- Discriminator
- Discriminator, Solution
- Generator
- Generator, Solution
- Optimization Strategy
- Optimization Solution & Samples
- Other Applications of GANs
3
- Introducing Jun-Yan Zhu
- Image to Image Translation
- Designing Loss Functions
- GANs, a Recap
- Pix2Pix Generator
- Pix2Pix Discriminator
- CycleGANs & Unpaired Data
- Cycle Consistency Loss
- Why Does This Work?
- Beyond CycleGANs
4
- CycleGAN Notebook & Data
- Pre-Notebook: CycleGAN
- Notebook: CycleGAN
- DC Discriminator
- DC Discriminator, Solution
- Generator & Residual Blocks
- CycleGAN Generator
- Blocks & Generator, Solution
- Adversarial & Cycle Consistency Losses
- Loss & Optimization, Solution
- Training Exercise
- Training Solution & Generated Sam
5
- Project Introduction
- Project Instructions
- Face Generation Workspace
- Project: Generate Faces
6
- Get Opportunities with LinkedIn
- Use Your Story to Stand Out
- Why Use an Elevator Pitch
- Create Your Elevator Pitch
- Use Your Elevator Pitch on LinkedIn
- Create Your Profile With SEO In Mind
- Profile Essentials
- Work Experiences & Accomplishments
- Build and Strengthen Your Network
- Reaching Out on LinkedIn
- Boost Your Visibility
- Up Next
- Project: Improve Your LinkedIn Profi
6 DEPLOYING A MODEL
1
- Welcome!
- What's Ahead?
- Problem Introduction
- Machine Learning Workflow
- Quiz: Machine Learning Workflow
- What is Cloud Computing & Why Would We Use It?
- Why Cloud Computing?
- Machine Learning Applications
- Machine Learning Applications
- Paths to Deployment
- Quiz: Paths to Deployment
- Production Environments
- Production Environments
- Endpoints & REST APIs
- Endpoints & REST APIs
- Containers
- Quiz: Containers
- Containers - Straight From the Experts
- Characteristics of Modeling & Deployment
- Characteristics of Modeling & Deployment
- Comparing Cloud Providers
- Comparing Cloud Providers
- Closing Statements
- Summary
- [Optional] Cloud Computing Defined
- [Optional] Cloud Computing Explai
2
- Introduction to Amazon SageMaker
- AWS Setup Instructions
- Get Access to GPU Instances
- Setting up a Notebook Instance
- Cloning the Deployment Notebooks
- Is Everything Set Up?
- Boston Housing Example - Getting the Data Ready
- Boston Housing Example - Training the Model
- Boston Housing Example - Testing the Model
- Mini-Project: Building Your First Model
- Mini-Project: Solution
- Boston Housing In-Depth - Data Preparation
- Boston Housing In-Depth - Creating a Training Job
- Boston Housing In-Depth - Building a Model
- Boston Housing In-Depth - Creating a Batch Transform Job
- Summary
3
- Deploying a Model in SageMaker
- Boston Housing Example - Deploying the Model
- Boston Housing In-Depth - Deploying the Model
- Deploying and Using a Sentiment Analysis Model
- Text Processing, Bag of Words
- Building and Deploying the Model
- How to Use a Deployed Model
- Creating and Using an Endpoint
- Building a Lambda Function
- Building an API
- Using the Final Web Application
- Summary
4
- Hyperparameter Tuning
- Introduction to Hyperparameter Tuning
- Boston Housing Example - Tuning the Model
- Mini-Project: Tuning the Sentiment Analysis Model
- Mini-Project: Solution - Tuning the Model
- Mini-Project: Solution - Fixing the Error and Testing
- Boston Housing In-Depth - Creating a Tuning Job
- Boston Housing In-Depth - Monitoring the Tuning Job
- Boston Housing In-Depth - Building and Testing the Model
- Summary
5
- Updating a Model
- Building a Sentiment Analysis Model (XGBoost)
- Building a Sentiment Analysis Model (Linear Learner)
- Combining the Models
- Mini-Project: Updating a Sentiment Analysis Model
- Loading and Testing the New Data
- Exploring the New Data
- Building a New Model
- SageMaker Retrospective
- Cleaning Up Your AWS Account
- SageMaker Tips and Tricks
6
- Deployment Project
- Setting up a Notebook Instance
- Get Access to GPU Instances
- Project: Deploying a Sentiment Analy
EXTRACURRICULAR
1 ADDITIONAL LESSONS
1
- Intro
- Confusion Matrix
- Confusion Matrix 2
- Accuracy
- Accuracy 2
- When accuracy won't work
- False Negatives and Positives
- Precision and Recall
- Precision
- Recall
- ROC Curve
2
- Intro
- Quiz: Housing Prices
- Solution: Housing Prices
- Fitting a Line Through Data
- Moving a Line
- Absolute Trick
- Square Trick
- Gradient Descent
- Mean Absolute Error
- Mean Squared Error
- Minimizing Error Functions
- Mean vs Total Error
- Mini-batch Gradient Descent
- Absolute Error vs Squared Error
- Linear Regression in scikit-learn
- Higher Dimensions
- Multiple Linear Regression
- Closed Form Solution
- (Optional) Closed form Solution Math
- Linear Regression Warnings
- Polynomial Regression
- Regularization
- Neural Network Regression
- Neural Networks Playground
- Outro
3
- Welcome to MiniFlow
- Graphs
- MiniFlow Architecture
- Forward Propagation
- Forward Propagation Solution
- Learning and Loss
- Linear Transform
- Sigmoid Function
- Cost
- Cost Solution
- Gradient Descent
- Backpropagation
- Stochastic Gradient Descent
- SGD Solution
- Outro
2 TENSORFLOW KERAS FRAMEWORKS
1
- Intro
- Keras
- Pre-Lab: Student Admissions in Keras
- Lab: Student Admissions in Keras
- Optimizers in Keras
- Mini Project Intro
- Pre-Lab: IMDB Data in Keras
- Lab: IMDB Data in Keras
2
- Convolutional Layers in Keras
- Quiz: Dimensionality
- CNNs in Keras: Practical Example
- Mini Project: CNNs in Keras
- Image Augmentation in Keras
- Mini Project: Image Augmentation in Keras
- Transfer Learning
- Transfer Learning in Keras
3
- Intro
- Installing TensorFlow
- Hello, Tensor World!
- Quiz: TensorFlow Input
- Quiz: TensorFlow Math
- Quiz: TensorFlow Linear Function
- Quiz: TensorFlow Softmax
- Quiz: TensorFlow Cross Entropy
- Quiz: Mini-batch
- Epochs
- Pre-Lab: NotMNIST in TensorFlow
- Lab: NotMNIST in TensorFlow
- Two-layer Neural Network
- Quiz: TensorFlow ReLUs
- Deep Neural Network in TensorFlow
- Save and Restore TensorFlow Models
- Finetuning
- Quiz: TensorFlow Dropout
- Outro