File size: 3,589 Bytes
cf48454
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
132
133
134
---

title: ACCEPTIN - Telecom Site Quality Classification
emoji: πŸ“‘
colorFrom: blue
colorTo: purple
sdk: streamlit
sdk_version: 1.31.0
app_file: app.py
pinned: false
license: mit
---


# πŸ“‘ ACCEPTIN - Telecom Site Quality Classification

AI-powered telecom site inspection using ConvNeXt transfer learning.

---

## πŸš€ Deploying ACCEPTIN on Hugging Face Spaces

### 1. Prepare Your Project Directory

Ensure your project has the following structure:
```

ACCEPTIN/

β”œβ”€β”€ app.py

β”œβ”€β”€ requirements.txt

β”œβ”€β”€ README.md

β”œβ”€β”€ models/

β”‚   └── telecom_classifier.pth

β”œβ”€β”€ utils/

β”‚   β”œβ”€β”€ data_utils.py

β”‚   └── model_utils.py

└── ... (other files)

```

### 2. Create a New Space on Hugging Face
1. Go to [Hugging Face Spaces](https://huggingface.co/spaces).
2. Click **Create new Space**.
3. Fill in:
   - **Space name**: acceptin (or your choice)
   - **SDK**: Streamlit
   - **Hardware**: CPU basic (free)
   - **Visibility**: Public or Private
4. Click **Create Space**.

### 3. Prepare Your Files
- **requirements.txt**: List all dependencies (see below for example).
- **README.md**: This file, with the YAML header above.
- **Model File**: Place `telecom_classifier.pth` in a `models/` folder. If >10MB, use Git LFS.

#### Example requirements.txt
```

streamlit==1.31.0

torch==2.2.0

torchvision==0.17.0

Pillow==10.2.0

numpy==1.26.0

timm==0.9.12

opencv-python-headless==4.8.1.78

plotly==5.18.0

pandas==2.2.0

scikit-learn==1.4.0

matplotlib==3.8.0

seaborn==0.13.0

tqdm==4.66.0

```

### 4. (If Needed) Set Up Git LFS for Large Files
If your model file is large:
```bash

git lfs install

git lfs track "*.pth"

git add .gitattributes

```

### 5. Upload Your Files to the Space
**A. Web Interface**
- Go to your Space on Hugging Face.
- Click the **Files** tab.
- Upload all files and folders (`app.py`, `requirements.txt`, `README.md`, `models/`, `utils/`, etc.).

**B. Git Method (Recommended)**
```bash

git clone https://huggingface.co/spaces/YOUR_USERNAME/acceptin

cd acceptin

# Copy your files into this directory

# If using Git LFS:

git lfs install

git lfs track "*.pth"

git add .gitattributes

git add .

git commit -m "Initial ACCEPTIN deployment"

git push

```

### 6. Wait for Build & Test
- Hugging Face will automatically build your Space.
- Wait for the build to finish (watch the logs for errors).
- Test your app in the browser.

### 7. Troubleshooting
- If you see errors, check the build logs.
- Make sure all dependencies are in `requirements.txt`.
- Ensure your model path in `app.py` matches the uploaded file location.

### 8. Share Your Space
- Once working, share your Space URL (e.g., `https://huggingface.co/spaces/YOUR_USERNAME/acceptin`).

---

## πŸ—οΈ Technical Overview
- **Model**: ConvNeXt Large (197M parameters, transfer learning from food detection)
- **Task**: Binary classification (good/bad telecom site)
- **App**: Streamlit web interface
- **Data**: Images of telecom sites, labeled as good or bad
- **Deployment**: Hugging Face Spaces (Streamlit SDK)

## πŸ“‹ Features
- Upload telecom site images for instant quality assessment
- Visual confidence scores and inspection breakdown
- Modern, responsive UI

## πŸ“Š Model Performance
- **Validation Accuracy**: ~94%
- **Model Size**: ~750MB

## πŸ“š Data Requirements
- Images of telecom sites (good/bad)
- Recommended: 100+ images per class

---

**For more details, see the in-app documentation or contact the author.**