| | --- |
| | language: en |
| | license: mit |
| | tags: |
| | - image-classification |
| | - tensorflow |
| | - CatsDogsClassification |
| | - image preprocessing |
| | - InceptionV3 |
| | inference: true |
| | datasets: |
| | - AIOmarRehan/Cats_and_Dogs |
| | --- |
| | |
| | # InceptionV3 Dogs vs Cats Classifier |
| |
|
| | This repository contains a **pre-trained TensorFlow/Keras model**: |
| |
|
| | - **File:** `InceptionV3_Dogs_and_Cats_Classification.h5` |
| | - **Purpose:** Binary classification of cats vs dogs images |
| |
|
| | --- |
| |
|
| | ## Model Details |
| |
|
| | - **Architecture:** Transfer Learning using **InceptionV3** (pre-trained on ImageNet) |
| | - **Custom Classification Head:** |
| | - Global Average Pooling |
| | - Dense layer (512 neurons, ReLU) |
| | - Dropout (0.5) |
| | - Dense layer with **Sigmoid** activation for binary classification |
| |
|
| | - **Input:** Images resized to **256 × 256** pixels |
| | - **Output:** Probability of "Dog" class (values close to 1 indicate dog, close to 0 indicate cat) |
| |
|
| | --- |
| |
|
| | ## Performance |
| |
|
| | - **Test Accuracy:** ~99% |
| | - Confusion matrix and ROC curves indicate excellent classification performance |
| | - Achieves near-perfect AUC (~1.0) on the test set |
| |
|
| | --- |
| |
|
| | ## Usage Example |
| |
|
| | ```python |
| | from tensorflow.keras.models import load_model |
| | from PIL import Image |
| | import numpy as np |
| | |
| | # Load the model |
| | model = load_model("InceptionV3_Dogs_and_Cats_Classification.h5") |
| | |
| | # Preprocess an image |
| | img = Image.open("cat_or_dog.jpg").resize((256, 256)) |
| | img_array = np.expand_dims(np.array(img)/255.0, axis=0) |
| | |
| | # Predict |
| | prediction = model.predict(img_array) |
| | print("Dog" if prediction[0][0] > 0.5 else "Cat") |