huzey commited on
Commit
9cd819b
1 Parent(s): e06cf43
Files changed (1) hide show
  1. app.py +16 -10
app.py CHANGED
@@ -77,6 +77,14 @@ def to_pil_images(images):
77
  for image in images
78
  ]
79
 
 
 
 
 
 
 
 
 
80
  @spaces.GPU(duration=30)
81
  def main_fn(
82
  images,
@@ -94,6 +102,9 @@ def main_fn(
94
  n_neighbors=500,
95
  min_dist=0.1,
96
  ):
 
 
 
97
  if perplexity >= num_sample_tsne or n_neighbors >= num_sample_tsne:
98
  # raise gr.Error("Perplexity must be less than the number of samples for t-SNE.")
99
  gr.Warning("Perplexity/n_neighbors must be less than the number of samples.\n" f"Setting to {num_sample_tsne-1}.")
@@ -125,13 +136,8 @@ def main_fn(
125
  min_dist=min_dist,
126
  )
127
  rgb = dont_use_too_much_green(rgb)
128
- return to_pil_images(rgb)
129
-
130
- default_images = ['./images/image_0.jpg', './images/image_1.jpg', './images/image_2.jpg', './images/image_3.jpg', './images/image_5.jpg']
131
- default_outputs = ['./images/ncut_0.jpg', './images/ncut_1.jpg', './images/ncut_2.jpg', './images/ncut_3.jpg', './images/ncut_5.jpg']
132
 
133
- downscaled_images = ['./images/image_0_small.jpg', './images/image_1_small.jpg', './images/image_2_small.jpg', './images/image_3_small.jpg', './images/image_5_small.jpg']
134
- downscaled_outputs = ['./images/ncut_0_small.jpg', './images/ncut_1_small.jpg', './images/ncut_2_small.jpg', './images/ncut_3_small.jpg', './images/ncut_5_small.jpg']
135
 
136
  with gr.Blocks() as demo:
137
 
@@ -144,7 +150,7 @@ with gr.Blocks() as demo:
144
 
145
  gr.Markdown('### Load Examples 👇')
146
  load_images_button = gr.Button("Load", elem_id="load-images-button")
147
- gr.Gallery(value=downscaled_images[:3] + downscaled_outputs[:3], label="Example Set A", show_label=False, columns=[3], rows=[2], object_fit="scale-down", height="200px", show_share_button=False)
148
 
149
  with gr.Column(scale=5, min_width=200):
150
  gr.Markdown('### Output Images')
@@ -166,12 +172,12 @@ with gr.Blocks() as demo:
166
  min_dist_slider = gr.Slider(0.1, 1, step=0.1, label="min_dist (UMAP)", value=0.1, elem_id="min_dist")
167
 
168
  def load_default_images():
169
- return default_images, default_outputs
170
 
171
  def empty_input_and_output():
172
  return [], []
173
 
174
- load_images_button.click(load_default_images, outputs=[input_gallery, output_gallery])
175
  clear_images_button.click(empty_input_and_output, outputs=[input_gallery, output_gallery])
176
  submit_button.click(
177
  main_fn,
@@ -181,7 +187,7 @@ with gr.Blocks() as demo:
181
  embedding_method_dropdown, num_sample_tsne_slider, knn_tsne_slider,
182
  perplexity_slider, n_neighbors_slider, min_dist_slider
183
  ],
184
- outputs=output_gallery
185
  )
186
 
187
 
 
77
  for image in images
78
  ]
79
 
80
+ default_images = ['./images/image_0.jpg', './images/image_1.jpg', './images/image_2.jpg', './images/image_3.jpg', './images/image_5.jpg']
81
+ default_outputs = ['./images/ncut_0.jpg', './images/ncut_1.jpg', './images/ncut_2.jpg', './images/ncut_3.jpg', './images/ncut_5.jpg']
82
+
83
+ downscaled_images = ['./images/image_0_small.jpg', './images/image_1_small.jpg', './images/image_2_small.jpg', './images/image_3_small.jpg', './images/image_5_small.jpg']
84
+ downscaled_outputs = ['./images/ncut_0_small.jpg', './images/ncut_1_small.jpg', './images/ncut_2_small.jpg', './images/ncut_3_small.jpg', './images/ncut_5_small.jpg']
85
+
86
+ example_items = downscaled_images[:3] + downscaled_outputs[:3]
87
+
88
  @spaces.GPU(duration=30)
89
  def main_fn(
90
  images,
 
102
  n_neighbors=500,
103
  min_dist=0.1,
104
  ):
105
+ if len(images) == 0:
106
+ return [], example_items
107
+
108
  if perplexity >= num_sample_tsne or n_neighbors >= num_sample_tsne:
109
  # raise gr.Error("Perplexity must be less than the number of samples for t-SNE.")
110
  gr.Warning("Perplexity/n_neighbors must be less than the number of samples.\n" f"Setting to {num_sample_tsne-1}.")
 
136
  min_dist=min_dist,
137
  )
138
  rgb = dont_use_too_much_green(rgb)
139
+ return to_pil_images(rgb), []
 
 
 
140
 
 
 
141
 
142
  with gr.Blocks() as demo:
143
 
 
150
 
151
  gr.Markdown('### Load Examples 👇')
152
  load_images_button = gr.Button("Load", elem_id="load-images-button")
153
+ example_gallery = gr.Gallery(value=example_items, label="Example Set A", show_label=False, columns=[3], rows=[2], object_fit="scale-down", height="200px", show_share_button=False)
154
 
155
  with gr.Column(scale=5, min_width=200):
156
  gr.Markdown('### Output Images')
 
172
  min_dist_slider = gr.Slider(0.1, 1, step=0.1, label="min_dist (UMAP)", value=0.1, elem_id="min_dist")
173
 
174
  def load_default_images():
175
+ return default_images, default_outputs, []
176
 
177
  def empty_input_and_output():
178
  return [], []
179
 
180
+ load_images_button.click(load_default_images, outputs=[input_gallery, output_gallery, example_gallery])
181
  clear_images_button.click(empty_input_and_output, outputs=[input_gallery, output_gallery])
182
  submit_button.click(
183
  main_fn,
 
187
  embedding_method_dropdown, num_sample_tsne_slider, knn_tsne_slider,
188
  perplexity_slider, n_neighbors_slider, min_dist_slider
189
  ],
190
+ outputs=[output_gallery, example_gallery]
191
  )
192
 
193