AkashDataScience commited on
Commit
f60ff45
·
1 Parent(s): ffe5b98

Minor bug fix

Browse files
Files changed (1) hide show
  1. app.py +14 -14
app.py CHANGED
@@ -27,7 +27,7 @@ test_loader = dataset.get_test_data_loader(**dataloader_args)
27
  classes = ('plane', 'car', 'bird', 'cat', 'deer',
28
  'dog', 'frog', 'horse', 'ship', 'truck')
29
 
30
- cache_dict = {"missclassified_images": None, "is_missclassified_images": None, "num_missclassified_images": None}
31
 
32
  def resize_image_pil(image, new_width, new_height):
33
 
@@ -51,7 +51,7 @@ def resize_image_pil(image, new_width, new_height):
51
  return resized
52
 
53
  def inference(input_img, is_grad_cam=True, transparency = 0.5, target_layer_number = -1,
54
- top_predictions=3, is_missclassified_images=True, num_missclassified_images=10):
55
  input_img = resize_image_pil(input_img, 32, 32)
56
 
57
  input_img = np.array(input_img)
@@ -86,22 +86,22 @@ def inference(input_img, is_grad_cam=True, transparency = 0.5, target_layer_numb
86
  # Pick the top n predictions
87
  top_n_confidences = dict(list(sorted_confidences.items())[:top_predictions])
88
 
89
- if (is_missclassified_images != cache_dict["num_missclassified_images"] or
90
- num_missclassified_images != cache_dict["num_missclassified_images"]):
91
- cache_dict["num_missclassified_images"] = is_missclassified_images
92
- cache_dict["num_missclassified_images"] = num_missclassified_images
93
- if is_missclassified_images:
94
  # Get the misclassified data from test dataset
95
  misclassified_data = get_misclassified_data(model, device, test_loader)
96
  # Plot the misclassified data
97
- misclassified_images = display_cifar_misclassified_data(misclassified_data, number_of_samples=num_missclassified_images)
98
- cache_dict["missclassified_images"] = misclassified_images
99
  else:
100
- missclassified_images = None
101
  else:
102
- missclassified_images = cache_dict["missclassified_images"]
103
 
104
- return classes[prediction[0].item()], visualization, top_n_confidences, missclassified_images
105
 
106
  title = "CIFAR10 trained on ResNet18 Model with GradCAM"
107
  description = "A simple Gradio interface to infer on ResNet model, and get GradCAM results"
@@ -124,13 +124,13 @@ demo = gr.Interface(
124
  gr.Slider(-2, -1, value = -2, step=1, label="Which Layer?"),
125
  gr.Slider(2, 10, value=3, step=1, label="Number of Top Classes"),
126
  gr.Checkbox(label="Show Misclassified Images"),
127
- gr.Slider(5, 40, value=10, step=5, label="Number of Missclassified Images")
128
  ],
129
  outputs = [
130
  "text",
131
  gr.Image(width=256, height=256, label="Output"),
132
  gr.Label(label="Top Classes"),
133
- gr.Plot(label="Missclassified Images")
134
  ],
135
  title = title,
136
  description = description,
 
27
  classes = ('plane', 'car', 'bird', 'cat', 'deer',
28
  'dog', 'frog', 'horse', 'ship', 'truck')
29
 
30
+ cache_dict = {"misclassified_images": None, "is_misclassified_images": None, "num_misclassified_images": None}
31
 
32
  def resize_image_pil(image, new_width, new_height):
33
 
 
51
  return resized
52
 
53
  def inference(input_img, is_grad_cam=True, transparency = 0.5, target_layer_number = -1,
54
+ top_predictions=3, is_misclassified_images=True, num_misclassified_images=10):
55
  input_img = resize_image_pil(input_img, 32, 32)
56
 
57
  input_img = np.array(input_img)
 
86
  # Pick the top n predictions
87
  top_n_confidences = dict(list(sorted_confidences.items())[:top_predictions])
88
 
89
+ if (is_misclassified_images != cache_dict["num_misclassified_images"] or
90
+ num_misclassified_images != cache_dict["num_misclassified_images"]):
91
+ cache_dict["num_misclassified_images"] = is_misclassified_images
92
+ cache_dict["num_misclassified_images"] = num_misclassified_images
93
+ if is_misclassified_images:
94
  # Get the misclassified data from test dataset
95
  misclassified_data = get_misclassified_data(model, device, test_loader)
96
  # Plot the misclassified data
97
+ misclassified_images = display_cifar_misclassified_data(misclassified_data, number_of_samples=num_misclassified_images)
98
+ cache_dict["misclassified_images"] = misclassified_images
99
  else:
100
+ misclassified_images = None
101
  else:
102
+ misclassified_images = cache_dict["misclassified_images"]
103
 
104
+ return classes[prediction[0].item()], visualization, top_n_confidences, misclassified_images
105
 
106
  title = "CIFAR10 trained on ResNet18 Model with GradCAM"
107
  description = "A simple Gradio interface to infer on ResNet model, and get GradCAM results"
 
124
  gr.Slider(-2, -1, value = -2, step=1, label="Which Layer?"),
125
  gr.Slider(2, 10, value=3, step=1, label="Number of Top Classes"),
126
  gr.Checkbox(label="Show Misclassified Images"),
127
+ gr.Slider(5, 40, value=10, step=5, label="Number of Misclassified Images")
128
  ],
129
  outputs = [
130
  "text",
131
  gr.Image(width=256, height=256, label="Output"),
132
  gr.Label(label="Top Classes"),
133
+ gr.Plot(label="Misclassified Images")
134
  ],
135
  title = title,
136
  description = description,