YoVDO

Deep Learning - Computer Vision for Beginners Using PyTorch

Offered By: Packt via Coursera

Tags

PyTorch Courses Deep Learning Courses Python Courses Computer Vision Courses Neural Networks Courses CUDA Courses GPU Computing Courses Tensors Courses Autograd Courses

Course Description

Overview

Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
This course offers a comprehensive introduction to PyTorch and deep learning for computer vision, with sections on Python fundamentals for those new to the language or needing a refresher. The curriculum begins with PyTorch basics, followed by instructions on accessing free GPU resources and coding on GPU. Students will explore PyTorch’s AutoGrad feature and use it to implement gradient descent. The course covers creating deep learning models and convolutional neural networks (CNNs), and applying these skills to real-world datasets. Additionally, students will learn to use key Python libraries such as NumPy, Pandas, and Matplotlib, and will undertake a mini project to build a hangman game in Python. By the end of the course, participants will be equipped to perform computer vision tasks using deep learning. This course is ideal for software developers, machine learning practitioners, and data scientists. Basic Python knowledge is beneficial but not required.

Syllabus

  • Welcome Aboard
    • In this module, we will introduce you to the course, outlining what you can expect and why learning PyTorch is beneficial for diving into deep learning and computer vision. We’ll provide a brief overview of the course structure and demonstrate the power of PyTorch through a quick demo.
  • Introduction to PyTorch and Tensors
    • In this module, we will explore PyTorch, starting with a brief introduction to its core features and functionality. We will delve into the concept of tensors, explaining their importance in deep learning, and demonstrate practical applications of tensors within the PyTorch framework.
  • Diving into PyTorch
    • In this module, we will dive deep into practical aspects of using PyTorch. Starting with installation on Google Colab, we will cover creating and manipulating tensors, performing mathematical operations, and integrating NumPy arrays. We will also explore CUDA, understanding its role and leveraging GPU acceleration to enhance computational efficiency.
  • AutoGrad in PyTorch
    • In this module, we will delve into the AutoGrad functionality in PyTorch, understanding its role in automatic differentiation and gradient computation. We will demonstrate how to implement AutoGrad within loops, optimizing neural network training processes. Additionally, we will explore the computational graphs generated by AutoGrad, providing deeper insights into its operation and efficiency in deep learning tasks.
  • Creating Deep Neural Networks in PyTorch
    • In this module, we will guide you through the process of creating deep neural networks using PyTorch. Starting with building your first neural network, we will then move on to writing more complex deep neural networks. Finally, we will teach you how to design and implement custom neural network modules, providing you with the skills to tailor networks to your specific requirements.
  • CNN in PyTorch
    • In this module, we will focus on Convolutional Neural Networks (CNNs) in PyTorch. You will learn how to load and preprocess the CIFAR10 dataset, visualize data for better insights, and review the fundamentals of convolution operations. We will guide you through building your first CNN and then advance to developing deeper CNN architectures, performing a series of convolution operations to achieve the desired output.
  • LeNet Architecture in PyTorch
    • In this module, we will explore the LeNet architecture, starting with an overview of its structure and historical importance. You will learn how to implement the LeNet model in PyTorch and then proceed to train and evaluate it for practical applications. Additionally, we will discuss how LeNet compares with other CNN architectures and how to optimize its performance through effective preparation and evaluation methods.
  • Optional Learning- Python Basics
    • In this module, we will cover the foundational aspects of Python programming, starting with why learning a programming language is essential and the specific advantages of using Python. You will learn to install and navigate Jupyter Notebook, enhancing your coding experience. This module will also delve into Python basics, including variables, data types, arithmetic operations, strings, Booleans, type conversion, and comments. Further, we will explore Python’s data structures like tuples, sets, and dictionaries, and control flow statements such as "if," "while," and "for" loops. Finally, we will cover functions and classes in Python, providing a comprehensive introduction to Python programming.
  • Optional Learning - Mini Project with Python Basics
    • In this module, we will apply the Python basics learned so far by creating a mini project: the Hangman game. Starting with an introduction to the project, we will develop the necessary classes and objects. We will then proceed to implement the game's logic incrementally, focusing on handling single-letter inputs and other functionalities. Finally, we will conduct thorough testing and debugging to ensure the project runs as expected, consolidating your understanding of Python programming through this hands-on exercise.
  • Optional Learning - Python for Data Science with NumPy
    • In this module, we will delve into using NumPy for data science applications. You will learn how to create and manipulate arrays, resize and reshape them as needed, and perform slicing operations to select specific data subsets. Additionally, we will cover the concept of broadcasting, enabling you to apply operations across arrays of different shapes. Finally, we will explore various mathematical operations and functions that NumPy offers, enhancing your data manipulation and analysis capabilities.
  • Optional Learning - Python for Data Science with Pandas
    • In this module, we will dive into the Pandas library, a powerful tool for data science in Python. You will learn about creating and managing Pandas DataFrames, essential for structured data analysis. We will cover how to load data from external files, manage null values, and use slicing operations to retrieve specific data elements. Additionally, we will discuss imputation techniques to address missing data, ensuring your datasets are clean and ready for analysis.
  • Optional Learning - Python for Data Science with Matplotlib
    • In this module, we will explore Matplotlib, a fundamental library for data visualization in Python. You will learn how to create and format plots, enhancing their clarity and presentation. We will cover the creation and customization of scatter plots for in-depth data analysis, as well as generating histograms to visualize data distributions. By the end of this module, you will be equipped to utilize various plot types and formatting options to effectively present your data insights.

Taught by

Packt - Course Instructors

Related Courses

CUDA Advanced Libraries
Johns Hopkins University via Coursera
CUDA at Scale for the Enterprise
Johns Hopkins University via Coursera
CUDA Programming - High-Performance Computing with GPUs
freeCodeCamp
GPU Programming
Johns Hopkins University via Coursera
Fundamentals of Accelerated Computing with CUDA C/C++
Nvidia via Independent