Browse Source

!904 Avoid the numpy runtime warnings and enhance query image error message

From: @ngtony
Reviewed-by: @ouwenchang,@ouwenchang,@wangyue01
Signed-off-by: @wangyue01
tags/v1.1.0
mindspore-ci-bot Gitee 5 years ago
parent
commit
eb79737ded
1 changed files with 7 additions and 6 deletions
  1. +7
    -6
      mindinsight/explainer/encapsulator/datafile_encap.py

+ 7
- 6
mindinsight/explainer/encapsulator/datafile_encap.py View File

@@ -88,11 +88,11 @@ class DatafileEncap(ExplainDataEncap):
return fp.read()

except FileNotFoundError:
raise ImageNotExistError(image_path)
raise ImageNotExistError(f"train_id:{train_id} path:{image_path} type:{image_type}")
except PermissionError:
raise FileSystemPermissionError(image_path)
raise FileSystemPermissionError(f"train_id:{train_id} path:{image_path} type:{image_type}")
except UnidentifiedImageError:
raise UnknownError(f"Invalid image file: {image_path}")
raise UnknownError(f"Invalid image file: train_id:{train_id} path:{image_path} type:{image_type}")

if image.mode == _SINGLE_CHANNEL_MODE:
saliency = np.asarray(image)/_UINT8_MAX
@@ -102,10 +102,11 @@ class DatafileEncap(ExplainDataEncap):
else:
raise UnknownError(f"Invalid overlay image mode:{image.mode}.")

rgba = np.empty((saliency.shape[0], saliency.shape[1], 4))
saliency_stack = np.empty((saliency.shape[0], saliency.shape[1], 4))
for c in range(3):
rgba[:, :, c] = saliency
rgba = rgba * _SALIENCY_CMAP_HI + (1-rgba) * _SALIENCY_CMAP_LOW
saliency_stack[:, :, c] = saliency
rgba = saliency_stack * _SALIENCY_CMAP_HI
rgba += (1-saliency_stack) * _SALIENCY_CMAP_LOW
rgba[:, :, 3] = saliency * _UINT8_MAX

overlay = Image.fromarray(np.uint8(rgba), mode=_RGBA_MODE)


Loading…
Cancel
Save