This project demonstrates image classification using deep learning techniques, specifically transfer learning with the ResNet50 model, and monitoring model progress using GradCAM visualization. The goal is to classify images into two classes using a binary classification approach.
- Python 3.x
- TensorFlow 2.x
- Keras
- NumPy
- OpenCV
- Matplotlib
- Jupyter Notebook (for interactive visualization)
- Run the Jupyter Notebook or Python script for model training (train_model.ipynb or train_model.py).
- Adjust hyperparameters, data augmentation techniques, and model architecture as needed.
- Use the GRADCamLogger callback during model training to visualize model progress using GradCAM.
- After initial training with frozen layers, fine-tune the model by allowing all layers to be trainable.
- Evaluated the trained model using test data to assess its performance metrics such as accuracy, precision and recall.
- The trained model achieves competitive accuracy and performance metrics on the validation dataset.
- GradCAM visualization helps understand the model's attention areas and aids in model interpretation.