Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Neural Networks with TensorFlow and PyTorch
Rating: 3.6 out of 5(13 ratings)
154 students

Neural Networks with TensorFlow and PyTorch

Unleash the power of TensorFlow and PyTorch to build and train Neural Networks effectively
Last updated 3/2019
English

What you'll learn

  • Get hands-on and understand Neural Networks with TensorFlow and PyTorch
  • Understand how and when to apply autoencoders
  • Develop an autonomous agent in an Atari environment with OpenAI Gym
  • Apply NLP and sentiment analysis to your data
  • Develop a multilayer perceptron neural network to predict fraud and hospital patient readmission
  • Build convolutional neural network classifier to automatically identify a photograph
  • Learn how to build a recurrent neural network to forecast time series and stock market data
  • Know how to build Long Short Term Memory Model (LSTM) model to classify movie reviews as positive or negative using Natural Language Processing (NLP)
  • Get familiar with PyTorch fundamentals and code a deep neural network
  • Perform image captioning and grammar parsing using Natural Language Processing

Course content

4 sections101 lectures13h 1m total length
  • The Course Overview4:26

    This video provides an overview of the entire course.

  • Solving Public Datasets2:02

    People often discuss whether being good at deep learning requires a lot of knowledge like a scientist, or requires a lot of practice like an artist. You need a combination of both to build state of the art models.

    • Understand that deep learning requires knowledge

    • Understand that deep learning requires practice

    • Understand that you need both to build state of the art models.

  • Why We Use Docker and Installation Instructions2:52

    In this course, the viewers only need to install one thing, and that is Docker. With this tool, we put a "virtual operating system" on the viewer’s computer which has all dependencies that they need for this course.

    • Understand what Docker is

    • Learn about Downloading Docker

    • Installe Docker in your system

  • Our Code, in a Jupyter Notebook5:07

    Learn how to download the source code for this course and build the Docker image. The author will show what commands to enter, and how viewers can open the Jupyter Notebook. Finally, he will show viewers what a Jupyter Notebook is and how it works.

    • Build the Docker image

    • Open the Jupyter Notebook for this section

    • Understand how to use a Jupyter Notebook

  • Understanding TensorFlow14:05

    Look at the TensorFlow software, and understand what its definition is. The author will build some graphs, and will explain what they do and how to evaluate them in a session. Some TensorFlow functions are compared to their NumPy equivalent.

    • Understand what TensorFlow is

    • Build a graph

    • Evaluate this graph in a session

  • The Iris Dataset6:05

    Get the Iris dataset and inspect it. Find insights in how to recognize flowers.

    • Get the data from the SKLearn library

    • View how the data is represented

    • Plot the data to see how we can classify it

  • The Human Brain and How to Formalize It11:46

    Look at the human brain for inspiration on how computers can learn something and learn how to manually design a Neural Network.

    • Know how the human brain works

    • Learn how we can formalize this with math

    • Program the forward pass with Numpy

  • Backpropagation12:04

    Determine the error that the network made, and how we can optimize the network to reduce this error.

    • Put our Neural Network in Tensorflow

    • Determine the error and choose an optimizer

    • Train our network on our data

  • Overfitting — Why We Split Our Train and Test Data9:34

    Although during training it may look as if our neural network learned to classify everything, it's possible it does not generalize to the whole dataset. To see how well our network performs we have to split our data into training and test set.

    • Know why you want to split your data

    • Learn how to split data with SKLearn

    • Evaluate network performance with part of the data

  • Ground State Energies of 16,242 Molecules7:31

    Download the data from Kaggle and see what is in the dataset.

    • Download the data from Kaggle

    • View how the data is represented

    • Plot the data to see what we have to solve

  • First Approach – Easy Layer Building10:17

    Replicate the Neural Network made in the previous section to see how well this works.

    • Look at how we first built a network

    • Take a look at the Keras API

    • Program a Neural Network with using little code

  • Preprocessing Data10:03

    Learn how preprocessing data can give big performance boosts to Neural Networks.

    • Build functions to easily compare our testing results

    • Preprocess our data with the sklearn StandardScaler

    • Compare the results on scaled and unscaled datasets

  • Understanding the Activation Function10:21

    In this video, we will explore other activation functions, and will look at how well the network performs the ReLU function which is used as activation function.

    • Define a variable that contains the activation function

    • Change the activation function to RELU

    • Visualize several activation functions

  • The Importance of Hyperparameters8:25

    There are several better methods to estimate these hyperparameters, and we will try grid-search over the learning rate parameter to improve our performance.

    • Learn what hyperparameters are

    • Learn about methods to tweak hyperparameters

    • Do a grid-search over the learning rate variable

  • Images of Written Digits6:22

    We want to download a dataset with images of written digits and save these digits to our datasets folder. We will visualize them with Matplotlib after reshaping them.

    • Load the MNIST data with TensorFlow

    • Reshape the vectors to represent an image

    • Visualize the images with Matplotlib

  • Dense Layer Approach6:54

    We will apply what we learned in the previous section on these images and build a deep Neural Network with fully connected layers. We will also write an evaluation function that determines the accuracy of a Neural Network.

    • Build a deep Neural Network with dense layers

    • Determine the accuracy of our solution

    • Compare our result to the state of the art

  • Convolution and Pooling Layers11:35

    If you move an image, it's still easy for humans to recognize the image. With our dense layers, the network has to "learn" all positions a character can be at. We will introduce convolutional layers and pooling layers to counter this problem

    • Understand what convolutional and max pooling layers are

    • Apply convolutional and max pooling layers in our network

    • See that we improved our accuracy

  • Convolution and Pooling Layers (Continued)7:26

    This is the continuation video on convolution and pooling layers.

    • See that we improved our accuracy

  • From Activations to Probabilities – the Softmax Function4:55

    Knowing the output activations of a neural network is great, but often you want to see a "probability" per output class. To do this we introduce the softmax function.

    • Understand what the softmax function does

    • Add the softmax function to our Neural Network

    • Inspect the output of the softmax function and linear weighing

  • Optimization and Loss Functions10:26

    We currently used the mean squared error loss function and normal gradient descent. The softmax cross entropy function performs better for classification functions. We will also look at the momentum and the adam optimizer, which often perform better.

    • Understand what the softmax cross entropy function does

    • Understand what the momentum and adam optimizer do

    • Compare our performance with our previous performance

  • Large-Scale CelebFaces Attributes (CelebA) Dataset8:10

    To analyze the faces of celebrities, we need to have a lot of data. The CelebA dataset contains more than 200, 000 images of celebrities.

    • Find the data

    • Download and unzip the data

    • Load the labels and filenames

  • Building an Input Pipeline in TensorFlow11:20

    As there are a lot of images, loading them all into our memory would require a lot from our computer space. Instead we will build a pipeline in TensorFlow that reads the images when we need them.

    • Partition filenames in a train and test set partition vector

    • Build an input queue with filenames and labels

    • Preprocess images inside the TensorFlow graph

  • Building a Convolutional Neural Network9:01

    We loaded our data and preprocessed our images. Now it's time to see how well our well known approach of convolutional layers works on this dataset.

    • Build a convolutional Neural Network

    • Select the loss and optimizers

    • Train the network and plot the loss

  • Batch Normalization7:42

    Each layer learns to respond to the output of the previous layer during backpropagation. A trick to speed up this process AND get better results is called batch normalization. We will add it to the layers in our network.

    • Understand why batch normalization works

    • Add batch normalization layers to our network

    • Compare the output of non-batch normalization and batch normalization

  • Understanding What Your Network Learned –Visualizing Activations15:57

    Neural networks sometimes learn something you don't expect. Looking at activations can be an important tool to verify your network is learning something that makes sense. We will also evaluate the performance of our network by drawing a ROC curve.

    • Visualize the output of a convolutional layer

    • Explain what the ROC curve is

    • Draw the ROC curve for our Neural Network

  • Test Your Knowledge

Requirements

  • Basic knowledge of Python is required. Familiarity with TensorFlow and PyTorch will be beneficial.

Description

TensorFlow is quickly becoming the technology of choice for deep learning and machine learning, because of its ease to develop powerful neural networks and intelligent machine learning applications. Like TensorFlow, PyTorch has a clean and simple API, which makes building neural networks faster and easier. It's also modular, and that makes debugging your code a breeze. If you’re someone who wants to get hands-on with Deep Learning by building and training Neural Networks, then go for this course.

This course takes a step-by-step approach where every topic is explicated with the help of a real-world examples. You will begin with learning some of the Deep Learning algorithms with TensorFlow such as Convolutional Neural Networks and Deep Reinforcement Learning algorithms such as Deep Q Networks and Asynchronous Advantage Actor-Critic. You will then explore Deep Reinforcement Learning algorithms in-depth with real-world datasets to get a hands-on understanding of neural network programming and Autoencoder applications. You will also predict business decisions with NLP wherein you will learn how to program a machine to identify a human face, predict stock market prices, and process text as part of Natural Language Processing (NLP). Next, you will explore the imperative side of PyTorch for dynamic neural network programming. Finally, you will build two mini-projects, first focusing on applying dynamic neural networks to image recognition and second NLP-oriented problems (grammar parsing).

By the end of this course, you will have a complete understanding of the essential ML libraries TensorFlow and PyTorch for developing and training neural networks of varying complexities, without any hassle.

Meet Your Expert(s):

We have the best work of the following esteemed author(s) to ensure that your learning journey is smooth:

  • Roland Meertens is currently developing computer vision algorithms for self-driving cars. Previously he has worked as a research engineer at a translation department. Examples of things he has made are a Neural Machine Translation implementation, a post-editor, and a tool that estimates the quality of a translated sentence. Last year, he worked at the Micro Aerial Vehicle Laboratory at the university of Delft, on indoor localization (SLAM) and obstacle avoidance behaviors for a drone that delivers food inside a restaurant. Another thing he worked on was detecting and following people using onboard computer vision algorithms on a stereo camera. For his Master's thesis, he did an internship at a company called SpirOps, where he worked on the development of a dialogue manager for project Romeo. In his Artificial Intelligence study, he specialized in cognitive artificial intelligence and brain-computer interfacing.

  • Harveen Singh Chadha is an experienced researcher in Deep Learning and is currently working as a Self Driving Car Engineer. He is currently focused on creating an ADAS (Advanced Driver Assistance Systems) platform. His passion is to help people who currently want to enter into the Data Science Universe.

  • Anastasia Yanina is a Senior Data Scientist with around 5 years of experience. She is an expert in Deep Learning and Natural Language processing and constantly develops her skills as far as possible. She is passionate about human-to-machine interactions. She believes that bridging the gap may become possible with deep neural network architectures.

Who this course is for:

  • This course is for machine learning developers, engineers, and data science professionals who want to work with neural networks and deep learning using powerful Python libraries, TensorFlow and PyTorch.