Course: Data Science
University: University of Tehran
Instructors: Dr. Bahrak, Dr. Yaghoobzadeh
This project implements Convolutional Neural Networks (CNNs) for classifying images in the Flowers Multiclass Dataset. The assignment explores two main models:
- A VGG-style CNN model built from scratch.
- A fine-tuned pretrained ResNet50 model.
The implementation uses PyTorch and includes data loading, augmentation, training, evaluation, and visualization.
- Load and preprocess the flower dataset.
- Apply data augmentation to improve model generalization.
- Train a custom CNN and evaluate its performance.
- Fine-tune a pretrained ResNet50 model on the same dataset.
- Compare both models using:
- Accuracy
- Precision
- Recall
- F1-score
- AUC
- Dataset: Flowers Multiclass Dataset (Kaggle)
- Directory structure (pre-divided):
/train /validation /test
- PyTorch-based training and evaluation
- Google Colab compatible
- Supports GPU acceleration
- Model checkpoints and training plots
- Well-structured pipeline for reproducibility
- Clone the repository
- Upload the notebook to Google Colab
- Ensure you have access to Google Drive and the dataset is stored appropriately
- Run all cells in the notebook
- Trained VGG-style CNN model
- Trained ResNet50 model (fine-tuned)
- Performance metrics for both models
- Plots comparing accuracy and loss