|
|
| import numpy as np |
| from lime import lime_image |
| from skimage.segmentation import mark_boundaries |
|
|
| explainer = lime_image.LimeImageExplainer() |
|
|
| def explain_with_lime(model, img_array): |
| def predict_fn(images): return model.predict(np.array(images), verbose=0) |
| explanation = explainer.explain_instance( |
| image=img_array, |
| classifier_fn=predict_fn, |
| top_labels=1, |
| hide_color=0, |
| num_samples=1000 |
| ) |
| temp, mask = explanation.get_image_and_mask( |
| label=explanation.top_labels[0], |
| positive_only=True, |
| num_features=10, |
| hide_rest=False |
| ) |
| return mark_boundaries(temp, mask) |
|
|