ElioBaserga commited on
Commit
8885656
·
verified ·
1 Parent(s): 7633a96

add app.py and requirements.txt

Browse files
Files changed (2) hide show
  1. app.py +42 -0
  2. requirements.txt +2 -0
app.py ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ from transformers import pipeline
3
+
4
+ # Load models
5
+ vit_classifier = pipeline("image-classification", model="ElioBaserga/vit-base-oxford-iiit-pets")
6
+ clip_detector = pipeline(model="openai/clip-vit-large-patch14", task="zero-shot-image-classification")
7
+
8
+ labels_oxford_pets = [
9
+ 'Siamese', 'Birman', 'shiba inu', 'staffordshire bull terrier', 'basset hound', 'Bombay', 'japanese chin',
10
+ 'chihuahua', 'german shorthaired', 'pomeranian', 'beagle', 'english cocker spaniel', 'american pit bull terrier',
11
+ 'Ragdoll', 'Persian', 'Egyptian Mau', 'miniature pinscher', 'Sphynx', 'Maine Coon', 'keeshond', 'yorkshire terrier',
12
+ 'havanese', 'leonberger', 'wheaten terrier', 'american bulldog', 'english setter', 'boxer', 'newfoundland', 'Bengal',
13
+ 'samoyed', 'British Shorthair', 'great pyrenees', 'Abyssinian', 'pug', 'saint bernard', 'Russian Blue', 'scottish terrier'
14
+ ]
15
+
16
+ def classify_pet(image):
17
+ vit_results = vit_classifier(image)
18
+ vit_output = {result['label']: result['score'] for result in vit_results}
19
+
20
+ clip_results = clip_detector(image, candidate_labels=labels_oxford_pets)
21
+ clip_output = {result['label']: result['score'] for result in clip_results}
22
+
23
+ return {"ViT Classification": vit_output, "CLIP Zero-Shot Classification": clip_output}
24
+
25
+ example_images = [
26
+ ["example_images/dog1.jpeg"],
27
+ ["example_images/dog2.jpeg"],
28
+ ["example_images/leonberger.jpg"],
29
+ ["example_images/snow_leopard.jpeg"],
30
+ ["example_images/cat.jpg"]
31
+ ]
32
+
33
+ iface = gr.Interface(
34
+ fn=classify_pet,
35
+ inputs=gr.Image(type="filepath"),
36
+ outputs=gr.JSON(),
37
+ title="Pet Classification Comparison",
38
+ description="Upload an image of a pet, and compare results from a trained ViT model and a zero-shot CLIP model.",
39
+ examples=example_images
40
+ )
41
+
42
+ iface.launch()
requirements.txt ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ transformers
2
+ torch