A deep learning project that classifies dog breeds from images using TensorFlow and Keras.
The project follows a complete ML pipeline β from data preprocessing and augmentation to model training and evaluation.
- Build a convolutional neural network (CNN) for dog breed classification.
- Apply transfer learning with pre-trained models.
- Optimize model performance using callbacks and early stopping.
- Python, TensorFlow, Keras
- NumPy, Matplotlib, Seaborn
- Data Loading & Preprocessing
- Loaded images from directories
- Applied data augmentation
- Model Architecture
- Built CNN from scratch
- Integrated pre-trained MobileNetV2
- Model Training
- Compiled with Adam optimizer
- Trained with early stopping
- Model Evaluation
- Plotted training/validation curves
- Evaluated accuracy on test set
- Best Model: MobileNetV2 with fine-tuning
- Top Accuracy Achieved: ~90% (from notebook metrics)
- Key Influencing Features: Image resolution, augmentation techniques, transfer learning layers
- Transfer learning significantly improved accuracy.
- Data augmentation reduced overfitting.
- Fine-tuning pre-trained layers enhanced model generalization.
- Gained hands-on experience with deep learning and transfer learning.
- Improved skills in image data preprocessing and augmentation.
- Learned to build and fine-tune CNNs for image classification tasks.
- Clone the repository:
git clone https://github.com/Aksachlisimo/dog_vision_project - Install dependencies:
pip install -r requirements.txt(create if not present: tensorflow, numpy, matplotlib, seaborn) - Open the notebook in Jupyter and run all cells.
- Mohamed Mouhimine
- AI & Machine Learning Engineer