ArdaKaymaz / Cat_Dog_Classifier_App

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Cat-Dog Classifier App

meow_or_woof

Project Summary: Cat and Dog Image Classification

App Link

This project focuses on developing an image classification system to distinguish between images of cats and dogs. The workflow involves image preprocessing, model training, and creating app with the best model.

Image Preprocessing: To handle the dataset efficiently, the ImageDataGenerator and flow_from_directory functions were utilized for preprocessing and loading the images, reducing computational strain.

Model Selection and Fine-tuning: Transfer learning was employed with MobileNet, VGG16 and ResNet50 pre-trained models as the base architecture. Fine-tuning was performed using the dataset to enhance performance on the specific task.

Experiment Tracking with MLflow: MLflow was employed to monitor the training process, log metrics, and register the best-performing models, enabling efficient experiment management.

mlflow_models

Model Evaluation: Various performance metrics were used for model evaluation. According to these metrics, VGG16 was chosen for its accuracy on validation data, model size, and prediction duration. While the training duration of VGG16 was the highest among all the models, its advantages are promising in the long run.

Model Deployment: All the three models were registered to an MLflow server, allowing access via an endpoint. The best model, VGG16, was chosen for production stage and integrated to Streamlit application.

Model predictions

This structured approach enabled the development of a robust image classification system for distinguishing between cats and dogs, with the ability to track experiments, deploy models, and make predictions in real-world scenarios.

About


Languages

Language:Jupyter Notebook 99.9%Language:Python 0.1%