Gosula commited on
Commit
fa249b8
1 Parent(s): 9c7b15b

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +21 -18
app.py CHANGED
@@ -66,6 +66,7 @@ def show_gradcam_images(n, a, b):
66
  images_with_gradcam = []
67
  for image_path, label in images:
68
  image = Image.open(image_path)
 
69
  image_array = np.asarray(image)
70
  visualization = inference(image_array, "Yes", a, b)[-1]
71
  images_with_gradcam.append((visualization, label))
@@ -140,55 +141,56 @@ def change_mygrad_view(choice):
140
  return grad_or_not.update(visible=False)
141
 
142
 
143
- with gr.Blocks(theme='abidlabs/dracula_revamped') as demo:
144
  gr.Markdown("""
145
 
146
- # CustomResNet with GradCAM - Interactive Interface
147
 
148
  ### A simple Gradio interface to infer on CustomResNet model and get GradCAM results
149
 
150
  """)
151
- gr.Markdown("# Analyse the Model")
152
- gr.Markdown("## Grad-CAM")
153
  with gr.Row():
154
  grad_yes_no = gr.Radio(choices = ["Yes", "No"], value="No", label="Do you want to see GradCAM images")
155
  with gr.Row(visible=False) as grad_block:
156
  with gr.Column(scale=1):
157
- input_grad = gr.Slider(1, 10, value = 3, step=1, label="Number of GradCAM images to view")
158
  input_overlay = gr.Radio(choices = ["Yes", "No"], value="No", label="Do you want to configure gradcam")
159
  with gr.Row():
160
  clear_btn3 = gr.ClearButton()
161
  submit_btn3 = gr.Button("Submit")
162
  with gr.Column(scale=1):
163
- input_slider31 = gr.Slider(0, 1, value = 0.5, label="Opacity of GradCAM", interactive=True, visible=False)
164
- input_slider32 = gr.Slider(1, 3, value = 3, step=1, label="Which Layer?", interactive=True, visible=False)
165
  with gr.Row(visible=False) as grad1_block:
166
  gallery3 = gr.Gallery(
167
  label="GradCAM images", show_label=True, elem_id="gallery3"
168
  ).style(columns=[4], rows=[3], object_fit="contain", height="auto")
169
 
170
- submit_btn3.click(fn=show_gradcam_images, inputs=[input_grad, input_slider31, input_slider32], outputs = [grad1_block, gallery3])
171
- clear_btn3.click(lambda: [None, None, None, None, None], outputs=[input_grad, input_grad, input_slider31, input_slider32, gallery3])
172
- input_overlay.change(fn=change_textbox, inputs=input_overlay, outputs=[input_slider31, input_slider32])
173
  grad_yes_no.change(fn=change_grad_view, inputs=grad_yes_no, outputs=[grad_block])
174
 
175
 
176
  ###############################################
177
 
178
 
179
- gr.Markdown("## Misclassification")
180
  with gr.Row():
181
  miscls_yes_no = gr.Radio(choices = ["Yes", "No"], value="No", label="Do you want to see misclassified images")
182
  with gr.Row(visible=False) as miscls_block:
183
  with gr.Column(scale=1):
184
  input_miscn = gr.Slider(1, 10, value = 3, step=1, label="Number of misclassified images to view")
185
- with gr.Row():
186
- clear_btn2 = gr.ClearButton()
187
- submit_btn2 = gr.Button("Submit")
188
  with gr.Column(scale=1):
189
  input_grad2 = gr.Radio(choices = ["Yes", "No"], value="No", label="Do you want to overlay gradcam")
190
  input_slider21 = gr.Slider(0, 1, value = 0.5, label="Opacity of GradCAM", interactive=True, visible=False)
191
  input_slider22 = gr.Slider(1, 3, value = 3, step=1, label="Which Layer?", interactive=True, visible=False)
 
 
 
192
  with gr.Column(visible=False) as miscls1_block:
193
  gallery = gr.Gallery(
194
  label="Misclassified images", show_label=True, elem_id="gallery"
@@ -204,18 +206,19 @@ with gr.Blocks(theme='abidlabs/dracula_revamped') as demo:
204
  ###############################################
205
 
206
 
207
- gr.Markdown("## Try it Out")
208
  with gr.Row():
209
  with gr.Column(scale=1):
210
  input_image = gr.Image(shape=(32, 32), label="Input Image")
211
  input_topk = gr.Slider(1, 10, value = 3, step=1, label="Top N Classes")
212
  input_slider_grad_or_not = gr.Radio(choices = ["Yes", "No"], value="No", label="Do you want to overlay GradCAM output")
213
- with gr.Column(visible=False) as grad_or_not:
214
- input_slider1 = gr.Slider(0, 1, value = 0.5, label="Opacity of GradCAM")
215
- input_slider2 = gr.Slider(1, 3, value = 3, step=1, label="Which Layer?")
216
  with gr.Row():
217
  clear_btn = gr.ClearButton()
218
  submit_btn = gr.Button("Submit")
 
 
 
 
219
  with gr.Column(scale=1):
220
  output_classes = gr.Label(num_top_classes=3)
221
  output_image = gr.Image(shape=(32, 32), label="Output").style(width=128, height=128)
 
66
  images_with_gradcam = []
67
  for image_path, label in images:
68
  image = Image.open(image_path)
69
+ image = image.resize((32, 32))
70
  image_array = np.asarray(image)
71
  visualization = inference(image_array, "Yes", a, b)[-1]
72
  images_with_gradcam.append((visualization, label))
 
141
  return grad_or_not.update(visible=False)
142
 
143
 
144
+ with gr.Blocks(theme='xiaobaiyuan/theme_brief') as demo:
145
  gr.Markdown("""
146
 
147
+ # CustomResNet model with GradCAM
148
 
149
  ### A simple Gradio interface to infer on CustomResNet model and get GradCAM results
150
 
151
  """)
152
+ #gr.Markdown("# Model")
153
+ gr.Markdown("## Grad-CAM Images")
154
  with gr.Row():
155
  grad_yes_no = gr.Radio(choices = ["Yes", "No"], value="No", label="Do you want to see GradCAM images")
156
  with gr.Row(visible=False) as grad_block:
157
  with gr.Column(scale=1):
158
+ input_grad = gr.Slider(1, 10, value = 5, step=1, label="Number of GradCAM images to view")
159
  input_overlay = gr.Radio(choices = ["Yes", "No"], value="No", label="Do you want to configure gradcam")
160
  with gr.Row():
161
  clear_btn3 = gr.ClearButton()
162
  submit_btn3 = gr.Button("Submit")
163
  with gr.Column(scale=1):
164
+ input_slider1 = gr.Slider(0, 1, value = 0.5, label="Opacity of GradCAM", interactive=True, visible=False)
165
+ input_slider2 = gr.Slider(1, 3, value = 3, step=1, label="Which Layer?", interactive=True, visible=False)
166
  with gr.Row(visible=False) as grad1_block:
167
  gallery3 = gr.Gallery(
168
  label="GradCAM images", show_label=True, elem_id="gallery3"
169
  ).style(columns=[4], rows=[3], object_fit="contain", height="auto")
170
 
171
+ submit_btn3.click(fn=show_gradcam_images, inputs=[input_grad, input_slider1, input_slider2], outputs = [grad1_block, gallery3])
172
+ clear_btn3.click(lambda: [None, None, None, None, None], outputs=[input_grad, input_grad, input_slider1, input_slider2, gallery3])
173
+ input_overlay.change(fn=change_textbox, inputs=input_overlay, outputs=[input_slider1, input_slider2])
174
  grad_yes_no.change(fn=change_grad_view, inputs=grad_yes_no, outputs=[grad_block])
175
 
176
 
177
  ###############################################
178
 
179
 
180
+ gr.Markdown("## Misclassification Images")
181
  with gr.Row():
182
  miscls_yes_no = gr.Radio(choices = ["Yes", "No"], value="No", label="Do you want to see misclassified images")
183
  with gr.Row(visible=False) as miscls_block:
184
  with gr.Column(scale=1):
185
  input_miscn = gr.Slider(1, 10, value = 3, step=1, label="Number of misclassified images to view")
186
+
 
 
187
  with gr.Column(scale=1):
188
  input_grad2 = gr.Radio(choices = ["Yes", "No"], value="No", label="Do you want to overlay gradcam")
189
  input_slider21 = gr.Slider(0, 1, value = 0.5, label="Opacity of GradCAM", interactive=True, visible=False)
190
  input_slider22 = gr.Slider(1, 3, value = 3, step=1, label="Which Layer?", interactive=True, visible=False)
191
+ with gr.Row():
192
+ clear_btn2 = gr.ClearButton()
193
+ submit_btn2 = gr.Button("Submit")
194
  with gr.Column(visible=False) as miscls1_block:
195
  gallery = gr.Gallery(
196
  label="Misclassified images", show_label=True, elem_id="gallery"
 
206
  ###############################################
207
 
208
 
209
+ gr.Markdown("## Input Interface ")
210
  with gr.Row():
211
  with gr.Column(scale=1):
212
  input_image = gr.Image(shape=(32, 32), label="Input Image")
213
  input_topk = gr.Slider(1, 10, value = 3, step=1, label="Top N Classes")
214
  input_slider_grad_or_not = gr.Radio(choices = ["Yes", "No"], value="No", label="Do you want to overlay GradCAM output")
 
 
 
215
  with gr.Row():
216
  clear_btn = gr.ClearButton()
217
  submit_btn = gr.Button("Submit")
218
+ with gr.Column(visible=False) as grad_or_not:
219
+ input_slider1 = gr.Slider(0, 1, value = 0.5, label="Opacity of GradCAM")
220
+ input_slider2 = gr.Slider(1, 3, value = 3, step=1, label="Which Layer?")
221
+
222
  with gr.Column(scale=1):
223
  output_classes = gr.Label(num_top_classes=3)
224
  output_image = gr.Image(shape=(32, 32), label="Output").style(width=128, height=128)