Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -22,6 +22,11 @@ split_dataset = dataset['train'].train_test_split(test_size=0.2, seed=42) # 80%
|
|
22 |
dataset['train'] = split_dataset['train']
|
23 |
dataset['test'] = split_dataset['test']
|
24 |
|
|
|
|
|
|
|
|
|
|
|
25 |
def create_url_from_title(title: str, timestamp: int):
|
26 |
video_urls = load_dataset("eybro/video_urls")
|
27 |
df = video_urls['train'].to_pandas()
|
@@ -90,7 +95,6 @@ def inference(image):
|
|
90 |
result_image = get_image(top4[0])
|
91 |
url = create_url_from_title(result_image['label'], result_image['timestamp'])
|
92 |
result = f"{result_image['label']} {result_image['timestamp']} \n{url}"
|
93 |
-
#result = f"[This is a link to the video]({url})"
|
94 |
|
95 |
n=2
|
96 |
plt.figure(figsize=(8, 8))
|
@@ -111,18 +115,46 @@ def inference(image):
|
|
111 |
ax.get_yaxis().set_visible(False)
|
112 |
|
113 |
return result
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
114 |
|
115 |
with gr.Blocks() as demo:
|
116 |
gr.Markdown(
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
with gr.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
124 |
out = gr.Markdown()
|
125 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
126 |
|
127 |
if __name__ == "__main__":
|
128 |
demo.launch()
|
|
|
22 |
dataset['train'] = split_dataset['train']
|
23 |
dataset['test'] = split_dataset['test']
|
24 |
|
25 |
+
# Example images
|
26 |
+
example_images = {
|
27 |
+
"Example 1": "examples/example_1.jpg",
|
28 |
+
}
|
29 |
+
|
30 |
def create_url_from_title(title: str, timestamp: int):
|
31 |
video_urls = load_dataset("eybro/video_urls")
|
32 |
df = video_urls['train'].to_pandas()
|
|
|
95 |
result_image = get_image(top4[0])
|
96 |
url = create_url_from_title(result_image['label'], result_image['timestamp'])
|
97 |
result = f"{result_image['label']} {result_image['timestamp']} \n{url}"
|
|
|
98 |
|
99 |
n=2
|
100 |
plt.figure(figsize=(8, 8))
|
|
|
115 |
ax.get_yaxis().set_visible(False)
|
116 |
|
117 |
return result
|
118 |
+
|
119 |
+
def load_example(example_name):
|
120 |
+
if example_name in example_images:
|
121 |
+
image_path = example_images[example_name]
|
122 |
+
image = Image.open(image_path)
|
123 |
+
return image
|
124 |
+
return None
|
125 |
|
126 |
with gr.Blocks() as demo:
|
127 |
gr.Markdown(
|
128 |
+
"""
|
129 |
+
# Image to Video App
|
130 |
+
Find your favorite Gordon Ramasay scene by uploading an image from the scene, the app will thereafter find a corresponding youtube video for that scene.
|
131 |
+
Or try one of our examples (unseen data for the model).
|
132 |
+
"""
|
133 |
+
)
|
134 |
+
with gr.Row():
|
135 |
+
with gr.Column():
|
136 |
+
inp_image = gr.Image(label="Upload Image")
|
137 |
+
with gr.Column():
|
138 |
+
example_selection = gr.Gallery(
|
139 |
+
value=list(example_images.values()),
|
140 |
+
label="Click an Example Image",
|
141 |
+
).style(grid=[1], height="auto")
|
142 |
+
|
143 |
+
with gr.Row():
|
144 |
out = gr.Markdown()
|
145 |
+
|
146 |
+
def handle_selection(user_image, selected_example):
|
147 |
+
if user_image is not None:
|
148 |
+
return inference(user_image)
|
149 |
+
elif selected_example is not None:
|
150 |
+
image = load_example(selected_example)
|
151 |
+
return inference(image)
|
152 |
+
else:
|
153 |
+
return "Please upload an image or select an example image."
|
154 |
+
|
155 |
+
inputs = [inp_image, example_selection]
|
156 |
+
outputs = out
|
157 |
+
example_selection.select(handle_selection, inputs, outputs)
|
158 |
|
159 |
if __name__ == "__main__":
|
160 |
demo.launch()
|