File size: 2,695 Bytes
2987148
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
# 🐢 Dog Breed Classification Desktop App

This is a standalone desktop application built using **Tkinter** and **TensorFlow**, capable of identifying dog breeds from images. The app uses a trained `.h5` deep learning model and supports creating `.exe` and `.msi` installers via **cx_Freeze** or **PyInstaller**.



---



## πŸš€ Features



- βœ… Offline desktop app (no Python installation required)

- πŸ–ΌοΈ Upload any dog image (JPG, PNG, JPEG)

- πŸ” Predicts dog breed with confidence score

- πŸ“‚ Simple folder structure and user-friendly GUI

- πŸ› οΈ Create `.exe` or `.msi` installers with `cx_Freeze`

- ⚠️ Error handling for missing models or files



---



## 🧠 Model Info



- Trained on **31 dog breeds** including:
```



Akita Inu, German Shepherd, Labrador Retriever, Poodle, Pug, Golden Retriever,

Siberian Husky, Bulldog, Saint Bernard, Rottweiler, and more.



```
- Input Image Size: **224 x 224**
- Format: `dog_breed_classifier.h5` (Keras model)

---

## πŸ“ Folder Structure

```



DogBreedApp/

β”‚

β”œβ”€β”€ app.py                  # Main GUI application file

β”œβ”€β”€ dog\_breed\_classifier.h5 # Trained TensorFlow model

β”œβ”€β”€ class\_indices.json      # Label-to-classname mapping

β”œβ”€β”€ setup.py                # cx\_Freeze build script

β”œβ”€β”€ dog.ico                 # (optional) Icon file



````

---

## πŸ›  Requirements

Install these Python packages:

```bash

pip install -r requirements.txt

````

**requirements.txt**

```txt

tensorflow

numpy

pillow

cx-Freeze

```

---

## πŸ–₯️ Running the App

```bash

python app.py

```

---

## πŸ“¦ Creating Executable (.exe or .msi)

### βœ… Using cx\_Freeze



1. Create `setup.py`

2. Build:



```bash

python setup.py build

```



3. For MSI Installer:



```bash

python setup.py bdist_msi
```



This generates:



* `.exe` in `build/`

* `.msi` installer in `dist/`



---



## 🧊 Packaging Notes



* Use `resource_path()` for model/JSON so PyInstaller or cx\_Freeze can bundle files.

* Include `.h5` and `.json` in `include_files` in `setup.py`.

* Works without requiring Python installation.



---



## πŸ“Έ Screenshots



![Upload and Detect](screenshots/ui1.png)

![Prediction Result](screenshots/ui2.png)



---



## πŸ“œ License



This project is open-source and available for educational and personal use.



---



## πŸ‘¨β€πŸ’» Author



Developed by **Jayasimma D**



```

---

### βœ… Bonus Tips:
- Save it as `README.md` in your root folder.
- Add screenshots to a `/screenshots` folder if you plan to upload this to GitHub or Share.
- Replace `[Your Name]` with your actual name or GitHub username.