A beginner-friendly deep learning transfer learning course using PyTorch framework, perfect for getting started with computer vision.
This course teaches you transfer learning techniques from scratch through hands-on image classification projects using pre-trained models:
- Lesson 1: Environment Setup & Verification
- Lesson 2: Data Exploration & Analysis
- Lesson 3: ResNet18 Transfer Learning
- Lesson 4: ResNet50 Transfer Learning
- Lesson 5: EfficientNet-B0 Transfer Learning
- Lesson 6: EfficientNet-B3 Transfer Learning
- Lesson 7: MobileNet-V2 Transfer Learning
This course uses the Oxford Flowers-102 dataset for all transfer learning experiments:
- Total Images: 8,189 flower images
- Classes: 102 different flower categories
- Split:
- Training: ~1,020 images
- Validation: ~1,020 images
- Test: ~6,149 images
- Image Size: Variable (resized to 224×224 for training)
- Source: Oxford Visual Geometry Group
Sample Categories: Alpine Sea Holly, Anthurium, Bee Balm, Bird of Paradise, Bolero Deep Blue, Bougainvillea, Camellia, Canna Lily, Canterbury Bells, Carnation, and 92 more beautiful flower species.
Why Flowers-102?
- Perfect balance of complexity and manageability
- High-quality, diverse images
- Ideal for demonstrating transfer learning benefits
- Automatic download through torchvision
- Well-established benchmark dataset
- Double-click
start_notebook.bat - The script will automatically:
- Set up the Python environment (first time only)
- Install necessary packages
- Launch Jupyter Notebook in your browser
- Open terminal
- Run the startup script:
chmod +x start_notebook.sh # First time only ./start_notebook.sh
If you prefer manual control, you can use python setup.py to create the environment, and then activate it manually:
# Create env
python setup.py
# Activate (Windows)
transfer_learning_env\Scripts\activate
# Activate (Mac/Linux)
source transfer_learning_env/bin/activate
# Start Jupyter
jupyter notebook- Start with Lesson 1: Open
lessons/lesson1_environment_setup/setup_check.ipynbto verify your environment. - Follow the progression: Lessons 1-7 build upon each other.
- New to Notebooks?: See QUICKSTART.md.
transfer-learning-course/
├── start_notebook.bat # One-click launch for Windows
├── start_notebook.sh # One-click launch for Mac/Linux
├── setup.py # Environment setup script
├── requirements.txt # Package dependencies
├── lessons/
│ ├── lesson1_environment_setup/ # Environment verification
│ ├── lesson2_data_exploration/ # Data exploration
│ ├── lesson3_resnet18/ # ResNet18 hands-on
│ ├── lesson4_resnet50/ # ResNet50 hands-on
│ ├── lesson5_efficientnet_b0/ # EfficientNet-B0 hands-on
│ ├── lesson6_efficientnet_b3/ # EfficientNet-B3 hands-on
│ └── lesson7_mobilenet_v2/ # MobileNet-V2 hands-on
- Python: 3.8 or higher
- OS: Windows 10+, macOS 10.14+, Ubuntu 18.04+
- Memory: At least 4GB RAM (8GB recommended)
- Storage: At least 2GB free space
- GPU: Optional but recommended (CUDA-compatible)
By completing this course, you will learn:
- Understand transfer learning principles and applications
- Master PyTorch deep learning framework
- Use pre-trained models for image classification
- Compare different model architectures and performance
- Optimize training processes and hyperparameters
- Deploy and apply trained models
Expected performance on Flowers-102 dataset:
| Model | Parameters | Training Time | Accuracy |
|---|---|---|---|
| ResNet18 | 11.7M | ~20 min | ~85% |
| ResNet50 | 25.6M | ~35 min | ~88% |
| EfficientNet-B0 | 5.3M | ~25 min | ~90% |
| EfficientNet-B3 | 12.2M | ~40 min | ~92% |
| MobileNet-V2 | 3.5M | ~15 min | ~83% |
Performance may vary based on hardware and training settings
- Python Version: Ensure Python 3.8+
- Network Issues: Check internet connection
- Permission Issues: Run in administrator mode
- Reinstall: Delete
transfer_learning_envfolder and run setup again
- Ensure virtual environment is activated
- Run
jupyter --versionto check installation - Try
jupyter notebook --no-browserto start
- Use GPU: Install CUDA version of PyTorch
- Reduce batch size: If memory insufficient
- Use smaller models: Like MobileNet-V2
- Automatic dataset download: No manual data preparation needed
- Progress tracking: Real-time training monitoring
- Model comparison: Side-by-side architecture analysis
- Visualization tools: Training curves and predictions
- Export capabilities: Save and load trained models
📑 Documentation Index:
- DOCUMENTATION_INDEX.md - Complete documentation index
⚙️ Setup Guides:
- INSTALLATION_GUIDE.md - Installation Guide
- QUICKSTART.md - Quick Start Guide
- Issues: Submit on GitHub
- Discussions: Check course discussion board
- Documentation: Read detailed lesson instructions and tutorials above
Everything is ready! Open lessons/lesson1_environment_setup/setup_check.ipynb to begin your deep learning journey!
Happy Learning! 🚀
💡 Tip: Follow lessons in order, each includes detailed explanations and code examples.