Spaces:
Runtime error
Runtime error
Commit
·
d458eaf
1
Parent(s):
e563082
app.py
Browse files
app.py
CHANGED
@@ -70,40 +70,40 @@ def dog_detector(img_path):
|
|
70 |
# Set PIL to be tolerant of image files that are truncated.
|
71 |
ImageFile.LOAD_TRUNCATED_IMAGES = True
|
72 |
|
73 |
-
train_dir = 'dogImages/train'
|
74 |
-
test_dir = 'dogImages/test'
|
75 |
-
valid_dir = 'dogImages/valid'
|
76 |
|
77 |
# Transforms for the training, validation, and testing sets
|
78 |
-
train_transforms = transforms.Compose([
|
79 |
-
transforms.RandomRotation(40),
|
80 |
-
transforms.RandomResizedCrop(224),
|
81 |
-
transforms.RandomHorizontalFlip(),
|
82 |
-
transforms.ToTensor(),
|
83 |
-
transforms.Normalize([0.485, 0.456, 0.406],
|
84 |
-
[0.229, 0.224, 0.225])
|
85 |
-
])
|
86 |
-
|
87 |
-
valid_transforms = transforms.Compose([transforms.Resize(224),
|
88 |
-
transforms.CenterCrop(224),
|
89 |
-
transforms.ToTensor(),
|
90 |
-
transforms.Normalize([0.485, 0.456, 0.406],
|
91 |
-
[0.229, 0.224, 0.225])])
|
92 |
-
test_transforms = transforms.Compose([transforms.Resize(224),
|
93 |
-
transforms.CenterCrop(224),
|
94 |
-
transforms.ToTensor(),
|
95 |
-
transforms.Normalize([0.485, 0.456, 0.406],
|
96 |
-
[0.229, 0.224, 0.225])])
|
97 |
|
98 |
# Dataloaders
|
99 |
-
train_folder = datasets.ImageFolder(train_dir, transform=train_transforms)
|
100 |
-
valid_folder = datasets.ImageFolder(valid_dir, transform=valid_transforms)
|
101 |
-
test_folder = datasets.ImageFolder(test_dir, transform=test_transforms)
|
102 |
|
103 |
# DataLoaders
|
104 |
-
train_dataloaders = torch.utils.data.DataLoader(train_folder, batch_size=65, shuffle=True)
|
105 |
-
valid_dataloaders = torch.utils.data.DataLoader(valid_folder, batch_size=35, shuffle=True)
|
106 |
-
test_dataloaders = torch.utils.data.DataLoader(test_folder, batch_size= 68, shuffle=True)
|
107 |
|
108 |
model = models.resnet152(pretrained=True)
|
109 |
|
@@ -184,6 +184,9 @@ def run_app(image_path):
|
|
184 |
else:
|
185 |
out_str = 'Error... No Dog or Human Face present!! Nothing Detected!!'
|
186 |
return out_str
|
|
|
|
|
|
|
187 |
|
188 |
demo = gr.Blocks()
|
189 |
|
@@ -198,15 +201,29 @@ with demo:
|
|
198 |
|
199 |
Else If uploaded image is of Human: it will give its resembling breed of dog
|
200 |
""")
|
|
|
|
|
|
|
|
|
|
|
|
|
201 |
|
202 |
-
inp = gr.Image(type='pil')
|
203 |
-
out1 = gr.Textbox()
|
204 |
# out2 = gr.Image(type="pil")
|
205 |
#out = gr.Gallery()
|
206 |
-
submit = gr.Button("Generate")
|
207 |
|
208 |
submit.click(fn=run_app,
|
209 |
inputs=inp,
|
210 |
-
outputs=
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
211 |
|
212 |
demo.launch(enable_queue=True, debug=True)
|
|
|
70 |
# Set PIL to be tolerant of image files that are truncated.
|
71 |
ImageFile.LOAD_TRUNCATED_IMAGES = True
|
72 |
|
73 |
+
#train_dir = 'dogImages/train'
|
74 |
+
#test_dir = 'dogImages/test'
|
75 |
+
#valid_dir = 'dogImages/valid'
|
76 |
|
77 |
# Transforms for the training, validation, and testing sets
|
78 |
+
#train_transforms = transforms.Compose([
|
79 |
+
# transforms.RandomRotation(40),
|
80 |
+
# transforms.RandomResizedCrop(224),
|
81 |
+
# transforms.RandomHorizontalFlip(),
|
82 |
+
# transforms.ToTensor(),
|
83 |
+
# transforms.Normalize([0.485, 0.456, 0.406],
|
84 |
+
# [0.229, 0.224, 0.225])
|
85 |
+
#])
|
86 |
+
|
87 |
+
#valid_transforms = transforms.Compose([transforms.Resize(224),
|
88 |
+
# transforms.CenterCrop(224),
|
89 |
+
# transforms.ToTensor(),
|
90 |
+
# transforms.Normalize([0.485, 0.456, 0.406],
|
91 |
+
# [0.229, 0.224, 0.225])])
|
92 |
+
#test_transforms = transforms.Compose([transforms.Resize(224),
|
93 |
+
# transforms.CenterCrop(224),
|
94 |
+
# transforms.ToTensor(),
|
95 |
+
# transforms.Normalize([0.485, 0.456, 0.406],
|
96 |
+
# [0.229, 0.224, 0.225])])
|
97 |
|
98 |
# Dataloaders
|
99 |
+
#train_folder = datasets.ImageFolder(train_dir, transform=train_transforms)
|
100 |
+
#valid_folder = datasets.ImageFolder(valid_dir, transform=valid_transforms)
|
101 |
+
#test_folder = datasets.ImageFolder(test_dir, transform=test_transforms)
|
102 |
|
103 |
# DataLoaders
|
104 |
+
#train_dataloaders = torch.utils.data.DataLoader(train_folder, batch_size=65, shuffle=True)
|
105 |
+
#valid_dataloaders = torch.utils.data.DataLoader(valid_folder, batch_size=35, shuffle=True)
|
106 |
+
#test_dataloaders = torch.utils.data.DataLoader(test_folder, batch_size= 68, shuffle=True)
|
107 |
|
108 |
model = models.resnet152(pretrained=True)
|
109 |
|
|
|
184 |
else:
|
185 |
out_str = 'Error... No Dog or Human Face present!! Nothing Detected!!'
|
186 |
return out_str
|
187 |
+
|
188 |
+
def set_example_image(example: list) -> dict:
|
189 |
+
return gr.Image.update(value=example[0])
|
190 |
|
191 |
demo = gr.Blocks()
|
192 |
|
|
|
201 |
|
202 |
Else If uploaded image is of Human: it will give its resembling breed of dog
|
203 |
""")
|
204 |
+
|
205 |
+
with gr.Row():
|
206 |
+
paths = sorted(pathlib.Path('images').glob('*.jpg'))
|
207 |
+
example_images = gr.Dataset(components=[input_image],
|
208 |
+
samples=[[path.as_posix()]
|
209 |
+
for path in paths])
|
210 |
|
211 |
+
inp = gr.Image(label='input image of dog/human', type='pil')
|
212 |
+
#out1 = gr.Textbox()
|
213 |
# out2 = gr.Image(type="pil")
|
214 |
#out = gr.Gallery()
|
215 |
+
submit = gr.Button("Generate Breed Name")
|
216 |
|
217 |
submit.click(fn=run_app,
|
218 |
inputs=inp,
|
219 |
+
outputs=gr.Textbox(label='breed'))
|
220 |
+
|
221 |
+
example_images.click(fn=set_example_image,
|
222 |
+
inputs=example_images,
|
223 |
+
outputs=example_images.components)
|
224 |
+
|
225 |
+
gr.Markdown(
|
226 |
+
'<center><img src="https://visitor-badge.glitch.me/badge?page_id=gradio-blocks.dog-breed-identification-app" alt="visitor badge"/></center>'
|
227 |
+
)
|
228 |
|
229 |
demo.launch(enable_queue=True, debug=True)
|