aps commited on
Commit
ed3c0bf
·
0 Parent(s):

init commit

Browse files
Files changed (8) hide show
  1. .gitattributes +30 -0
  2. .gitignore +2 -0
  3. README.md +11 -0
  4. app.py +35 -0
  5. dog.jpg +3 -0
  6. germany.jpg +3 -0
  7. requirements.txt +2 -0
  8. rocket.jpg +3 -0
.gitattributes ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bin.* filter=lfs diff=lfs merge=lfs -text
5
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.model filter=lfs diff=lfs merge=lfs -text
12
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
13
+ *.onnx filter=lfs diff=lfs merge=lfs -text
14
+ *.ot filter=lfs diff=lfs merge=lfs -text
15
+ *.parquet filter=lfs diff=lfs merge=lfs -text
16
+ *.pb filter=lfs diff=lfs merge=lfs -text
17
+ *.pt filter=lfs diff=lfs merge=lfs -text
18
+ *.pth filter=lfs diff=lfs merge=lfs -text
19
+ *.rar filter=lfs diff=lfs merge=lfs -text
20
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
21
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
22
+ *.tflite filter=lfs diff=lfs merge=lfs -text
23
+ *.tgz filter=lfs diff=lfs merge=lfs -text
24
+ *.xz filter=lfs diff=lfs merge=lfs -text
25
+ *.zip filter=lfs diff=lfs merge=lfs -text
26
+ *.zstandard filter=lfs diff=lfs merge=lfs -text
27
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
28
+ dog.jpg filter=lfs diff=lfs merge=lfs -text
29
+ germany.jpg filter=lfs diff=lfs merge=lfs -text
30
+ rocket.jpg filter=lfs diff=lfs merge=lfs -text
.gitignore ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ venv/
2
+ transformers/
README.md ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ title: FLAVA Zero Shot Image Classification
3
+ emoji: 💻
4
+ colorFrom: blue
5
+ colorTo: gray
6
+ sdk: gradio
7
+ app_file: app.py
8
+ pinned: false
9
+ ---
10
+
11
+ Check out the configuration reference at https://huggingface.co/docs/hub/spaces#reference
app.py ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ from transformers import FlavaModel, BertTokenizer, FlavaFeatureExtractor
3
+ import numpy as np
4
+ from PIL import Image
5
+ import torch
6
+
7
+
8
+ images="dog.jpg"
9
+ model = FlavaModel.from_pretrained("facebook/flava-full")
10
+ fe = FlavaFeatureExtractor.from_pretrained("facebook/flava-full")
11
+ tokenizer = BertTokenizer.from_pretrained("facebook/flava-full")
12
+
13
+ def shot(image, labels_text):
14
+ PIL_image = Image.fromarray(np.uint8(image)).convert('RGB')
15
+ labels = labels_text.split(",")
16
+ label_with_template = [f"This is a photo of a {label}" for label in labels]
17
+ image_input = fe([PIL_image], return_tensors="pt")
18
+ text_inputs = tokenizer(label_with_template, padding="max_length", return_tensors="pt")
19
+
20
+ image_embeddings = model.get_image_features(**image_input)[:, 0, :]
21
+ text_embeddings = model.get_text_features(**text_inputs)[:, 0, :]
22
+ similarities = list(torch.nn.functional.softmax((text_embeddings @ image_embeddings.T).squeeze(0), dim=0))
23
+ return {label: similarities[idx].item() for idx, label in enumerate(labels)}
24
+
25
+ iface = gr.Interface(shot,
26
+ ["image", "text"],
27
+ "label",
28
+ examples=[["dog.jpg", "dog,cat,bird"],
29
+ ["germany.jpg", "germany,belgium,colombia"],
30
+ ["rocket.jpg", "car,rocket,train"]
31
+ ],
32
+ description="Add a picture and a list of labels separated by commas",
33
+ title="FLAVA Zero-shot Image Classification")
34
+
35
+ iface.launch()
dog.jpg ADDED

Git LFS Details

  • SHA256: fd74da609925c348d16a1d5cfdd289f736ed20382ecccdc71195fb78d0c53d94
  • Pointer size: 130 Bytes
  • Size of remote file: 54.5 kB
germany.jpg ADDED

Git LFS Details

  • SHA256: 61ddcea0c3eb97c4511d4b0162e1b80ac7f05f5c1fba3ceb5a6fde7073066869
  • Pointer size: 130 Bytes
  • Size of remote file: 10.6 kB
requirements.txt ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ transformers
2
+ torch
rocket.jpg ADDED

Git LFS Details

  • SHA256: 160c61f4820aff99965bf024632136ee872f493ba33b642f29b6ca0ebdd186ca
  • Pointer size: 131 Bytes
  • Size of remote file: 941 kB