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

Added caching

Browse files
Files changed (1) hide show
  1. app.py +15 -6
app.py CHANGED
@@ -27,6 +27,8 @@ test_loader = dataset.get_test_data_loader(**dataloader_args)
27
  classes = ('plane', 'car', 'bird', 'cat', 'deer',
28
  'dog', 'frog', 'horse', 'ship', 'truck')
29
 
 
 
30
  def resize_image_pil(image, new_width, new_height):
31
 
32
  # Convert to PIL image
@@ -84,13 +86,20 @@ def inference(input_img, is_grad_cam=True, transparency = 0.5, target_layer_numb
84
  # Pick the top n predictions
85
  top_n_confidences = dict(list(sorted_confidences.items())[:top_predictions])
86
 
87
- if is_missclassified_images:
88
- # Get the misclassified data from test dataset
89
- misclassified_data = get_misclassified_data(model, device, test_loader)
90
- # Plot the misclassified data
91
- missclassified_images = display_cifar_misclassified_data(misclassified_data, number_of_samples=num_missclassified_images)
 
 
 
 
 
 
 
92
  else:
93
- missclassified_images = None
94
 
95
  return classes[prediction[0].item()], visualization, top_n_confidences, missclassified_images
96
 
 
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
 
34
  # Convert to PIL image
 
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