├── Easy_start.ipynb ├── Evaluation.ipynb ├── LICENSE ├── README.md ├── Saliency.ipynb ├── catdog.png ├── evaluation.py ├── explanations.py ├── goldfish.jpg ├── synset_words.txt └── utils.py /Easy_start.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# Randomized Image Sampling for Explanations (RISE)" 8 | ] 9 | }, 10 | { 11 | "cell_type": "code", 12 | "execution_count": 1, 13 | "metadata": {}, 14 | "outputs": [], 15 | "source": [ 16 | "import os\n", 17 | "import numpy as np\n", 18 | "from matplotlib import pyplot as plt\n", 19 | "from skimage.transform import resize\n", 20 | "from tqdm import tqdm" 21 | ] 22 | }, 23 | { 24 | "cell_type": "markdown", 25 | "metadata": {}, 26 | "source": [ 27 | "## Change code below to incorporate your *model* and *input processing*" 28 | ] 29 | }, 30 | { 31 | "cell_type": "markdown", 32 | "metadata": {}, 33 | "source": [ 34 | "### Define your model here:" 35 | ] 36 | }, 37 | { 38 | "cell_type": "code", 39 | "execution_count": 2, 40 | "metadata": {}, 41 | "outputs": [ 42 | { 43 | "name": "stderr", 44 | "output_type": "stream", 45 | "text": [ 46 | "Using TensorFlow backend.\n" 47 | ] 48 | } 49 | ], 50 | "source": [ 51 | "from keras.applications.resnet50 import ResNet50, preprocess_input, decode_predictions\n", 52 | "from keras import backend as K" 53 | ] 54 | }, 55 | { 56 | "cell_type": "code", 57 | "execution_count": 3, 58 | "metadata": {}, 59 | "outputs": [], 60 | "source": [ 61 | "class Model():\n", 62 | " def __init__(self):\n", 63 | " K.set_learning_phase(0)\n", 64 | " self.model = ResNet50()\n", 65 | " self.input_size = (224, 224)\n", 66 | " \n", 67 | " def run_on_batch(self, x):\n", 68 | " return self.model.predict(x)" 69 | ] 70 | }, 71 | { 72 | "cell_type": "markdown", 73 | "metadata": {}, 74 | "source": [ 75 | "### Load and preprocess image" 76 | ] 77 | }, 78 | { 79 | "cell_type": "code", 80 | "execution_count": 4, 81 | "metadata": {}, 82 | "outputs": [], 83 | "source": [ 84 | "from keras.preprocessing import image" 85 | ] 86 | }, 87 | { 88 | "cell_type": "code", 89 | "execution_count": 5, 90 | "metadata": {}, 91 | "outputs": [], 92 | "source": [ 93 | "def load_img(path):\n", 94 | " img = image.load_img(path, target_size=model.input_size)\n", 95 | " x = image.img_to_array(img)\n", 96 | " x = np.expand_dims(x, axis=0)\n", 97 | " x = preprocess_input(x)\n", 98 | " return img, x" 99 | ] 100 | }, 101 | { 102 | "cell_type": "markdown", 103 | "metadata": {}, 104 | "source": [ 105 | "---" 106 | ] 107 | }, 108 | { 109 | "cell_type": "markdown", 110 | "metadata": {}, 111 | "source": [ 112 | "## RISE" 113 | ] 114 | }, 115 | { 116 | "cell_type": "code", 117 | "execution_count": 6, 118 | "metadata": {}, 119 | "outputs": [], 120 | "source": [ 121 | "def generate_masks(N, s, p1):\n", 122 | " cell_size = np.ceil(np.array(model.input_size) / s)\n", 123 | " up_size = (s + 1) * cell_size\n", 124 | "\n", 125 | " grid = np.random.rand(N, s, s) < p1\n", 126 | " grid = grid.astype('float32')\n", 127 | "\n", 128 | " masks = np.empty((N, *model.input_size))\n", 129 | "\n", 130 | " for i in tqdm(range(N), desc='Generating masks'):\n", 131 | " # Random shifts\n", 132 | " x = np.random.randint(0, cell_size[0])\n", 133 | " y = np.random.randint(0, cell_size[1])\n", 134 | " # Linear upsampling and cropping\n", 135 | " masks[i, :, :] = resize(grid[i], up_size, order=1, mode='reflect',\n", 136 | " anti_aliasing=False)[x:x + model.input_size[0], y:y + model.input_size[1]]\n", 137 | " masks = masks.reshape(-1, *model.input_size, 1)\n", 138 | " return masks" 139 | ] 140 | }, 141 | { 142 | "cell_type": "code", 143 | "execution_count": 7, 144 | "metadata": {}, 145 | "outputs": [], 146 | "source": [ 147 | "batch_size = 100\n", 148 | "\n", 149 | "def explain(model, inp, masks):\n", 150 | " preds = []\n", 151 | " # Make sure multiplication is being done for correct axes\n", 152 | " masked = inp * masks\n", 153 | " for i in tqdm(range(0, N, batch_size), desc='Explaining'):\n", 154 | " preds.append(model.run_on_batch(masked[i:min(i+batch_size, N)]))\n", 155 | " preds = np.concatenate(preds)\n", 156 | " sal = preds.T.dot(masks.reshape(N, -1)).reshape(-1, *model.input_size)\n", 157 | " sal = sal / N / p1\n", 158 | " return sal" 159 | ] 160 | }, 161 | { 162 | "cell_type": "markdown", 163 | "metadata": {}, 164 | "source": [ 165 | "---" 166 | ] 167 | }, 168 | { 169 | "cell_type": "markdown", 170 | "metadata": {}, 171 | "source": [ 172 | "## Running explanations" 173 | ] 174 | }, 175 | { 176 | "cell_type": "code", 177 | "execution_count": 8, 178 | "metadata": {}, 179 | "outputs": [], 180 | "source": [ 181 | "def class_name(idx):\n", 182 | " return decode_predictions(np.eye(1, 1000, idx))[0][0][1]" 183 | ] 184 | }, 185 | { 186 | "cell_type": "code", 187 | "execution_count": 9, 188 | "metadata": {}, 189 | "outputs": [ 190 | { 191 | "name": "stdout", 192 | "output_type": "stream", 193 | "text": [ 194 | "WARNING:tensorflow:From /scratch/miniconda3/envs/k/lib/python3.6/site-packages/keras/backend/tensorflow_backend.py:1205: calling reduce_prod (from tensorflow.python.ops.math_ops) with keep_dims is deprecated and will be removed in a future version.\n", 195 | "Instructions for updating:\n", 196 | "keep_dims is deprecated, use keepdims instead\n" 197 | ] 198 | } 199 | ], 200 | "source": [ 201 | "model = Model()" 202 | ] 203 | }, 204 | { 205 | "cell_type": "code", 206 | "execution_count": 10, 207 | "metadata": {}, 208 | "outputs": [], 209 | "source": [ 210 | "img, x = load_img('catdog.png')" 211 | ] 212 | }, 213 | { 214 | "cell_type": "code", 215 | "execution_count": 11, 216 | "metadata": {}, 217 | "outputs": [ 218 | { 219 | "name": "stderr", 220 | "output_type": "stream", 221 | "text": [ 222 | "Generating masks: 100%|██████████| 2000/2000 [00:03<00:00, 515.37it/s]\n" 223 | ] 224 | } 225 | ], 226 | "source": [ 227 | "N = 2000\n", 228 | "s = 8\n", 229 | "p1 = 0.5\n", 230 | "masks = generate_masks(2000, 8, 0.5)" 231 | ] 232 | }, 233 | { 234 | "cell_type": "code", 235 | "execution_count": 12, 236 | "metadata": {}, 237 | "outputs": [ 238 | { 239 | "name": "stderr", 240 | "output_type": "stream", 241 | "text": [ 242 | "Explaining: 100%|██████████| 20/20 [00:08<00:00, 2.32it/s]\n" 243 | ] 244 | } 245 | ], 246 | "source": [ 247 | "sal = explain(model, x, masks)" 248 | ] 249 | }, 250 | { 251 | "cell_type": "code", 252 | "execution_count": 13, 253 | "metadata": {}, 254 | "outputs": [ 255 | { 256 | "data": { 257 | "image/png": "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\n", 258 | "text/plain": [ 259 | "
" 260 | ] 261 | }, 262 | "metadata": {}, 263 | "output_type": "display_data" 264 | } 265 | ], 266 | "source": [ 267 | "class_idx = 243\n", 268 | "plt.title('Explanation for `{}`'.format(class_name(class_idx)))\n", 269 | "plt.axis('off')\n", 270 | "plt.imshow(img)\n", 271 | "plt.imshow(sal[class_idx], cmap='jet', alpha=0.5)\n", 272 | "# plt.colorbar()\n", 273 | "plt.show()" 274 | ] 275 | } 276 | ], 277 | "metadata": { 278 | "kernelspec": { 279 | "display_name": "Python 3", 280 | "language": "python", 281 | "name": "python3" 282 | }, 283 | "language_info": { 284 | "codemirror_mode": { 285 | "name": "ipython", 286 | "version": 3 287 | }, 288 | "file_extension": ".py", 289 | "mimetype": "text/x-python", 290 | "name": "python", 291 | "nbconvert_exporter": "python", 292 | "pygments_lexer": "ipython3", 293 | "version": "3.6.6" 294 | } 295 | }, 296 | "nbformat": 4, 297 | "nbformat_minor": 2 298 | } 299 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 Vitali Petsiuk 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # RISE 2 | This repository contains source code necessary to reproduce some of the main results in the paper: 3 | 4 | [Vitali Petsiuk](http://cs-people.bu.edu/vpetsiuk/), [Abir Das](http://cs-people.bu.edu/dasabir/), [Kate Saenko](http://ai.bu.edu/ksaenko.html) (BMVC, 2018)
5 | [RISE: Randomized Input Sampling for Explanation of Black-box Models](https://arxiv.org/abs/1806.07421) 6 | 7 | **If you use this software in an academic article, please consider citing:** 8 | 9 | @inproceedings{Petsiuk2018rise, 10 | title = {RISE: Randomized Input Sampling for Explanation of Black-box Models}, 11 | author = {Vitali Petsiuk and Abir Das and Kate Saenko}, 12 | booktitle = {Proceedings of the British Machine Vision Conference (BMVC)}, 13 | year = {2018} 14 | } 15 | 16 | For more information regarding the paper, please visit http://cs-people.bu.edu/vpetsiuk/rise/. 17 | 18 | ## Method overview 19 | To generate a saliency map for model's prediction, RISE queries black-box model on multiple randomly masked versions of input. 20 | After all the queries are done we average all the masks with respect to their scores to produce the final saliency map. The idea behind this is that whenever a mask preserves important parts of the image it gets higher score, and consequently has a higher weight in the sum. 21 | ![](https://eclique.github.io/rep-imgs/RISE/rise-overview.png) 22 | 23 | ## Repository contents 24 | * The whole idea is implemented in [Easy_start](Easy_start.ipynb) notebook, it's done in Keras but is really easy to modify for any framework, since the method itself is model-agnostic. 25 | * [Saliency](Saliency.ipynb) notebook demonstrates the usage of RISE class optimized for PyTorch. 26 | * [Evaluation](Evaluation.ipynb) notebook displays another contribution of the paper: *Causal metrics*. 27 | 28 | ## Examples 29 | ![](https://eclique.github.io/rep-imgs/RISE/example.png) 30 | ![](https://eclique.github.io/rep-imgs/RISE/goldish.gif) 31 | -------------------------------------------------------------------------------- /catdog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclique/RISE/d91ea006d4bb9b7990347fe97086bdc0f5c1fe10/catdog.png -------------------------------------------------------------------------------- /evaluation.py: -------------------------------------------------------------------------------- 1 | from torch import nn 2 | from tqdm import tqdm 3 | from scipy.ndimage.filters import gaussian_filter 4 | 5 | from utils import * 6 | 7 | HW = 224 * 224 # image area 8 | n_classes = 1000 9 | 10 | def gkern(klen, nsig): 11 | """Returns a Gaussian kernel array. 12 | Convolution with it results in image blurring.""" 13 | # create nxn zeros 14 | inp = np.zeros((klen, klen)) 15 | # set element at the middle to one, a dirac delta 16 | inp[klen//2, klen//2] = 1 17 | # gaussian-smooth the dirac, resulting in a gaussian filter mask 18 | k = gaussian_filter(inp, nsig) 19 | kern = np.zeros((3, 3, klen, klen)) 20 | kern[0, 0] = k 21 | kern[1, 1] = k 22 | kern[2, 2] = k 23 | return torch.from_numpy(kern.astype('float32')) 24 | 25 | def auc(arr): 26 | """Returns normalized Area Under Curve of the array.""" 27 | return (arr.sum() - arr[0] / 2 - arr[-1] / 2) / (arr.shape[0] - 1) 28 | 29 | class CausalMetric(): 30 | 31 | def __init__(self, model, mode, step, substrate_fn): 32 | r"""Create deletion/insertion metric instance. 33 | 34 | Args: 35 | model (nn.Module): Black-box model being explained. 36 | mode (str): 'del' or 'ins'. 37 | step (int): number of pixels modified per one iteration. 38 | substrate_fn (func): a mapping from old pixels to new pixels. 39 | """ 40 | assert mode in ['del', 'ins'] 41 | self.model = model 42 | self.mode = mode 43 | self.step = step 44 | self.substrate_fn = substrate_fn 45 | 46 | def single_run(self, img_tensor, explanation, verbose=0, save_to=None): 47 | r"""Run metric on one image-saliency pair. 48 | 49 | Args: 50 | img_tensor (Tensor): normalized image tensor. 51 | explanation (np.ndarray): saliency map. 52 | verbose (int): in [0, 1, 2]. 53 | 0 - return list of scores. 54 | 1 - also plot final step. 55 | 2 - also plot every step and print 2 top classes. 56 | save_to (str): directory to save every step plots to. 57 | 58 | Return: 59 | scores (nd.array): Array containing scores at every step. 60 | """ 61 | pred = self.model(img_tensor.cuda()) 62 | top, c = torch.max(pred, 1) 63 | c = c.cpu().numpy()[0] 64 | n_steps = (HW + self.step - 1) // self.step 65 | 66 | if self.mode == 'del': 67 | title = 'Deletion game' 68 | ylabel = 'Pixels deleted' 69 | start = img_tensor.clone() 70 | finish = self.substrate_fn(img_tensor) 71 | elif self.mode == 'ins': 72 | title = 'Insertion game' 73 | ylabel = 'Pixels inserted' 74 | start = self.substrate_fn(img_tensor) 75 | finish = img_tensor.clone() 76 | 77 | scores = np.empty(n_steps + 1) 78 | # Coordinates of pixels in order of decreasing saliency 79 | salient_order = np.flip(np.argsort(explanation.reshape(-1, HW), axis=1), axis=-1) 80 | for i in range(n_steps+1): 81 | pred = self.model(start.cuda()) 82 | pr, cl = torch.topk(pred, 2) 83 | if verbose == 2: 84 | print('{}: {:.3f}'.format(get_class_name(cl[0][0]), float(pr[0][0]))) 85 | print('{}: {:.3f}'.format(get_class_name(cl[0][1]), float(pr[0][1]))) 86 | scores[i] = pred[0, c] 87 | # Render image if verbose, if it's the last step or if save is required. 88 | if verbose == 2 or (verbose == 1 and i == n_steps) or save_to: 89 | plt.figure(figsize=(10, 5)) 90 | plt.subplot(121) 91 | plt.title('{} {:.1f}%, P={:.4f}'.format(ylabel, 100 * i / n_steps, scores[i])) 92 | plt.axis('off') 93 | tensor_imshow(start[0]) 94 | 95 | plt.subplot(122) 96 | plt.plot(np.arange(i+1) / n_steps, scores[:i+1]) 97 | plt.xlim(-0.1, 1.1) 98 | plt.ylim(0, 1.05) 99 | plt.fill_between(np.arange(i+1) / n_steps, 0, scores[:i+1], alpha=0.4) 100 | plt.title(title) 101 | plt.xlabel(ylabel) 102 | plt.ylabel(get_class_name(c)) 103 | if save_to: 104 | plt.savefig(save_to + '/{:03d}.png'.format(i)) 105 | plt.close() 106 | else: 107 | plt.show() 108 | if i < n_steps: 109 | coords = salient_order[:, self.step * i:self.step * (i + 1)] 110 | start.cpu().numpy().reshape(1, 3, HW)[0, :, coords] = finish.cpu().numpy().reshape(1, 3, HW)[0, :, coords] 111 | return scores 112 | 113 | def evaluate(self, img_batch, exp_batch, batch_size): 114 | r"""Efficiently evaluate big batch of images. 115 | 116 | Args: 117 | img_batch (Tensor): batch of images. 118 | exp_batch (np.ndarray): batch of explanations. 119 | batch_size (int): number of images for one small batch. 120 | 121 | Returns: 122 | scores (nd.array): Array containing scores at every step for every image. 123 | """ 124 | n_samples = img_batch.shape[0] 125 | predictions = torch.FloatTensor(n_samples, n_classes) 126 | assert n_samples % batch_size == 0 127 | for i in tqdm(range(n_samples // batch_size), desc='Predicting labels'): 128 | preds = self.model(img_batch[i*batch_size:(i+1)*batch_size].cuda()).cpu() 129 | predictions[i*batch_size:(i+1)*batch_size] = preds 130 | top = np.argmax(predictions, -1) 131 | n_steps = (HW + self.step - 1) // self.step 132 | scores = np.empty((n_steps + 1, n_samples)) 133 | salient_order = np.flip(np.argsort(exp_batch.reshape(-1, HW), axis=1), axis=-1) 134 | r = np.arange(n_samples).reshape(n_samples, 1) 135 | 136 | substrate = torch.zeros_like(img_batch) 137 | for j in tqdm(range(n_samples // batch_size), desc='Substrate'): 138 | substrate[j*batch_size:(j+1)*batch_size] = self.substrate_fn(img_batch[j*batch_size:(j+1)*batch_size]) 139 | 140 | if self.mode == 'del': 141 | caption = 'Deleting ' 142 | start = img_batch.clone() 143 | finish = substrate 144 | elif self.mode == 'ins': 145 | caption = 'Inserting ' 146 | start = substrate 147 | finish = img_batch.clone() 148 | 149 | # While not all pixels are changed 150 | for i in tqdm(range(n_steps+1), desc=caption + 'pixels'): 151 | # Iterate over batches 152 | for j in range(n_samples // batch_size): 153 | # Compute new scores 154 | preds = self.model(start[j*batch_size:(j+1)*batch_size].cuda()) 155 | preds = preds.cpu().numpy()[range(batch_size), top[j*batch_size:(j+1)*batch_size]] 156 | scores[i, j*batch_size:(j+1)*batch_size] = preds 157 | # Change specified number of most salient pixels to substrate pixels 158 | coords = salient_order[:, self.step * i:self.step * (i + 1)] 159 | start.cpu().numpy().reshape(n_samples, 3, HW)[r, :, coords] = finish.cpu().numpy().reshape(n_samples, 3, HW)[r, :, coords] 160 | print('AUC: {}'.format(auc(scores.mean(1)))) 161 | return scores 162 | -------------------------------------------------------------------------------- /explanations.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import torch 3 | import torch.nn as nn 4 | from skimage.transform import resize 5 | from tqdm import tqdm 6 | 7 | 8 | class RISE(nn.Module): 9 | def __init__(self, model, input_size, gpu_batch=100): 10 | super(RISE, self).__init__() 11 | self.model = model 12 | self.input_size = input_size 13 | self.gpu_batch = gpu_batch 14 | 15 | def generate_masks(self, N, s, p1, savepath='masks.npy'): 16 | cell_size = np.ceil(np.array(self.input_size) / s) 17 | up_size = (s + 1) * cell_size 18 | 19 | grid = np.random.rand(N, s, s) < p1 20 | grid = grid.astype('float32') 21 | 22 | self.masks = np.empty((N, *self.input_size)) 23 | 24 | for i in tqdm(range(N), desc='Generating filters'): 25 | # Random shifts 26 | x = np.random.randint(0, cell_size[0]) 27 | y = np.random.randint(0, cell_size[1]) 28 | # Linear upsampling and cropping 29 | self.masks[i, :, :] = resize(grid[i], up_size, order=1, mode='reflect', 30 | anti_aliasing=False)[x:x + self.input_size[0], y:y + self.input_size[1]] 31 | self.masks = self.masks.reshape(-1, 1, *self.input_size) 32 | np.save(savepath, self.masks) 33 | self.masks = torch.from_numpy(self.masks).float() 34 | self.masks = self.masks.cuda() 35 | self.N = N 36 | self.p1 = p1 37 | 38 | def load_masks(self, filepath): 39 | self.masks = np.load(filepath) 40 | self.masks = torch.from_numpy(self.masks).float().cuda() 41 | self.N = self.masks.shape[0] 42 | 43 | def forward(self, x): 44 | N = self.N 45 | _, _, H, W = x.size() 46 | # Apply array of filters to the image 47 | stack = torch.mul(self.masks, x.data) 48 | 49 | # p = nn.Softmax(dim=1)(model(stack)) processed in batches 50 | p = [] 51 | for i in range(0, N, self.gpu_batch): 52 | p.append(self.model(stack[i:min(i + self.gpu_batch, N)])) 53 | p = torch.cat(p) 54 | # Number of classes 55 | CL = p.size(1) 56 | sal = torch.matmul(p.data.transpose(0, 1), self.masks.view(N, H * W)) 57 | sal = sal.view((CL, H, W)) 58 | sal = sal / N / self.p1 59 | return sal 60 | 61 | 62 | class RISEBatch(RISE): 63 | def forward(self, x): 64 | # Apply array of filters to the image 65 | N = self.N 66 | B, C, H, W = x.size() 67 | stack = torch.mul(self.masks.view(N, 1, H, W), x.data.view(B * C, H, W)) 68 | stack = stack.view(B * N, C, H, W) 69 | stack = stack 70 | 71 | #p = nn.Softmax(dim=1)(model(stack)) in batches 72 | p = [] 73 | for i in range(0, N*B, self.gpu_batch): 74 | p.append(self.model(stack[i:min(i + self.gpu_batch, N*B)])) 75 | p = torch.cat(p) 76 | CL = p.size(1) 77 | p = p.view(N, B, CL) 78 | sal = torch.matmul(p.permute(1, 2, 0), self.masks.view(N, H * W)) 79 | sal = sal.view(B, CL, H, W) 80 | return sal 81 | 82 | # To process in batches 83 | # def explain_all_batch(data_loader, explainer): 84 | # n_batch = len(data_loader) 85 | # b_size = data_loader.batch_size 86 | # total = n_batch * b_size 87 | # # Get all predicted labels first 88 | # target = np.empty(total, 'int64') 89 | # for i, (imgs, _) in enumerate(tqdm(data_loader, total=n_batch, desc='Predicting labels')): 90 | # p, c = torch.max(nn.Softmax(1)(explainer.model(imgs.cuda())), dim=1) 91 | # target[i * b_size:(i + 1) * b_size] = c 92 | # image_size = imgs.shape[-2:] 93 | # 94 | # # Get saliency maps for all images in val loader 95 | # explanations = np.empty((total, *image_size)) 96 | # for i, (imgs, _) in enumerate(tqdm(data_loader, total=n_batch, desc='Explaining images')): 97 | # saliency_maps = explainer(imgs.cuda()) 98 | # explanations[i * b_size:(i + 1) * b_size] = saliency_maps[ 99 | # range(b_size), target[i * b_size:(i + 1) * b_size]].data.cpu().numpy() 100 | # return explanations 101 | -------------------------------------------------------------------------------- /goldfish.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eclique/RISE/d91ea006d4bb9b7990347fe97086bdc0f5c1fe10/goldfish.jpg -------------------------------------------------------------------------------- /synset_words.txt: -------------------------------------------------------------------------------- 1 | n01440764 tench, Tinca tinca 2 | n01443537 goldfish, Carassius auratus 3 | n01484850 great white shark, white shark, man-eater, man-eating shark, Carcharodon carcharias 4 | n01491361 tiger shark, Galeocerdo cuvieri 5 | n01494475 hammerhead, hammerhead shark 6 | n01496331 electric ray, crampfish, numbfish, torpedo 7 | n01498041 stingray 8 | n01514668 cock 9 | n01514859 hen 10 | n01518878 ostrich, Struthio camelus 11 | n01530575 brambling, Fringilla montifringilla 12 | n01531178 goldfinch, Carduelis carduelis 13 | n01532829 house finch, linnet, Carpodacus mexicanus 14 | n01534433 junco, snowbird 15 | n01537544 indigo bunting, indigo finch, indigo bird, Passerina cyanea 16 | n01558993 robin, American robin, Turdus migratorius 17 | n01560419 bulbul 18 | n01580077 jay 19 | n01582220 magpie 20 | n01592084 chickadee 21 | n01601694 water ouzel, dipper 22 | n01608432 kite 23 | n01614925 bald eagle, American eagle, Haliaeetus leucocephalus 24 | n01616318 vulture 25 | n01622779 great grey owl, great gray owl, Strix nebulosa 26 | n01629819 European fire salamander, Salamandra salamandra 27 | n01630670 common newt, Triturus vulgaris 28 | n01631663 eft 29 | n01632458 spotted salamander, Ambystoma maculatum 30 | n01632777 axolotl, mud puppy, Ambystoma mexicanum 31 | n01641577 bullfrog, Rana catesbeiana 32 | n01644373 tree frog, tree-frog 33 | n01644900 tailed frog, bell toad, ribbed toad, tailed toad, Ascaphus trui 34 | n01664065 loggerhead, loggerhead turtle, Caretta caretta 35 | n01665541 leatherback turtle, leatherback, leathery turtle, Dermochelys coriacea 36 | n01667114 mud turtle 37 | n01667778 terrapin 38 | n01669191 box turtle, box tortoise 39 | n01675722 banded gecko 40 | n01677366 common iguana, iguana, Iguana iguana 41 | n01682714 American chameleon, anole, Anolis carolinensis 42 | n01685808 whiptail, whiptail lizard 43 | n01687978 agama 44 | n01688243 frilled lizard, Chlamydosaurus kingi 45 | n01689811 alligator lizard 46 | n01692333 Gila monster, Heloderma suspectum 47 | n01693334 green lizard, Lacerta viridis 48 | n01694178 African chameleon, Chamaeleo chamaeleon 49 | n01695060 Komodo dragon, Komodo lizard, dragon lizard, giant lizard, Varanus komodoensis 50 | n01697457 African crocodile, Nile crocodile, Crocodylus niloticus 51 | n01698640 American alligator, Alligator mississipiensis 52 | n01704323 triceratops 53 | n01728572 thunder snake, worm snake, Carphophis amoenus 54 | n01728920 ringneck snake, ring-necked snake, ring snake 55 | n01729322 hognose snake, puff adder, sand viper 56 | n01729977 green snake, grass snake 57 | n01734418 king snake, kingsnake 58 | n01735189 garter snake, grass snake 59 | n01737021 water snake 60 | n01739381 vine snake 61 | n01740131 night snake, Hypsiglena torquata 62 | n01742172 boa constrictor, Constrictor constrictor 63 | n01744401 rock python, rock snake, Python sebae 64 | n01748264 Indian cobra, Naja naja 65 | n01749939 green mamba 66 | n01751748 sea snake 67 | n01753488 horned viper, cerastes, sand viper, horned asp, Cerastes cornutus 68 | n01755581 diamondback, diamondback rattlesnake, Crotalus adamanteus 69 | n01756291 sidewinder, horned rattlesnake, Crotalus cerastes 70 | n01768244 trilobite 71 | n01770081 harvestman, daddy longlegs, Phalangium opilio 72 | n01770393 scorpion 73 | n01773157 black and gold garden spider, Argiope aurantia 74 | n01773549 barn spider, Araneus cavaticus 75 | n01773797 garden spider, Aranea diademata 76 | n01774384 black widow, Latrodectus mactans 77 | n01774750 tarantula 78 | n01775062 wolf spider, hunting spider 79 | n01776313 tick 80 | n01784675 centipede 81 | n01795545 black grouse 82 | n01796340 ptarmigan 83 | n01797886 ruffed grouse, partridge, Bonasa umbellus 84 | n01798484 prairie chicken, prairie grouse, prairie fowl 85 | n01806143 peacock 86 | n01806567 quail 87 | n01807496 partridge 88 | n01817953 African grey, African gray, Psittacus erithacus 89 | n01818515 macaw 90 | n01819313 sulphur-crested cockatoo, Kakatoe galerita, Cacatua galerita 91 | n01820546 lorikeet 92 | n01824575 coucal 93 | n01828970 bee eater 94 | n01829413 hornbill 95 | n01833805 hummingbird 96 | n01843065 jacamar 97 | n01843383 toucan 98 | n01847000 drake 99 | n01855032 red-breasted merganser, Mergus serrator 100 | n01855672 goose 101 | n01860187 black swan, Cygnus atratus 102 | n01871265 tusker 103 | n01872401 echidna, spiny anteater, anteater 104 | n01873310 platypus, duckbill, duckbilled platypus, duck-billed platypus, Ornithorhynchus anatinus 105 | n01877812 wallaby, brush kangaroo 106 | n01882714 koala, koala bear, kangaroo bear, native bear, Phascolarctos cinereus 107 | n01883070 wombat 108 | n01910747 jellyfish 109 | n01914609 sea anemone, anemone 110 | n01917289 brain coral 111 | n01924916 flatworm, platyhelminth 112 | n01930112 nematode, nematode worm, roundworm 113 | n01943899 conch 114 | n01944390 snail 115 | n01945685 slug 116 | n01950731 sea slug, nudibranch 117 | n01955084 chiton, coat-of-mail shell, sea cradle, polyplacophore 118 | n01968897 chambered nautilus, pearly nautilus, nautilus 119 | n01978287 Dungeness crab, Cancer magister 120 | n01978455 rock crab, Cancer irroratus 121 | n01980166 fiddler crab 122 | n01981276 king crab, Alaska crab, Alaskan king crab, Alaska king crab, Paralithodes camtschatica 123 | n01983481 American lobster, Northern lobster, Maine lobster, Homarus americanus 124 | n01984695 spiny lobster, langouste, rock lobster, crawfish, crayfish, sea crawfish 125 | n01985128 crayfish, crawfish, crawdad, crawdaddy 126 | n01986214 hermit crab 127 | n01990800 isopod 128 | n02002556 white stork, Ciconia ciconia 129 | n02002724 black stork, Ciconia nigra 130 | n02006656 spoonbill 131 | n02007558 flamingo 132 | n02009229 little blue heron, Egretta caerulea 133 | n02009912 American egret, great white heron, Egretta albus 134 | n02011460 bittern 135 | n02012849 crane 136 | n02013706 limpkin, Aramus pictus 137 | n02017213 European gallinule, Porphyrio porphyrio 138 | n02018207 American coot, marsh hen, mud hen, water hen, Fulica americana 139 | n02018795 bustard 140 | n02025239 ruddy turnstone, Arenaria interpres 141 | n02027492 red-backed sandpiper, dunlin, Erolia alpina 142 | n02028035 redshank, Tringa totanus 143 | n02033041 dowitcher 144 | n02037110 oystercatcher, oyster catcher 145 | n02051845 pelican 146 | n02056570 king penguin, Aptenodytes patagonica 147 | n02058221 albatross, mollymawk 148 | n02066245 grey whale, gray whale, devilfish, Eschrichtius gibbosus, Eschrichtius robustus 149 | n02071294 killer whale, killer, orca, grampus, sea wolf, Orcinus orca 150 | n02074367 dugong, Dugong dugon 151 | n02077923 sea lion 152 | n02085620 Chihuahua 153 | n02085782 Japanese spaniel 154 | n02085936 Maltese dog, Maltese terrier, Maltese 155 | n02086079 Pekinese, Pekingese, Peke 156 | n02086240 Shih-Tzu 157 | n02086646 Blenheim spaniel 158 | n02086910 papillon 159 | n02087046 toy terrier 160 | n02087394 Rhodesian ridgeback 161 | n02088094 Afghan hound, Afghan 162 | n02088238 basset, basset hound 163 | n02088364 beagle 164 | n02088466 bloodhound, sleuthhound 165 | n02088632 bluetick 166 | n02089078 black-and-tan coonhound 167 | n02089867 Walker hound, Walker foxhound 168 | n02089973 English foxhound 169 | n02090379 redbone 170 | n02090622 borzoi, Russian wolfhound 171 | n02090721 Irish wolfhound 172 | n02091032 Italian greyhound 173 | n02091134 whippet 174 | n02091244 Ibizan hound, Ibizan Podenco 175 | n02091467 Norwegian elkhound, elkhound 176 | n02091635 otterhound, otter hound 177 | n02091831 Saluki, gazelle hound 178 | n02092002 Scottish deerhound, deerhound 179 | n02092339 Weimaraner 180 | n02093256 Staffordshire bullterrier, Staffordshire bull terrier 181 | n02093428 American Staffordshire terrier, Staffordshire terrier, American pit bull terrier, pit bull terrier 182 | n02093647 Bedlington terrier 183 | n02093754 Border terrier 184 | n02093859 Kerry blue terrier 185 | n02093991 Irish terrier 186 | n02094114 Norfolk terrier 187 | n02094258 Norwich terrier 188 | n02094433 Yorkshire terrier 189 | n02095314 wire-haired fox terrier 190 | n02095570 Lakeland terrier 191 | n02095889 Sealyham terrier, Sealyham 192 | n02096051 Airedale, Airedale terrier 193 | n02096177 cairn, cairn terrier 194 | n02096294 Australian terrier 195 | n02096437 Dandie Dinmont, Dandie Dinmont terrier 196 | n02096585 Boston bull, Boston terrier 197 | n02097047 miniature schnauzer 198 | n02097130 giant schnauzer 199 | n02097209 standard schnauzer 200 | n02097298 Scotch terrier, Scottish terrier, Scottie 201 | n02097474 Tibetan terrier, chrysanthemum dog 202 | n02097658 silky terrier, Sydney silky 203 | n02098105 soft-coated wheaten terrier 204 | n02098286 West Highland white terrier 205 | n02098413 Lhasa, Lhasa apso 206 | n02099267 flat-coated retriever 207 | n02099429 curly-coated retriever 208 | n02099601 golden retriever 209 | n02099712 Labrador retriever 210 | n02099849 Chesapeake Bay retriever 211 | n02100236 German short-haired pointer 212 | n02100583 vizsla, Hungarian pointer 213 | n02100735 English setter 214 | n02100877 Irish setter, red setter 215 | n02101006 Gordon setter 216 | n02101388 Brittany spaniel 217 | n02101556 clumber, clumber spaniel 218 | n02102040 English springer, English springer spaniel 219 | n02102177 Welsh springer spaniel 220 | n02102318 cocker spaniel, English cocker spaniel, cocker 221 | n02102480 Sussex spaniel 222 | n02102973 Irish water spaniel 223 | n02104029 kuvasz 224 | n02104365 schipperke 225 | n02105056 groenendael 226 | n02105162 malinois 227 | n02105251 briard 228 | n02105412 kelpie 229 | n02105505 komondor 230 | n02105641 Old English sheepdog, bobtail 231 | n02105855 Shetland sheepdog, Shetland sheep dog, Shetland 232 | n02106030 collie 233 | n02106166 Border collie 234 | n02106382 Bouvier des Flandres, Bouviers des Flandres 235 | n02106550 Rottweiler 236 | n02106662 German shepherd, German shepherd dog, German police dog, alsatian 237 | n02107142 Doberman, Doberman pinscher 238 | n02107312 miniature pinscher 239 | n02107574 Greater Swiss Mountain dog 240 | n02107683 Bernese mountain dog 241 | n02107908 Appenzeller 242 | n02108000 EntleBucher 243 | n02108089 boxer 244 | n02108422 bull mastiff 245 | n02108551 Tibetan mastiff 246 | n02108915 French bulldog 247 | n02109047 Great Dane 248 | n02109525 Saint Bernard, St Bernard 249 | n02109961 Eskimo dog, husky 250 | n02110063 malamute, malemute, Alaskan malamute 251 | n02110185 Siberian husky 252 | n02110341 dalmatian, coach dog, carriage dog 253 | n02110627 affenpinscher, monkey pinscher, monkey dog 254 | n02110806 basenji 255 | n02110958 pug, pug-dog 256 | n02111129 Leonberg 257 | n02111277 Newfoundland, Newfoundland dog 258 | n02111500 Great Pyrenees 259 | n02111889 Samoyed, Samoyede 260 | n02112018 Pomeranian 261 | n02112137 chow, chow chow 262 | n02112350 keeshond 263 | n02112706 Brabancon griffon 264 | n02113023 Pembroke, Pembroke Welsh corgi 265 | n02113186 Cardigan, Cardigan Welsh corgi 266 | n02113624 toy poodle 267 | n02113712 miniature poodle 268 | n02113799 standard poodle 269 | n02113978 Mexican hairless 270 | n02114367 timber wolf, grey wolf, gray wolf, Canis lupus 271 | n02114548 white wolf, Arctic wolf, Canis lupus tundrarum 272 | n02114712 red wolf, maned wolf, Canis rufus, Canis niger 273 | n02114855 coyote, prairie wolf, brush wolf, Canis latrans 274 | n02115641 dingo, warrigal, warragal, Canis dingo 275 | n02115913 dhole, Cuon alpinus 276 | n02116738 African hunting dog, hyena dog, Cape hunting dog, Lycaon pictus 277 | n02117135 hyena, hyaena 278 | n02119022 red fox, Vulpes vulpes 279 | n02119789 kit fox, Vulpes macrotis 280 | n02120079 Arctic fox, white fox, Alopex lagopus 281 | n02120505 grey fox, gray fox, Urocyon cinereoargenteus 282 | n02123045 tabby, tabby cat 283 | n02123159 tiger cat 284 | n02123394 Persian cat 285 | n02123597 Siamese cat, Siamese 286 | n02124075 Egyptian cat 287 | n02125311 cougar, puma, catamount, mountain lion, painter, panther, Felis concolor 288 | n02127052 lynx, catamount 289 | n02128385 leopard, Panthera pardus 290 | n02128757 snow leopard, ounce, Panthera uncia 291 | n02128925 jaguar, panther, Panthera onca, Felis onca 292 | n02129165 lion, king of beasts, Panthera leo 293 | n02129604 tiger, Panthera tigris 294 | n02130308 cheetah, chetah, Acinonyx jubatus 295 | n02132136 brown bear, bruin, Ursus arctos 296 | n02133161 American black bear, black bear, Ursus americanus, Euarctos americanus 297 | n02134084 ice bear, polar bear, Ursus Maritimus, Thalarctos maritimus 298 | n02134418 sloth bear, Melursus ursinus, Ursus ursinus 299 | n02137549 mongoose 300 | n02138441 meerkat, mierkat 301 | n02165105 tiger beetle 302 | n02165456 ladybug, ladybeetle, lady beetle, ladybird, ladybird beetle 303 | n02167151 ground beetle, carabid beetle 304 | n02168699 long-horned beetle, longicorn, longicorn beetle 305 | n02169497 leaf beetle, chrysomelid 306 | n02172182 dung beetle 307 | n02174001 rhinoceros beetle 308 | n02177972 weevil 309 | n02190166 fly 310 | n02206856 bee 311 | n02219486 ant, emmet, pismire 312 | n02226429 grasshopper, hopper 313 | n02229544 cricket 314 | n02231487 walking stick, walkingstick, stick insect 315 | n02233338 cockroach, roach 316 | n02236044 mantis, mantid 317 | n02256656 cicada, cicala 318 | n02259212 leafhopper 319 | n02264363 lacewing, lacewing fly 320 | n02268443 dragonfly, darning needle, devil's darning needle, sewing needle, snake feeder, snake doctor, mosquito hawk, skeeter hawk 321 | n02268853 damselfly 322 | n02276258 admiral 323 | n02277742 ringlet, ringlet butterfly 324 | n02279972 monarch, monarch butterfly, milkweed butterfly, Danaus plexippus 325 | n02280649 cabbage butterfly 326 | n02281406 sulphur butterfly, sulfur butterfly 327 | n02281787 lycaenid, lycaenid butterfly 328 | n02317335 starfish, sea star 329 | n02319095 sea urchin 330 | n02321529 sea cucumber, holothurian 331 | n02325366 wood rabbit, cottontail, cottontail rabbit 332 | n02326432 hare 333 | n02328150 Angora, Angora rabbit 334 | n02342885 hamster 335 | n02346627 porcupine, hedgehog 336 | n02356798 fox squirrel, eastern fox squirrel, Sciurus niger 337 | n02361337 marmot 338 | n02363005 beaver 339 | n02364673 guinea pig, Cavia cobaya 340 | n02389026 sorrel 341 | n02391049 zebra 342 | n02395406 hog, pig, grunter, squealer, Sus scrofa 343 | n02396427 wild boar, boar, Sus scrofa 344 | n02397096 warthog 345 | n02398521 hippopotamus, hippo, river horse, Hippopotamus amphibius 346 | n02403003 ox 347 | n02408429 water buffalo, water ox, Asiatic buffalo, Bubalus bubalis 348 | n02410509 bison 349 | n02412080 ram, tup 350 | n02415577 bighorn, bighorn sheep, cimarron, Rocky Mountain bighorn, Rocky Mountain sheep, Ovis canadensis 351 | n02417914 ibex, Capra ibex 352 | n02422106 hartebeest 353 | n02422699 impala, Aepyceros melampus 354 | n02423022 gazelle 355 | n02437312 Arabian camel, dromedary, Camelus dromedarius 356 | n02437616 llama 357 | n02441942 weasel 358 | n02442845 mink 359 | n02443114 polecat, fitch, foulmart, foumart, Mustela putorius 360 | n02443484 black-footed ferret, ferret, Mustela nigripes 361 | n02444819 otter 362 | n02445715 skunk, polecat, wood pussy 363 | n02447366 badger 364 | n02454379 armadillo 365 | n02457408 three-toed sloth, ai, Bradypus tridactylus 366 | n02480495 orangutan, orang, orangutang, Pongo pygmaeus 367 | n02480855 gorilla, Gorilla gorilla 368 | n02481823 chimpanzee, chimp, Pan troglodytes 369 | n02483362 gibbon, Hylobates lar 370 | n02483708 siamang, Hylobates syndactylus, Symphalangus syndactylus 371 | n02484975 guenon, guenon monkey 372 | n02486261 patas, hussar monkey, Erythrocebus patas 373 | n02486410 baboon 374 | n02487347 macaque 375 | n02488291 langur 376 | n02488702 colobus, colobus monkey 377 | n02489166 proboscis monkey, Nasalis larvatus 378 | n02490219 marmoset 379 | n02492035 capuchin, ringtail, Cebus capucinus 380 | n02492660 howler monkey, howler 381 | n02493509 titi, titi monkey 382 | n02493793 spider monkey, Ateles geoffroyi 383 | n02494079 squirrel monkey, Saimiri sciureus 384 | n02497673 Madagascar cat, ring-tailed lemur, Lemur catta 385 | n02500267 indri, indris, Indri indri, Indri brevicaudatus 386 | n02504013 Indian elephant, Elephas maximus 387 | n02504458 African elephant, Loxodonta africana 388 | n02509815 lesser panda, red panda, panda, bear cat, cat bear, Ailurus fulgens 389 | n02510455 giant panda, panda, panda bear, coon bear, Ailuropoda melanoleuca 390 | n02514041 barracouta, snoek 391 | n02526121 eel 392 | n02536864 coho, cohoe, coho salmon, blue jack, silver salmon, Oncorhynchus kisutch 393 | n02606052 rock beauty, Holocanthus tricolor 394 | n02607072 anemone fish 395 | n02640242 sturgeon 396 | n02641379 gar, garfish, garpike, billfish, Lepisosteus osseus 397 | n02643566 lionfish 398 | n02655020 puffer, pufferfish, blowfish, globefish 399 | n02666196 abacus 400 | n02667093 abaya 401 | n02669723 academic gown, academic robe, judge's robe 402 | n02672831 accordion, piano accordion, squeeze box 403 | n02676566 acoustic guitar 404 | n02687172 aircraft carrier, carrier, flattop, attack aircraft carrier 405 | n02690373 airliner 406 | n02692877 airship, dirigible 407 | n02699494 altar 408 | n02701002 ambulance 409 | n02704792 amphibian, amphibious vehicle 410 | n02708093 analog clock 411 | n02727426 apiary, bee house 412 | n02730930 apron 413 | n02747177 ashcan, trash can, garbage can, wastebin, ash bin, ash-bin, ashbin, dustbin, trash barrel, trash bin 414 | n02749479 assault rifle, assault gun 415 | n02769748 backpack, back pack, knapsack, packsack, rucksack, haversack 416 | n02776631 bakery, bakeshop, bakehouse 417 | n02777292 balance beam, beam 418 | n02782093 balloon 419 | n02783161 ballpoint, ballpoint pen, ballpen, Biro 420 | n02786058 Band Aid 421 | n02787622 banjo 422 | n02788148 bannister, banister, balustrade, balusters, handrail 423 | n02790996 barbell 424 | n02791124 barber chair 425 | n02791270 barbershop 426 | n02793495 barn 427 | n02794156 barometer 428 | n02795169 barrel, cask 429 | n02797295 barrow, garden cart, lawn cart, wheelbarrow 430 | n02799071 baseball 431 | n02802426 basketball 432 | n02804414 bassinet 433 | n02804610 bassoon 434 | n02807133 bathing cap, swimming cap 435 | n02808304 bath towel 436 | n02808440 bathtub, bathing tub, bath, tub 437 | n02814533 beach wagon, station wagon, wagon, estate car, beach waggon, station waggon, waggon 438 | n02814860 beacon, lighthouse, beacon light, pharos 439 | n02815834 beaker 440 | n02817516 bearskin, busby, shako 441 | n02823428 beer bottle 442 | n02823750 beer glass 443 | n02825657 bell cote, bell cot 444 | n02834397 bib 445 | n02835271 bicycle-built-for-two, tandem bicycle, tandem 446 | n02837789 bikini, two-piece 447 | n02840245 binder, ring-binder 448 | n02841315 binoculars, field glasses, opera glasses 449 | n02843684 birdhouse 450 | n02859443 boathouse 451 | n02860847 bobsled, bobsleigh, bob 452 | n02865351 bolo tie, bolo, bola tie, bola 453 | n02869837 bonnet, poke bonnet 454 | n02870880 bookcase 455 | n02871525 bookshop, bookstore, bookstall 456 | n02877765 bottlecap 457 | n02879718 bow 458 | n02883205 bow tie, bow-tie, bowtie 459 | n02892201 brass, memorial tablet, plaque 460 | n02892767 brassiere, bra, bandeau 461 | n02894605 breakwater, groin, groyne, mole, bulwark, seawall, jetty 462 | n02895154 breastplate, aegis, egis 463 | n02906734 broom 464 | n02909870 bucket, pail 465 | n02910353 buckle 466 | n02916936 bulletproof vest 467 | n02917067 bullet train, bullet 468 | n02927161 butcher shop, meat market 469 | n02930766 cab, hack, taxi, taxicab 470 | n02939185 caldron, cauldron 471 | n02948072 candle, taper, wax light 472 | n02950826 cannon 473 | n02951358 canoe 474 | n02951585 can opener, tin opener 475 | n02963159 cardigan 476 | n02965783 car mirror 477 | n02966193 carousel, carrousel, merry-go-round, roundabout, whirligig 478 | n02966687 carpenter's kit, tool kit 479 | n02971356 carton 480 | n02974003 car wheel 481 | n02977058 cash machine, cash dispenser, automated teller machine, automatic teller machine, automated teller, automatic teller, ATM 482 | n02978881 cassette 483 | n02979186 cassette player 484 | n02980441 castle 485 | n02981792 catamaran 486 | n02988304 CD player 487 | n02992211 cello, violoncello 488 | n02992529 cellular telephone, cellular phone, cellphone, cell, mobile phone 489 | n02999410 chain 490 | n03000134 chainlink fence 491 | n03000247 chain mail, ring mail, mail, chain armor, chain armour, ring armor, ring armour 492 | n03000684 chain saw, chainsaw 493 | n03014705 chest 494 | n03016953 chiffonier, commode 495 | n03017168 chime, bell, gong 496 | n03018349 china cabinet, china closet 497 | n03026506 Christmas stocking 498 | n03028079 church, church building 499 | n03032252 cinema, movie theater, movie theatre, movie house, picture palace 500 | n03041632 cleaver, meat cleaver, chopper 501 | n03042490 cliff dwelling 502 | n03045698 cloak 503 | n03047690 clog, geta, patten, sabot 504 | n03062245 cocktail shaker 505 | n03063599 coffee mug 506 | n03063689 coffeepot 507 | n03065424 coil, spiral, volute, whorl, helix 508 | n03075370 combination lock 509 | n03085013 computer keyboard, keypad 510 | n03089624 confectionery, confectionary, candy store 511 | n03095699 container ship, containership, container vessel 512 | n03100240 convertible 513 | n03109150 corkscrew, bottle screw 514 | n03110669 cornet, horn, trumpet, trump 515 | n03124043 cowboy boot 516 | n03124170 cowboy hat, ten-gallon hat 517 | n03125729 cradle 518 | n03126707 crane 519 | n03127747 crash helmet 520 | n03127925 crate 521 | n03131574 crib, cot 522 | n03133878 Crock Pot 523 | n03134739 croquet ball 524 | n03141823 crutch 525 | n03146219 cuirass 526 | n03160309 dam, dike, dyke 527 | n03179701 desk 528 | n03180011 desktop computer 529 | n03187595 dial telephone, dial phone 530 | n03188531 diaper, nappy, napkin 531 | n03196217 digital clock 532 | n03197337 digital watch 533 | n03201208 dining table, board 534 | n03207743 dishrag, dishcloth 535 | n03207941 dishwasher, dish washer, dishwashing machine 536 | n03208938 disk brake, disc brake 537 | n03216828 dock, dockage, docking facility 538 | n03218198 dogsled, dog sled, dog sleigh 539 | n03220513 dome 540 | n03223299 doormat, welcome mat 541 | n03240683 drilling platform, offshore rig 542 | n03249569 drum, membranophone, tympan 543 | n03250847 drumstick 544 | n03255030 dumbbell 545 | n03259280 Dutch oven 546 | n03271574 electric fan, blower 547 | n03272010 electric guitar 548 | n03272562 electric locomotive 549 | n03290653 entertainment center 550 | n03291819 envelope 551 | n03297495 espresso maker 552 | n03314780 face powder 553 | n03325584 feather boa, boa 554 | n03337140 file, file cabinet, filing cabinet 555 | n03344393 fireboat 556 | n03345487 fire engine, fire truck 557 | n03347037 fire screen, fireguard 558 | n03355925 flagpole, flagstaff 559 | n03372029 flute, transverse flute 560 | n03376595 folding chair 561 | n03379051 football helmet 562 | n03384352 forklift 563 | n03388043 fountain 564 | n03388183 fountain pen 565 | n03388549 four-poster 566 | n03393912 freight car 567 | n03394916 French horn, horn 568 | n03400231 frying pan, frypan, skillet 569 | n03404251 fur coat 570 | n03417042 garbage truck, dustcart 571 | n03424325 gasmask, respirator, gas helmet 572 | n03425413 gas pump, gasoline pump, petrol pump, island dispenser 573 | n03443371 goblet 574 | n03444034 go-kart 575 | n03445777 golf ball 576 | n03445924 golfcart, golf cart 577 | n03447447 gondola 578 | n03447721 gong, tam-tam 579 | n03450230 gown 580 | n03452741 grand piano, grand 581 | n03457902 greenhouse, nursery, glasshouse 582 | n03459775 grille, radiator grille 583 | n03461385 grocery store, grocery, food market, market 584 | n03467068 guillotine 585 | n03476684 hair slide 586 | n03476991 hair spray 587 | n03478589 half track 588 | n03481172 hammer 589 | n03482405 hamper 590 | n03483316 hand blower, blow dryer, blow drier, hair dryer, hair drier 591 | n03485407 hand-held computer, hand-held microcomputer 592 | n03485794 handkerchief, hankie, hanky, hankey 593 | n03492542 hard disc, hard disk, fixed disk 594 | n03494278 harmonica, mouth organ, harp, mouth harp 595 | n03495258 harp 596 | n03496892 harvester, reaper 597 | n03498962 hatchet 598 | n03527444 holster 599 | n03529860 home theater, home theatre 600 | n03530642 honeycomb 601 | n03532672 hook, claw 602 | n03534580 hoopskirt, crinoline 603 | n03535780 horizontal bar, high bar 604 | n03538406 horse cart, horse-cart 605 | n03544143 hourglass 606 | n03584254 iPod 607 | n03584829 iron, smoothing iron 608 | n03590841 jack-o'-lantern 609 | n03594734 jean, blue jean, denim 610 | n03594945 jeep, landrover 611 | n03595614 jersey, T-shirt, tee shirt 612 | n03598930 jigsaw puzzle 613 | n03599486 jinrikisha, ricksha, rickshaw 614 | n03602883 joystick 615 | n03617480 kimono 616 | n03623198 knee pad 617 | n03627232 knot 618 | n03630383 lab coat, laboratory coat 619 | n03633091 ladle 620 | n03637318 lampshade, lamp shade 621 | n03642806 laptop, laptop computer 622 | n03649909 lawn mower, mower 623 | n03657121 lens cap, lens cover 624 | n03658185 letter opener, paper knife, paperknife 625 | n03661043 library 626 | n03662601 lifeboat 627 | n03666591 lighter, light, igniter, ignitor 628 | n03670208 limousine, limo 629 | n03673027 liner, ocean liner 630 | n03676483 lipstick, lip rouge 631 | n03680355 Loafer 632 | n03690938 lotion 633 | n03691459 loudspeaker, speaker, speaker unit, loudspeaker system, speaker system 634 | n03692522 loupe, jeweler's loupe 635 | n03697007 lumbermill, sawmill 636 | n03706229 magnetic compass 637 | n03709823 mailbag, postbag 638 | n03710193 mailbox, letter box 639 | n03710637 maillot 640 | n03710721 maillot, tank suit 641 | n03717622 manhole cover 642 | n03720891 maraca 643 | n03721384 marimba, xylophone 644 | n03724870 mask 645 | n03729826 matchstick 646 | n03733131 maypole 647 | n03733281 maze, labyrinth 648 | n03733805 measuring cup 649 | n03742115 medicine chest, medicine cabinet 650 | n03743016 megalith, megalithic structure 651 | n03759954 microphone, mike 652 | n03761084 microwave, microwave oven 653 | n03763968 military uniform 654 | n03764736 milk can 655 | n03769881 minibus 656 | n03770439 miniskirt, mini 657 | n03770679 minivan 658 | n03773504 missile 659 | n03775071 mitten 660 | n03775546 mixing bowl 661 | n03776460 mobile home, manufactured home 662 | n03777568 Model T 663 | n03777754 modem 664 | n03781244 monastery 665 | n03782006 monitor 666 | n03785016 moped 667 | n03786901 mortar 668 | n03787032 mortarboard 669 | n03788195 mosque 670 | n03788365 mosquito net 671 | n03791053 motor scooter, scooter 672 | n03792782 mountain bike, all-terrain bike, off-roader 673 | n03792972 mountain tent 674 | n03793489 mouse, computer mouse 675 | n03794056 mousetrap 676 | n03796401 moving van 677 | n03803284 muzzle 678 | n03804744 nail 679 | n03814639 neck brace 680 | n03814906 necklace 681 | n03825788 nipple 682 | n03832673 notebook, notebook computer 683 | n03837869 obelisk 684 | n03838899 oboe, hautboy, hautbois 685 | n03840681 ocarina, sweet potato 686 | n03841143 odometer, hodometer, mileometer, milometer 687 | n03843555 oil filter 688 | n03854065 organ, pipe organ 689 | n03857828 oscilloscope, scope, cathode-ray oscilloscope, CRO 690 | n03866082 overskirt 691 | n03868242 oxcart 692 | n03868863 oxygen mask 693 | n03871628 packet 694 | n03873416 paddle, boat paddle 695 | n03874293 paddlewheel, paddle wheel 696 | n03874599 padlock 697 | n03876231 paintbrush 698 | n03877472 pajama, pyjama, pj's, jammies 699 | n03877845 palace 700 | n03884397 panpipe, pandean pipe, syrinx 701 | n03887697 paper towel 702 | n03888257 parachute, chute 703 | n03888605 parallel bars, bars 704 | n03891251 park bench 705 | n03891332 parking meter 706 | n03895866 passenger car, coach, carriage 707 | n03899768 patio, terrace 708 | n03902125 pay-phone, pay-station 709 | n03903868 pedestal, plinth, footstall 710 | n03908618 pencil box, pencil case 711 | n03908714 pencil sharpener 712 | n03916031 perfume, essence 713 | n03920288 Petri dish 714 | n03924679 photocopier 715 | n03929660 pick, plectrum, plectron 716 | n03929855 pickelhaube 717 | n03930313 picket fence, paling 718 | n03930630 pickup, pickup truck 719 | n03933933 pier 720 | n03935335 piggy bank, penny bank 721 | n03937543 pill bottle 722 | n03938244 pillow 723 | n03942813 ping-pong ball 724 | n03944341 pinwheel 725 | n03947888 pirate, pirate ship 726 | n03950228 pitcher, ewer 727 | n03954731 plane, carpenter's plane, woodworking plane 728 | n03956157 planetarium 729 | n03958227 plastic bag 730 | n03961711 plate rack 731 | n03967562 plow, plough 732 | n03970156 plunger, plumber's helper 733 | n03976467 Polaroid camera, Polaroid Land camera 734 | n03976657 pole 735 | n03977966 police van, police wagon, paddy wagon, patrol wagon, wagon, black Maria 736 | n03980874 poncho 737 | n03982430 pool table, billiard table, snooker table 738 | n03983396 pop bottle, soda bottle 739 | n03991062 pot, flowerpot 740 | n03992509 potter's wheel 741 | n03995372 power drill 742 | n03998194 prayer rug, prayer mat 743 | n04004767 printer 744 | n04005630 prison, prison house 745 | n04008634 projectile, missile 746 | n04009552 projector 747 | n04019541 puck, hockey puck 748 | n04023962 punching bag, punch bag, punching ball, punchball 749 | n04026417 purse 750 | n04033901 quill, quill pen 751 | n04033995 quilt, comforter, comfort, puff 752 | n04037443 racer, race car, racing car 753 | n04039381 racket, racquet 754 | n04040759 radiator 755 | n04041544 radio, wireless 756 | n04044716 radio telescope, radio reflector 757 | n04049303 rain barrel 758 | n04065272 recreational vehicle, RV, R.V. 759 | n04067472 reel 760 | n04069434 reflex camera 761 | n04070727 refrigerator, icebox 762 | n04074963 remote control, remote 763 | n04081281 restaurant, eating house, eating place, eatery 764 | n04086273 revolver, six-gun, six-shooter 765 | n04090263 rifle 766 | n04099969 rocking chair, rocker 767 | n04111531 rotisserie 768 | n04116512 rubber eraser, rubber, pencil eraser 769 | n04118538 rugby ball 770 | n04118776 rule, ruler 771 | n04120489 running shoe 772 | n04125021 safe 773 | n04127249 safety pin 774 | n04131690 saltshaker, salt shaker 775 | n04133789 sandal 776 | n04136333 sarong 777 | n04141076 sax, saxophone 778 | n04141327 scabbard 779 | n04141975 scale, weighing machine 780 | n04146614 school bus 781 | n04147183 schooner 782 | n04149813 scoreboard 783 | n04152593 screen, CRT screen 784 | n04153751 screw 785 | n04154565 screwdriver 786 | n04162706 seat belt, seatbelt 787 | n04179913 sewing machine 788 | n04192698 shield, buckler 789 | n04200800 shoe shop, shoe-shop, shoe store 790 | n04201297 shoji 791 | n04204238 shopping basket 792 | n04204347 shopping cart 793 | n04208210 shovel 794 | n04209133 shower cap 795 | n04209239 shower curtain 796 | n04228054 ski 797 | n04229816 ski mask 798 | n04235860 sleeping bag 799 | n04238763 slide rule, slipstick 800 | n04239074 sliding door 801 | n04243546 slot, one-armed bandit 802 | n04251144 snorkel 803 | n04252077 snowmobile 804 | n04252225 snowplow, snowplough 805 | n04254120 soap dispenser 806 | n04254680 soccer ball 807 | n04254777 sock 808 | n04258138 solar dish, solar collector, solar furnace 809 | n04259630 sombrero 810 | n04263257 soup bowl 811 | n04264628 space bar 812 | n04265275 space heater 813 | n04266014 space shuttle 814 | n04270147 spatula 815 | n04273569 speedboat 816 | n04275548 spider web, spider's web 817 | n04277352 spindle 818 | n04285008 sports car, sport car 819 | n04286575 spotlight, spot 820 | n04296562 stage 821 | n04310018 steam locomotive 822 | n04311004 steel arch bridge 823 | n04311174 steel drum 824 | n04317175 stethoscope 825 | n04325704 stole 826 | n04326547 stone wall 827 | n04328186 stopwatch, stop watch 828 | n04330267 stove 829 | n04332243 strainer 830 | n04335435 streetcar, tram, tramcar, trolley, trolley car 831 | n04336792 stretcher 832 | n04344873 studio couch, day bed 833 | n04346328 stupa, tope 834 | n04347754 submarine, pigboat, sub, U-boat 835 | n04350905 suit, suit of clothes 836 | n04355338 sundial 837 | n04355933 sunglass 838 | n04356056 sunglasses, dark glasses, shades 839 | n04357314 sunscreen, sunblock, sun blocker 840 | n04366367 suspension bridge 841 | n04367480 swab, swob, mop 842 | n04370456 sweatshirt 843 | n04371430 swimming trunks, bathing trunks 844 | n04371774 swing 845 | n04372370 switch, electric switch, electrical switch 846 | n04376876 syringe 847 | n04380533 table lamp 848 | n04389033 tank, army tank, armored combat vehicle, armoured combat vehicle 849 | n04392985 tape player 850 | n04398044 teapot 851 | n04399382 teddy, teddy bear 852 | n04404412 television, television system 853 | n04409515 tennis ball 854 | n04417672 thatch, thatched roof 855 | n04418357 theater curtain, theatre curtain 856 | n04423845 thimble 857 | n04428191 thresher, thrasher, threshing machine 858 | n04429376 throne 859 | n04435653 tile roof 860 | n04442312 toaster 861 | n04443257 tobacco shop, tobacconist shop, tobacconist 862 | n04447861 toilet seat 863 | n04456115 torch 864 | n04458633 totem pole 865 | n04461696 tow truck, tow car, wrecker 866 | n04462240 toyshop 867 | n04465501 tractor 868 | n04467665 trailer truck, tractor trailer, trucking rig, rig, articulated lorry, semi 869 | n04476259 tray 870 | n04479046 trench coat 871 | n04482393 tricycle, trike, velocipede 872 | n04483307 trimaran 873 | n04485082 tripod 874 | n04486054 triumphal arch 875 | n04487081 trolleybus, trolley coach, trackless trolley 876 | n04487394 trombone 877 | n04493381 tub, vat 878 | n04501370 turnstile 879 | n04505470 typewriter keyboard 880 | n04507155 umbrella 881 | n04509417 unicycle, monocycle 882 | n04515003 upright, upright piano 883 | n04517823 vacuum, vacuum cleaner 884 | n04522168 vase 885 | n04523525 vault 886 | n04525038 velvet 887 | n04525305 vending machine 888 | n04532106 vestment 889 | n04532670 viaduct 890 | n04536866 violin, fiddle 891 | n04540053 volleyball 892 | n04542943 waffle iron 893 | n04548280 wall clock 894 | n04548362 wallet, billfold, notecase, pocketbook 895 | n04550184 wardrobe, closet, press 896 | n04552348 warplane, military plane 897 | n04553703 washbasin, handbasin, washbowl, lavabo, wash-hand basin 898 | n04554684 washer, automatic washer, washing machine 899 | n04557648 water bottle 900 | n04560804 water jug 901 | n04562935 water tower 902 | n04579145 whiskey jug 903 | n04579432 whistle 904 | n04584207 wig 905 | n04589890 window screen 906 | n04590129 window shade 907 | n04591157 Windsor tie 908 | n04591713 wine bottle 909 | n04592741 wing 910 | n04596742 wok 911 | n04597913 wooden spoon 912 | n04599235 wool, woolen, woollen 913 | n04604644 worm fence, snake fence, snake-rail fence, Virginia fence 914 | n04606251 wreck 915 | n04612504 yawl 916 | n04613696 yurt 917 | n06359193 web site, website, internet site, site 918 | n06596364 comic book 919 | n06785654 crossword puzzle, crossword 920 | n06794110 street sign 921 | n06874185 traffic light, traffic signal, stoplight 922 | n07248320 book jacket, dust cover, dust jacket, dust wrapper 923 | n07565083 menu 924 | n07579787 plate 925 | n07583066 guacamole 926 | n07584110 consomme 927 | n07590611 hot pot, hotpot 928 | n07613480 trifle 929 | n07614500 ice cream, icecream 930 | n07615774 ice lolly, lolly, lollipop, popsicle 931 | n07684084 French loaf 932 | n07693725 bagel, beigel 933 | n07695742 pretzel 934 | n07697313 cheeseburger 935 | n07697537 hotdog, hot dog, red hot 936 | n07711569 mashed potato 937 | n07714571 head cabbage 938 | n07714990 broccoli 939 | n07715103 cauliflower 940 | n07716358 zucchini, courgette 941 | n07716906 spaghetti squash 942 | n07717410 acorn squash 943 | n07717556 butternut squash 944 | n07718472 cucumber, cuke 945 | n07718747 artichoke, globe artichoke 946 | n07720875 bell pepper 947 | n07730033 cardoon 948 | n07734744 mushroom 949 | n07742313 Granny Smith 950 | n07745940 strawberry 951 | n07747607 orange 952 | n07749582 lemon 953 | n07753113 fig 954 | n07753275 pineapple, ananas 955 | n07753592 banana 956 | n07754684 jackfruit, jak, jack 957 | n07760859 custard apple 958 | n07768694 pomegranate 959 | n07802026 hay 960 | n07831146 carbonara 961 | n07836838 chocolate sauce, chocolate syrup 962 | n07860988 dough 963 | n07871810 meat loaf, meatloaf 964 | n07873807 pizza, pizza pie 965 | n07875152 potpie 966 | n07880968 burrito 967 | n07892512 red wine 968 | n07920052 espresso 969 | n07930864 cup 970 | n07932039 eggnog 971 | n09193705 alp 972 | n09229709 bubble 973 | n09246464 cliff, drop, drop-off 974 | n09256479 coral reef 975 | n09288635 geyser 976 | n09332890 lakeside, lakeshore 977 | n09399592 promontory, headland, head, foreland 978 | n09421951 sandbar, sand bar 979 | n09428293 seashore, coast, seacoast, sea-coast 980 | n09468604 valley, vale 981 | n09472597 volcano 982 | n09835506 ballplayer, baseball player 983 | n10148035 groom, bridegroom 984 | n10565667 scuba diver 985 | n11879895 rapeseed 986 | n11939491 daisy 987 | n12057211 yellow lady's slipper, yellow lady-slipper, Cypripedium calceolus, Cypripedium parviflorum 988 | n12144580 corn 989 | n12267677 acorn 990 | n12620546 hip, rose hip, rosehip 991 | n12768682 buckeye, horse chestnut, conker 992 | n12985857 coral fungus 993 | n12998815 agaric 994 | n13037406 gyromitra 995 | n13040303 stinkhorn, carrion fungus 996 | n13044778 earthstar 997 | n13052670 hen-of-the-woods, hen of the woods, Polyporus frondosus, Grifola frondosa 998 | n13054560 bolete 999 | n13133613 ear, spike, capitulum 1000 | n15075141 toilet tissue, toilet paper, bathroom tissue 1001 | -------------------------------------------------------------------------------- /utils.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | from matplotlib import pyplot as plt 3 | import torch 4 | from torch.utils.data.sampler import Sampler 5 | from torchvision import transforms, datasets 6 | from PIL import Image 7 | 8 | 9 | # Dummy class to store arguments 10 | class Dummy(): 11 | pass 12 | 13 | 14 | # Function that opens image from disk, normalizes it and converts to tensor 15 | read_tensor = transforms.Compose([ 16 | lambda x: Image.open(x), 17 | transforms.Resize((224, 224)), 18 | transforms.ToTensor(), 19 | transforms.Normalize(mean=[0.485, 0.456, 0.406], 20 | std=[0.229, 0.224, 0.225]), 21 | lambda x: torch.unsqueeze(x, 0) 22 | ]) 23 | 24 | 25 | # Plots image from tensor 26 | def tensor_imshow(inp, title=None, **kwargs): 27 | """Imshow for Tensor.""" 28 | inp = inp.numpy().transpose((1, 2, 0)) 29 | # Mean and std for ImageNet 30 | mean = np.array([0.485, 0.456, 0.406]) 31 | std = np.array([0.229, 0.224, 0.225]) 32 | inp = std * inp + mean 33 | inp = np.clip(inp, 0, 1) 34 | plt.imshow(inp, **kwargs) 35 | if title is not None: 36 | plt.title(title) 37 | 38 | 39 | # Given label number returns class name 40 | def get_class_name(c): 41 | labels = np.loadtxt('synset_words.txt', str, delimiter='\t') 42 | return ' '.join(labels[c].split(',')[0].split()[1:]) 43 | 44 | 45 | # Image preprocessing function 46 | preprocess = transforms.Compose([ 47 | transforms.Resize((224, 224)), 48 | transforms.ToTensor(), 49 | # Normalization for ImageNet 50 | transforms.Normalize(mean=[0.485, 0.456, 0.406], 51 | std=[0.229, 0.224, 0.225]), 52 | ]) 53 | 54 | 55 | # Sampler for pytorch loader. Given range r loader will only 56 | # return dataset[r] instead of whole dataset. 57 | class RangeSampler(Sampler): 58 | def __init__(self, r): 59 | self.r = r 60 | 61 | def __iter__(self): 62 | return iter(self.r) 63 | 64 | def __len__(self): 65 | return len(self.r) 66 | --------------------------------------------------------------------------------