
Dataset Source and Attribution
This course uses the Rock Paper Scissors dataset made available on Kaggle by S. Kamal. The original dataset was created by Laurence Moroney and is available from his dataset page.
The original images are licensed under the Creative Commons Attribution 2.0 license, which permits sharing and adaptation, including commercial use, with appropriate attribution. The files may be organized into training, validation, and test folders for the course workflow, but the original images are not modified unless otherwise noted.
Credit: Laurence Moroney, laurencemoroney.com. This course is not affiliated with or endorsed by Laurence Moroney, Kaggle, or the Kaggle dataset uploader.
Dataset Source and Attribution
This course uses the Intel Image Classification dataset, made available on Kaggle by Puneet6060 and originally published for an Intel image classification challenge hosted by Analytics Vidhya.
Kaggle identifies the data files as copyrighted by their original authors. The dataset files are not redistributed with this course. Students download them directly from the Kaggle listing and should follow the terms provided there.
A limited number of sample images are displayed only when needed for educational demonstration, model evaluation, and error analysis. This course is not affiliated with or endorsed by Intel, Analytics Vidhya, Kaggle, or the dataset uploader.
Build your first computer vision model. Then learn how to make it better.
Turn your Python skills into working image classification projects with PyTorch. Learn how to train a neural network, understand its predictions, and make informed decisions about what to improve next.
Whether you are building your first model or have already followed a few tutorials, this course gives you a connected path through the complete workflow: prepare your images, build a model, train it, evaluate its performance, and experiment with improvements.
See your first classifier in action early in the course
You will begin with a guided Rock-Paper-Scissors project, using a provided notebook to see how the pieces fit together. You can follow the complete process before learning every implementation detail.
From there, we will explore how neural networks learn and connect those ideas to practical PyTorch code. You will develop an intuitive understanding of predictions, loss, backpropagation, and parameter updates, then see how convolutional neural networks work with images.
Build one project and improve it step by step
The main project uses the Intel Image Classification dataset to recognize six types of scenes, including buildings, forests, and mountains.
You will start with a simple CNN and follow its development across several modules. As you add new techniques, you will compare results and investigate what changed.
Along the way, you will learn to:
Prepare image datasets, transformations, and data loaders.
Build and train a convolutional neural network in PyTorch.
Use training, validation, and test sets for their different purposes.
Interpret learning curves, classification metrics, and confusion matrices.
Apply transfer learning with a pretrained ResNet-18.
Fine-tune selected layers to adapt the model to your task.
Use data augmentation, dropout, and weight decay to address overfitting.
Compare models, save checkpoints, and make predictions on your own images.
Understand what your results are telling you
A model can perform well during training and still struggle with new images. It can also achieve a promising overall score while repeatedly confusing particular categories.
You will learn how to recognize these patterns and use them to guide your next experiment. The emphasis is on understanding your results, comparing approaches, and explaining the decisions you make.
Bring everything together in a final capstone
Return to Rock-Paper-Scissors with a stronger set of skills. Establish a baseline, apply transfer learning and selective fine-tuning, compare the final models, and examine their mistakes.
The capstone gives you room to make your own implementation decisions, with hints and a completed solution available when you need support. The solution includes reference results so you can compare your approach and interpretation.
Learn with clear explanations and practical resources
The course includes guided video lessons, downloadable Jupyter notebooks, practice tasks, and completed solutions. Setup guidance helps you prepare your environment, and a Jupyter Notebook introduction is included if you are new to it.
I am Ackley Will, a university computing professor with more than 12 years of teaching experience and research experience in computer vision and deep learning. My goal is to help you understand the ideas, connect them to code, and build the confidence to experiment.
You need basic Python knowledge, including variables, loops, and functions. No previous experience with PyTorch or computer vision is required.
Join me and build a practical workflow you can adapt to your own image classification projects.