Spaces:
Sleeping
Sleeping
Commit
·
b33d076
1
Parent(s):
195fe71
- app.py +45 -1
- sample_dataset/Alien/94.jpg +0 -0
- sample_dataset/Alien/95.jpg +0 -0
- sample_dataset/Alien/96.jpg +0 -0
- sample_dataset/Alien/alien_1.jpg +0 -0
- sample_dataset/Alien/alien_2.jpg +0 -0
- sample_dataset/Alien/alien_3.jpg +0 -0
- sample_dataset/HUMAN/human_1.jpg +0 -0
- sample_dataset/HUMAN/human_2.jpg +0 -0
- sample_dataset/HUMAN/human_3.jpg +0 -0
- sample_dataset/HUMAN/tamil-woman-close-up-of-happy-face-ECNPHF.jpg +0 -0
- sample_dataset/HUMAN/ung-cheerful-beautiful-girl-long-hair-casual-shirt-smiling-looking-172927805.jpg +0 -0
- sample_dataset/HUMAN/vladimir-putin-smiling-face-png-11646750895sk2xyu6id1.png +0 -0
- sample_dataset/HUMAN/web3-happy-people-outside-smile-sun-nature-eduardo-dutra-620857-unsplash.jpg +0 -0
app.py
CHANGED
@@ -4,6 +4,8 @@ import os
|
|
4 |
import json
|
5 |
import numpy as np
|
6 |
import pickle
|
|
|
|
|
7 |
from sklearn.ensemble import RandomForestClassifier
|
8 |
from sklearn.model_selection import train_test_split
|
9 |
from sklearn.metrics import accuracy_score
|
@@ -78,6 +80,35 @@ def classify_image(file_path):
|
|
78 |
else:
|
79 |
return "Invalid Image"
|
80 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
81 |
# Streamlit app
|
82 |
def main():
|
83 |
st.title("Human or Alien Identification")
|
@@ -88,10 +119,11 @@ def main():
|
|
88 |
|
89 |
- **Identify Image:** Upload an image and classify it as "Human" or "Alien." The classifications you save will be added to the training data.
|
90 |
- **Train Model:** Review and manage the images already classified as "Human" or "Alien." Upload additional images to improve the training dataset.
|
|
|
91 |
"""
|
92 |
)
|
93 |
|
94 |
-
tab1, tab2 = st.tabs(["Identify Image", "Train Model"])
|
95 |
|
96 |
with tab1:
|
97 |
st.header("Identify Image")
|
@@ -194,5 +226,17 @@ def main():
|
|
194 |
else:
|
195 |
st.warning("No alien images found for training.")
|
196 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
197 |
if __name__ == "__main__":
|
198 |
main()
|
|
|
4 |
import json
|
5 |
import numpy as np
|
6 |
import pickle
|
7 |
+
import zipfile
|
8 |
+
from io import BytesIO
|
9 |
from sklearn.ensemble import RandomForestClassifier
|
10 |
from sklearn.model_selection import train_test_split
|
11 |
from sklearn.metrics import accuracy_score
|
|
|
80 |
else:
|
81 |
return "Invalid Image"
|
82 |
|
83 |
+
# Create a sample dataset for download
|
84 |
+
def create_sample_dataset():
|
85 |
+
sample_dir = "sample_dataset"
|
86 |
+
os.makedirs(sample_dir, exist_ok=True)
|
87 |
+
|
88 |
+
# Create Human and Alien directories
|
89 |
+
human_dir = os.path.join(sample_dir, "Human")
|
90 |
+
alien_dir = os.path.join(sample_dir, "Alien")
|
91 |
+
os.makedirs(human_dir, exist_ok=True)
|
92 |
+
os.makedirs(alien_dir, exist_ok=True)
|
93 |
+
|
94 |
+
# Add placeholder images (replace with real images in a practical application)
|
95 |
+
for i in range(1, 4):
|
96 |
+
human_image_path = os.path.join(human_dir, f"human_{i}.jpg")
|
97 |
+
alien_image_path = os.path.join(alien_dir, f"alien_{i}.jpg")
|
98 |
+
Image.new('RGB', (64, 64), color=(255, 0, 0)).save(human_image_path)
|
99 |
+
Image.new('RGB', (64, 64), color=(0, 255, 0)).save(alien_image_path)
|
100 |
+
|
101 |
+
# Create a ZIP file for download
|
102 |
+
zip_buffer = BytesIO()
|
103 |
+
with zipfile.ZipFile(zip_buffer, "w") as zip_file:
|
104 |
+
for folder_name, subfolders, filenames in os.walk(sample_dir):
|
105 |
+
for filename in filenames:
|
106 |
+
file_path = os.path.join(folder_name, filename)
|
107 |
+
arcname = os.path.relpath(file_path, sample_dir)
|
108 |
+
zip_file.write(file_path, arcname)
|
109 |
+
|
110 |
+
return zip_buffer.getvalue()
|
111 |
+
|
112 |
# Streamlit app
|
113 |
def main():
|
114 |
st.title("Human or Alien Identification")
|
|
|
119 |
|
120 |
- **Identify Image:** Upload an image and classify it as "Human" or "Alien." The classifications you save will be added to the training data.
|
121 |
- **Train Model:** Review and manage the images already classified as "Human" or "Alien." Upload additional images to improve the training dataset.
|
122 |
+
- **Download Sample Dataset:** Download a pre-structured dataset to use for training and classification.
|
123 |
"""
|
124 |
)
|
125 |
|
126 |
+
tab1, tab2, tab3 = st.tabs(["Identify Image", "Train Model", "Download Sample Dataset"])
|
127 |
|
128 |
with tab1:
|
129 |
st.header("Identify Image")
|
|
|
226 |
else:
|
227 |
st.warning("No alien images found for training.")
|
228 |
|
229 |
+
with tab3:
|
230 |
+
st.header("Download Sample Dataset")
|
231 |
+
|
232 |
+
if st.button("Download Sample Dataset"):
|
233 |
+
sample_dataset = create_sample_dataset()
|
234 |
+
st.download_button(
|
235 |
+
label="Click to Download",
|
236 |
+
data=sample_dataset,
|
237 |
+
file_name="sample_dataset.zip",
|
238 |
+
mime="application/zip"
|
239 |
+
)
|
240 |
+
|
241 |
if __name__ == "__main__":
|
242 |
main()
|
sample_dataset/Alien/94.jpg
ADDED
![]() |
sample_dataset/Alien/95.jpg
ADDED
![]() |
sample_dataset/Alien/96.jpg
ADDED
![]() |
sample_dataset/Alien/alien_1.jpg
ADDED
![]() |
sample_dataset/Alien/alien_2.jpg
ADDED
![]() |
sample_dataset/Alien/alien_3.jpg
ADDED
![]() |
sample_dataset/HUMAN/human_1.jpg
ADDED
![]() |
sample_dataset/HUMAN/human_2.jpg
ADDED
![]() |
sample_dataset/HUMAN/human_3.jpg
ADDED
![]() |
sample_dataset/HUMAN/tamil-woman-close-up-of-happy-face-ECNPHF.jpg
ADDED
![]() |
sample_dataset/HUMAN/ung-cheerful-beautiful-girl-long-hair-casual-shirt-smiling-looking-172927805.jpg
ADDED
![]() |
sample_dataset/HUMAN/vladimir-putin-smiling-face-png-11646750895sk2xyu6id1.png
ADDED
![]() |
sample_dataset/HUMAN/web3-happy-people-outside-smile-sun-nature-eduardo-dutra-620857-unsplash.jpg
ADDED
![]() |