This bootcamp aims to provide participants with the theoretical knowledge and practical skills needed to develop deep learning solutions in the field of computer vision. In this repository, you will find educational materials, coding examples and exercises to get started in this field.
After completing the bootcamp, all participants will be familiar with the following key concepts and possess the ability to apply them to a problem:
- PyTorch basics & fundamentals: Dealing with tensor operations
- Data pre-processing for computer vision tasks
- Building a PyTorch model from scratch
- Fitting the model to data (training)
- Customizing a pretrained model through transfer learning
- Making predictions and visualizing the outputs of the model (inference)
- Evaluating model performance
Section | What does it cover? | Examples and exercises | Exercise solutions |
---|---|---|---|
00-Installation guide | Instructions for setting up the development environment and required tools. | - |
- |
01-Deep Learning and PyTorch basics | An introductory guide to the fundamental concepts of deep learning and the PyTorch library. We provide examples of basic tensor operations and use pretrained models to make predictions. | 00-Tensor basics 01-Inference with pretrained networks |
00-Tensor basics answers 01-Inference with pretrained networks answers |
02-Data preprocessing | Let's learn to utilize PyTorch's tools for applying pre-processing operations and creating efficient custom data loaders to train and validate our models. | 02-Data preprocessing | 02-Data preprocessing answers |
03-Model Building and Training Loop | In this section, we dive into the process of creating, designing, and training neural networks for diverse machine learning tasks. | 03.1-Classification 03.2-Segmentation |
03-Model Building and Training Loop answers |
04-Evaluating model predictions | This section focuses on assessing model performance using relevant evaluation metrics based on predictions and ground truth labels. | 04-Model evaluation | 04-Model evaluation answers |
05-Transfer Learning | We'll leverage a high-performing pre-trained model and fine-tune it to suit our specific problem. | 05- Transfer Learning | 05- Transfer Learning answers |
To supplement the information provided in this course, we encourage you to visit the following resources.
-
Basics: Python and Numpy
- If you need to review some concepts about Python programming, we recommend consulting a course from @anadology using Python Practice Book.
- To refresh your understanding of NumPy, start with the introduction from @jakevdp at Section 2. Introduction to Numpy in Python Data Science Handbook.
-
Deep Learning Basics
- Get started in deep learning with video-based tutorials that offer visual explanations for better comprehension, created by @3blue1brown on Neural Networks.
- For a more comprehensive understanding of deep learning algorithms and techniques, you can refer to the book Deep Learning by Ian Goodfellow, Yoshua Bengio, and Aaron Courville. It is widely regarded as a valuable resource for both beginners and practitioners in the field of deep learning.
- For additional information about the PyTorch library and access to more practical examples, visit the PyTorch tutorials website.
- If you're eager to continue your journey of exploring deep learning in PyTorch, I suggest picking up the book Deep Learning with PyTorch, authored by Eli Stevens, Luca Antiga, and Thomas Viehmann.
- For a quick introduction to deep learning in PyTorch, refer to the course Learn PyTorch for Deep Learning.