{"id":30848355,"url":"https://github.com/dianac01/cat-vs-dog-classifier","last_synced_at":"2026-05-05T17:33:10.765Z","repository":{"id":311308402,"uuid":"1043285525","full_name":"DianaC01/cat-vs-dog-classifier","owner":"DianaC01","description":"Image classifier for cats vs dogs using MobileNetV2 and TensorFlow/Keras","archived":false,"fork":false,"pushed_at":"2025-08-23T14:48:10.000Z","size":4596,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-07T03:13:10.936Z","etag":null,"topics":["cat-vs-dog","computer-vision","deep-learning","image-classification","keras","tensorflow"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DianaC01.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-08-23T14:32:12.000Z","updated_at":"2025-08-23T14:50:25.000Z","dependencies_parsed_at":"2025-08-24T06:36:33.540Z","dependency_job_id":"f8d0fc82-7ab5-4d4e-aec0-70c06d6d658c","html_url":"https://github.com/DianaC01/cat-vs-dog-classifier","commit_stats":null,"previous_names":["dianac01/cat-vs-dog-classifier"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/DianaC01/cat-vs-dog-classifier","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DianaC01%2Fcat-vs-dog-classifier","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DianaC01%2Fcat-vs-dog-classifier/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DianaC01%2Fcat-vs-dog-classifier/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DianaC01%2Fcat-vs-dog-classifier/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DianaC01","download_url":"https://codeload.github.com/DianaC01/cat-vs-dog-classifier/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DianaC01%2Fcat-vs-dog-classifier/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279049858,"owners_count":26093368,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-15T02:00:07.814Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cat-vs-dog","computer-vision","deep-learning","image-classification","keras","tensorflow"],"created_at":"2025-09-07T03:08:53.655Z","updated_at":"2025-10-15T04:32:16.062Z","avatar_url":"https://github.com/DianaC01.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Cat vs Dog Image Classifier 🐱🐶\n\nDeep learning project for **image classification (cat vs dog)** using **MobileNetV2** with transfer learning in TensorFlow/Keras.  \nThe model achieves high accuracy on the Kaggle Dogs vs Cats dataset and includes scripts for both training and testing on new images.\n\n## ✨ Features\n- Transfer learning with **MobileNetV2** (pre-trained on ImageNet)  \n- Automatic dataset extraction from `train.zip`  \n- Data augmentation (rotation, zoom, shift, shear, flip) for better generalization  \n- Evaluation with accuracy, precision, recall, F1-score  \n- Confusion matrix and training curves visualization  \n- Separate script for testing unseen images with probability outputs  \n\n## 📂 Project Structure\ncat-vs-dog-classifier/\n├─ src/\n│ ├─ train_model.py # training script (80/10/10 split)\n│ └─ test_model.py # test script for new images\n├─ results/ # generated plots and reports\n├─ docs/ # project presentation\n├─ models/ # saved models (ignored by Git)\n├─ data/ # put train.zip here (ignored by Git)\n├─ dataset/ # extracted dataset (ignored by Git)\n├─ requirements.txt\n└─ .gitignore\n\n\n## 📊 Dataset\n- Place the **`train.zip`** (from Kaggle Dogs vs Cats) inside the `data/` folder.  \n- The archive will be automatically extracted into `dataset/train/` when running the training script.  \n- Images are *not uploaded* to GitHub (they are ignored via `.gitignore`).  \n\n\n## ⚙️ Installation \u0026 Usage\n```bash\n# 1) (optional) create a virtual environment\npython -m venv .venv\n# Windows: .venv\\Scripts\\activate\n# Linux/Mac: source .venv/bin/activate\n\n# 2) install dependencies\npip install -r requirements.txt\n\n# 3) training (train.zip must be in data/)\npython src/train_model.py --zip_train data/train.zip --epochs 20\n\n# 4) testing on new images\npython src/test_model.py --images_folder \"C:/path/to/test_images\" --model_path models/model.h5\n\nIf models/model.h5 exceeds 100MB, use Git LFS or share the model externally (e.g., Google Drive):\ngit lfs install\ngit lfs track \"*.h5\"\ngit add .gitattributes\ngit add models/model.h5\ngit commit -m \"Track model via LFS\"\ngit push\n\n\nDuring training, results are saved automatically into results/:\n-training_curves.png\n-classification_report.txt\n-metrics_test.csv\n-confusion_matrix.png\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdianac01%2Fcat-vs-dog-classifier","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdianac01%2Fcat-vs-dog-classifier","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdianac01%2Fcat-vs-dog-classifier/lists"}