Skip to content

Instantly share code, notes, and snippets.

@mauicv
Last active April 26, 2022 16:45
Show Gist options
  • Save mauicv/aab7233515cb7349f9620304be2911c3 to your computer and use it in GitHub Desktop.
Save mauicv/aab7233515cb7349f9620304be2911c3 to your computer and use it in GitHub Desktop.
MNIST-tensorflow-similarity-example.ipynb
Display the source blob
Display the rendered blob
Raw
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"name": "MNIST-tensorflow-similarity-example.ipynb",
"provenance": [],
"collapsed_sections": [],
"authorship_tag": "ABX9TyO1yC72BJ50qw5mflkGo4Oz",
"include_colab_link": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
},
"language_info": {
"name": "python"
}
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/mauicv/aab7233515cb7349f9620304be2911c3/mnist-tensorflow-similarity-example.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"id": "h6DtwsM_xWbm",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "aef4388e-8f06-443e-9551-538afefd990d"
},
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"\u001b[K |████████████████████████████████| 4.0 MB 7.5 MB/s \n",
"\u001b[K |████████████████████████████████| 28.0 MB 2.1 MB/s \n",
"\u001b[K |████████████████████████████████| 462 kB 48.4 MB/s \n",
"\u001b[K |████████████████████████████████| 895 kB 45.8 MB/s \n",
"\u001b[K |████████████████████████████████| 6.6 MB 50.5 MB/s \n",
"\u001b[K |████████████████████████████████| 77 kB 6.0 MB/s \n",
"\u001b[K |████████████████████████████████| 596 kB 44.3 MB/s \n",
"\u001b[?25h Building wheel for alibi (setup.py) ... \u001b[?25l\u001b[?25hdone\n",
" Building wheel for spacy-lookups-data (setup.py) ... \u001b[?25l\u001b[?25hdone\n"
]
}
],
"source": [
"# Check if running on colab\n",
"try:\n",
" import google.colab\n",
" IN_COLAB = True\n",
"except:\n",
" IN_COLAB = False\n",
"\n",
"# mauicv:bugfix/sim-method-batch-explainations\n",
"\n",
"# pip install specific PR\n",
"if IN_COLAB:\n",
" !pip install -q git+https://github.com/mauicv/alibi.git@bugfix/sim-method-batch-explainations"
]
},
{
"cell_type": "code",
"source": [
"import tensorflow as tf\n",
"\n",
"from tensorflow.keras import datasets, layers, models\n",
"import matplotlib.pyplot as plt\n",
"import numpy as np"
],
"metadata": {
"id": "-TbRuYwVxdaQ"
},
"execution_count": 2,
"outputs": []
},
{
"cell_type": "code",
"source": [
"mnist = tf.keras.datasets.mnist\n",
"(x_train, y_train), (x_test, y_test) = mnist.load_data()"
],
"metadata": {
"id": "EW22BRS-xoZT",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "547c4703-3549-4546-d247-bbacbc6e80b0"
},
"execution_count": 3,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/mnist.npz\n",
"11493376/11490434 [==============================] - 0s 0us/step\n",
"11501568/11490434 [==============================] - 0s 0us/step\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"input_shape = (28, 28, 1)\n",
"\n",
"x_train=x_train.reshape(x_train.shape[0], x_train.shape[1], x_train.shape[2], 1)\n",
"x_train=x_train / 255.0\n",
"x_test = x_test.reshape(x_test.shape[0], x_test.shape[1], x_test.shape[2], 1)\n",
"x_test=x_test/255.0"
],
"metadata": {
"id": "vy_Yu4Luxov_"
},
"execution_count": 4,
"outputs": []
},
{
"cell_type": "code",
"source": [
"y_train = y_train.astype(np.int32)\n",
"y_test = y_test.astype(np.int32)"
],
"metadata": {
"id": "c3pNlg7tx2TY"
},
"execution_count": 5,
"outputs": []
},
{
"cell_type": "code",
"source": [
"batch_size = 64\n",
"num_classes = 10\n",
"epochs = 5"
],
"metadata": {
"id": "CFtFvlywx4jn"
},
"execution_count": 6,
"outputs": []
},
{
"cell_type": "code",
"source": [
"model = tf.keras.models.Sequential([\n",
" tf.keras.layers.Conv2D(32, (5,5), padding='same', activation='relu', input_shape=input_shape),\n",
" tf.keras.layers.MaxPool2D(),\n",
" tf.keras.layers.Conv2D(64, (3,3), padding='same', activation='relu'),\n",
" tf.keras.layers.Dense(128, activation='relu'),\n",
" tf.keras.layers.Dense(84, activation='relu'),\n",
" tf.keras.layers.Flatten(),\n",
" tf.keras.layers.Dense(num_classes, activation='softmax')\n",
"])\n",
"\n",
"criterion = tf.keras.losses.SparseCategoricalCrossentropy(from_logits=False)\n",
"\n",
"model.compile(optimizer=tf.keras.optimizers.RMSprop(epsilon=1e-08), loss=criterion, metrics=['acc'])"
],
"metadata": {
"id": "eQPviZUiyBxX"
},
"execution_count": 7,
"outputs": []
},
{
"cell_type": "code",
"source": [
"y_pred = model(x_train[0:1])\n",
"criterion(y_train[0: 1].astype(np.float64), y_pred)"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "-oJGPp2BUb8F",
"outputId": "cffb107c-b5aa-4f88-e274-0fd00aa02dc7"
},
"execution_count": 8,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<tf.Tensor: shape=(), dtype=float32, numpy=2.2812157>"
]
},
"metadata": {},
"execution_count": 8
}
]
},
{
"cell_type": "code",
"source": [
"model.fit(x_train, y_train,\n",
" batch_size=batch_size,\n",
" epochs=1,\n",
" validation_split=0.1)"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "b44KtdfbyETJ",
"outputId": "dfb21fc2-31bf-431b-ba9d-bea4f51b4e44"
},
"execution_count": 9,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"844/844 [==============================] - 94s 110ms/step - loss: 0.1411 - acc: 0.9563 - val_loss: 0.0447 - val_acc: 0.9868\n"
]
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<keras.callbacks.History at 0x7f26cc4e5210>"
]
},
"metadata": {},
"execution_count": 9
}
]
},
{
"cell_type": "code",
"source": [
"from alibi.explainers.similarity.grad import GradientSimilarity\n",
"\n",
"explainer = GradientSimilarity(predictor=model, loss_fn=criterion, precompute_grads=True, backend='tensorflow', sim_fn='grad_cos')\n"
],
"metadata": {
"id": "goAuo6GUyI6b"
},
"execution_count": 10,
"outputs": []
},
{
"cell_type": "code",
"source": [
"X_train = x_train[:1000]\n",
"Y_train = y_train[:1000]\n",
"\n",
"explainer = explainer.fit(X_train=X_train, Y_train=Y_train)"
],
"metadata": {
"id": "fqCSWE0fMo-O"
},
"execution_count": 11,
"outputs": []
},
{
"cell_type": "code",
"source": [
"from random import randint\n",
"ind = randint(0, 1000)\n",
"X = X_train[ind:ind+2]\n",
"explanation = explainer.explain(X)"
],
"metadata": {
"id": "jH8RFHWUNGW3"
},
"execution_count": 29,
"outputs": []
},
{
"cell_type": "code",
"source": [
"from matplotlib.pyplot import imshow\n",
"imshow(X[0, :, :, 0], cmap='gray')"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 282
},
"id": "SV2CDbIPNk1r",
"outputId": "825e5814-b625-4a45-ce3a-0f089333851e"
},
"execution_count": 30,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<matplotlib.image.AxesImage at 0x7f25fab1fd10>"
]
},
"metadata": {},
"execution_count": 30
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
],
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"source": [
"\n",
"def display_imgs(images):\n",
" fig, axes = plt.subplots(ncols=4, figsize=(10,10))\n",
"\n",
" for i in range(4):\n",
" axes[i].imshow(images[i][:, :, 0], cmap='gray')"
],
"metadata": {
"id": "Ug41HISmRIkR"
},
"execution_count": 31,
"outputs": []
},
{
"cell_type": "code",
"source": [
"reordered_X_train = X_train[explanation.data['ordered_indices']]\n",
"print(reordered_X_train.shape)"
],
"metadata": {
"id": "vAc0nU8eZRVH",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "d1ce552c-e809-4cbd-89f6-c623aa4ac6b7"
},
"execution_count": 32,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"(2, 1000, 28, 28, 1)\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"display_imgs(reordered_X_train[0, 1: 5])"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 171
},
"id": "gTmWg6jNR1IW",
"outputId": "6eba6f9b-e947-4fc4-fa1d-59345482aea1"
},
"execution_count": 33,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": [
"<Figure size 720x720 with 4 Axes>"
],
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"source": [
"\n",
"display_imgs(reordered_X_train[0, -6: -2])\n"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 171
},
"id": "CR-97xusP0fz",
"outputId": "8874cd6b-3968-4061-dc84-755b766705df"
},
"execution_count": 34,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": [
"<Figure size 720x720 with 4 Axes>"
],
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"source": [
"from matplotlib.pyplot import imshow\n",
"imshow(X[1, :, :, 0], cmap='gray')"
],
"metadata": {
"id": "Rh75kUDERenJ",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 282
},
"outputId": "a349b54d-2dcd-4a20-80f8-147e1269e789"
},
"execution_count": 35,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<matplotlib.image.AxesImage at 0x7f25fa8eaa90>"
]
},
"metadata": {},
"execution_count": 35
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
],
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"source": [
"display_imgs(reordered_X_train[1, 1: 5])"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 171
},
"id": "9VMJhitIt_bk",
"outputId": "eb74bd49-2aac-4f65-8386-92760e5406ef"
},
"execution_count": 36,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": [
"<Figure size 720x720 with 4 Axes>"
],
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAlAAAACaCAYAAABmDna+AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAYIUlEQVR4nO3de7DVZb3H8c9XzTAlA4Pd5hIYqU1Dikbk6djJM6AhOlyOSuhwwokGE50oyBG0GRmLIumoOcdLGAzejgcLFcIwvFBqOchl0BCOmCYjFwEviGYKyHP+YNns5/mtvdf6rd+zLr+136+ZNezvb/8uz2Z9+O2HtZ71POacEwAAAMp3SL0bAAAAkDd0oAAAAFKiAwUAAJASHSgAAICU6EABAACkRAcKAAAgpUwdKDMbbmbPm9lfzWx6rEahcyFHyIoMIQZyhDSs0nmgzOxQSZsknSFpi6RVki5wzm3o4BgmneoEnHNW7r7kCO0pN0dkCO3hXoQY2stRlleghkj6q3PuJefcXkn/K2lUhvOhcyJHyIoMIQZyhFSydKB6S3qlTb2lsA1IgxwhKzKEGMgRUjms2hcws0mSJlX7Omhu5AhZkSHEQI7woSwdqK2S+rap+xS2eZxzcyXNlXi/GEWRI2RFhhADOUIqWd7CWyXpODM71swOlzRO0pI4zUInQo6QFRlCDOQIqVT8CpRzbr+ZXSbp95IOlTTfOfdctJahUyBHyIoMIQZyhLQqnsagoovxcmenkOajw5UgR51DNXNEhjoH7kWIoRrTGAAAAHRKdKAAAABSogMFAACQEh0oAACAlOhAAQAApFT1mcgBxDd48ODEtvvvv9+rf/jDH3r17bffXtU2obG1tLR49UUXXZTY58wzz/Tqxx57zKufey75qf4HHngge+OAHOIVKAAAgJToQAEAAKREBwoAACAlxkCl0Nra6tVf+tKXEvucccYZqc97zDHHeHWXLl28esmS5HJM9913n1fv2bMn9XWRHyeccIJXz5kzJ7FP7969vfqkk06qapvQ2E488USvXrZsmVeH9zNJev755736Rz/6kVfv2rUrcczQoUO9eurUqV69b9++0o0FcohXoAAAAFKiAwUAAJASHSgAAICUMo2BMrOXJb0t6QNJ+51zyclpgBLIEWIgR8iKDCGNGIPI/90591qE89RVz549E9smT57s1RMnTvTqYoMwK2FmXu2c8+qRI0cmjhk3bpxXjx071qtzOKi8KXIUy5gxY7z6tttu8+ru3buXPEesfOYMOSr41a9+5dVvv/22V4cDxqXkhxVCPXr0SGy79NJLvXrr1q1ePXv27A7P2YDqnqHjjz/eq2N9IKTU75pyPPPMM169adOmTG3KM97CAwAASClrB8pJWm5ma8xsUrEdzGySma02s9UZr4XmRY4QQ4c5IkMoA/cilC3rW3inOee2mllPSQ+b2f855x5vu4Nzbq6kuZJkZulfL0RnQI4QQ4c5IkMoA/cilM0qeQ+06InMZkp6xzn38w72adiwLViwILFt/PjxXn3gwAGvfv311xPHrFq1yqtXry79n5TwfenPfOYzXn3hhReWPCacNG/Dhg0lr1stzjkrvVdxec9RJT796U8ntq1du9aryxnzFAr/bZ933nmJfcIFiBtJNXPUbBk699xzE9tuuOEGr3766ae9etasWYlj3nrrLa9eunSpV5caIyVJ69at8+pTTjml5DHVktd70UsvveTVxe4RlYgxBmrz5s1evWPHjsQ+11xzjVdv2bLFq9evX5/6uvXUXo4qfgvPzI40s64ffi3pTEn5+ltB3ZEjxECOkBUZQlpZ3sJrkXR/oUd7mKT/cc49FKVV6EzIEWIgR8iKDCGVijtQzrmXJLHYFjIhR4iBHCErMoS0WEy44P33309su+mmm7z6wQcf9Orly5dXpS2nnnqqV59//vmJfd59912v/vvf/16VtqD6BgwYkNh2xBFHdHhMsTEEAwcO9OpwvEP4famxx0ChfUcddZRX9+/fP7FPr169vLpbt25eHY6zK+b666/36ltvvbXkMV27di25DzrWr18/rw7v78XG34aKLUI/evRorw7H9ZbjkEP8kT/hIuaStHjxYq/evXu3V0+YMCFxzEMP5e/FPuaBAgAASIkOFAAAQEp0oAAAAFKiAwUAAJASg8gLZsyYkdj2xhtv1KEl0uWXX+7Vhx9+eGKfcHHZcHIz5MeKFSsS2y6++GKvDhdo3bZtW+KYjRs3pr4O8ikcqD1s2LDEPl/84he9utiEh6VwX6mPadOmeXW48POyZcsqOu+UKVMqblMaN954o1dPnjzZq++5557EMeEA9z/+8Y/xGxYZr0ABAACkRAcKAAAgJTpQAAAAKTEGqqBe450k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fPPNXn3xxf4nW4v93YXjDnbt2hW/YUUMHDjQq7/2ta8l9nnggQe8euvWrVVpi3POqnLiglrlaPPmzV5d7D36V155xauLLep61llnZW5LeN7hw4cn9tm2bVvm65x33nlefccd4Xqr0sc+9rHM1ylHNXNUqwz16NHDq5999tnEPi0tLV7905/+NLHPDTfc0OEx3//+9xPHXHTRRV69adMmrz7hhBOSDY5g1qxZXn3jjTcm9qnVfbFZ7kXVMmjQIK++/PLLE/sUm9uuLbPkX/Ftt93m1e+8845Xd+3aNXHMxIkTOzxvsd+3v/jFL7y62JjjefOyf8CyvRzxChQAAEBKdKAAAABSogMFAACQEh0oAACAlBhEXhAufihJ69at8+rPfvazXn3rrbcmjrnkkksytyVcrPH0009P7HPllVd69YABA7x66dKliWNGjRqVuW3laJaBm+GkmF26dEnsU85Cwe+//75XL1++3KuLTZIZTuIZDqgsNlj961//uldv3749sU8onJzu0Ucf9eqnn346ccyIESNKnjeGZhhEPnr0aK++//77E/uE9+BiE2m+++67Xh3er4plM4Zw0tTf/e53iX2mTp3q1dddd51XF5uANvyARrU0y70o1KtXr8S2UoO9peRzc+DAgcxtCSffLXbe8AMuCxcuLHneJ554wqsXL15cQeviYBA5AABAJHSgAAAAUirZgTKzvma2wsw2mNlzZjalsL27mT1sZi8U/uxW/eYir8gRsiJDiIEcIZZyFhPeL2mac26tmXWVtMbMHpZ0kaRHnXOzzWy6pOmSrujgPA1t3LhxiW3hwpl/+9vfvLqchUF79uzp1eGCxFJy0ssTTzzRq48++ujEMeFEdFdffbVX//jHPy7ZthrLXY5OO+00ry72Xn84hqjYc7VkyRKvfvnll0teOxwHE07i+oUvfCFxzJNPPunV4USwxRbaDMdade/e3avvvffekm2todxlKByrVM6Y0yOOOKKsbdUQTvR59tlne/XOnTsTx4QLG2/cuNGr9+3bF6l10eQuR+HivOFElVJy0tZiwrFJMcZAFxvPdM0113h1+PuqVhOpVlvJV6Ccc9udc2sLX78taaOk3pJGSbq9sNvtkkYXPwNAjpAdGUIM5AixlPMK1D+ZWX9JJ0taKanFOffhx3xeldTSzjGTJE2qvIloNuQIWZEhxECOkEXZ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\n"
},
"metadata": {
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"source": [
"display_imgs(reordered_X_train[1, -6: -2])"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 171
},
"id": "JKv4LZtWuCWA",
"outputId": "3104eb51-7573-40bf-bec8-cfe99e71c017"
},
"execution_count": 37,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": [
"<Figure size 720x720 with 4 Axes>"
],
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"source": [
""
],
"metadata": {
"id": "K_Tlbk08uGhf"
},
"execution_count": null,
"outputs": []
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment