Welcome to another module on the AI Program! In this module, we dive into the world of Convolutional Neural Networks (CNNs). This lesson is crafted to help you explore one of the most impactful neural networks in computer vision: the CNN. You'll engage with both the theory and practical aspects, ensuring a hands-on learning experience.
- Week 1: Introduction to Neural Networks and Deep Learning
- Week 2: Deep Learning with PyTorch, TensorFlow, and Keras
- Week 3: Introduction to Image Classification using CNNs
- Week 4: Introduction to Object Detection and Segmentation
- Week 5: Fine Tuning, & Advanced Image Processing with C++, OpenCV and Scikit-Image
This lesson focuses on understanding the architecture of CNNs, how they extract features from images, and how different hyperparameters affect model performance. You will have opportunities to experiment and adjust the architecture to gain insights into CNNs' operation.
By the end of this lesson, you will be able to:
- Understand the architecture of Convolutional Neural Networks (CNNs) and how they are used in image classification.
- Experiment with hyperparameters such as kernel size, padding, and stride to see their impact on CNN performance.
- Build and train CNNs using PyTorch for image classification tasks.
- Apply convolutional layers, pooling, and fully connected layers to create models that can effectively classify images.
- Convolutional Layers: Learn how they detect patterns and features in images.
- Filters and Pooling: Understand the role of filters and how pooling layers help reduce dimensionality.
- CNN Hyperparameters: Experiment with kernel sizes, strides, padding, and observe their effects on CNN performance.
- Building CNNs in PyTorch: Discover how to construct and train CNN models for image classification tasks.
-
introduction_cnn_pytorch.ipynb
: The main lesson notebook where you will dive into CNN theory and implementation.widget.py
: A small widget used in the notebook to experiment with CNN hyperparameters (filter size, padding, stride).
-
labs/
: Includes the following labs for further exploration:- lab-ai-experimenting-with-cnn: Linked directly to the concepts in
introduction_cnn_pytorch.ipynb
. - Each lab includes its own README with instructions for implementation and experimentation.
- lab-ai-experimenting-with-cnn: Linked directly to the concepts in
-
Happy coding! 💻