{ "nbformat": 4, "nbformat_minor": 0, "metadata": { "colab": { "name": "2022 Lab2 Deployment.ipynb", "provenance": [], "collapsed_sections": [] }, "kernelspec": { "name": "python3", "display_name": "Python 3" } }, "cells": [ { "cell_type": "code", "source": [ "from google.colab import drive\n", "drive.mount('/content/drive')" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "bYZAbWnQI6HX", "outputId": "cadde6c7-d7ab-4ec7-c664-51b519951dd0" }, "execution_count": null, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Mounted at /content/drive\n" ] } ] }, { "cell_type": "code", "source": [ "path = \"/content/drive/MyDrive/Colab Notebooks/2022/\"" ], "metadata": { "id": "FDofR0ZaJH1X" }, "execution_count": null, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "1uXKv5ipKsnf" }, "source": [ "Import the images named (im1.jpg, im2.jpg, im3.jpg and im4.jpg) and final_cifar10 model into colab (drag and drop)." ] }, { "cell_type": "markdown", "metadata": { "id": "XBoF28xGK_kD" }, "source": [ "## Loading the CNN Model" ] }, { "cell_type": "code", "metadata": { "id": "xpFVJBCEKojn" }, "source": [ "from tensorflow.keras.models import load_model\n", "new_model = load_model(path +'final_cifar10.h5')" ], "execution_count": null, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "9gc4XgWULaKN" }, "source": [ "## Visualize prediction results." ] }, { "cell_type": "markdown", "metadata": { "id": "7jZfzrDZLtml" }, "source": [ "### Import required modules" ] }, { "cell_type": "code", "metadata": { "id": "YdObCIgnL3kL" }, "source": [ "from skimage import io,transform\n", "import numpy as np\n", "import matplotlib.pyplot as plt" ], "execution_count": null, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "i2RTT8-jL_lI" }, "source": [ "### Get the list of categories" ] }, { "cell_type": "code", "metadata": { "id": "SkhJywg-L_zY" }, "source": [ "#Create a image tag list\n", "category_dict = {0:'airplane',1:'automobile',2:'bird',3:'cat',4:'deer',5:'dog',\n", " 6:'frog',7:'horse',8:'ship',9:'truck'}" ], "execution_count": null, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "LazhibTgMHwW" }, "source": [ "### Prepare new data test" ] }, { "cell_type": "code", "metadata": { "id": "KLzhnBWaLer0" }, "source": [ "images=['im1.jpg' , 'im2.jpg' ,'im3.jpg' ,'im4.jpg' ]\n", "w=32\n", "h=32\n", "def read_one_image(iname):\n", " img = io.imread(path + iname)\n", " img = transform.resize(img,(w,h))\n", " return np.asarray(img)\n", "image=np.array([read_one_image(images[0]), read_one_image(images[1]) ,read_one_image(images[2]) ,read_one_image(images[3])])" ], "execution_count": null, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "CtqGGMC9MN3A" }, "source": [ "### Visulaze the prediction result" ] }, { "cell_type": "code", "source": [ "pred = np.argmax(new_model.predict(image[0:4]), axis = 1)\n", "pred" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "F9nwK-wnJuHW", "outputId": "f97e86e0-a037-421e-d7e6-4c4346fa05e6" }, "execution_count": null, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "array([8, 1, 5, 3])" ] }, "metadata": {}, "execution_count": 9 } ] }, { "cell_type": "code", "metadata": { "id": "ALtb7L7ZMN_u", "colab": { "base_uri": "https://localhost:8080/", "height": 264 }, "outputId": "72583dcd-b5fa-49ea-8b31-8ec3fcdbfdc0" }, "source": [ "plt.figure()\n", "for i in range(0,4):\n", " plt.subplot(2,2,i+1)\n", " #plot\n", " plt.imshow(image[i])\n", "\n", " #predict\n", " \n", " #Display actual and predicted labels of images\n", " plt.title(\"pred:\"+category_dict[pred[i]])\n", " plt.axis('off')\n", "plt.show()" ], "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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\n" }, "metadata": { "needs_background": "light" } } ] }, { "cell_type": "code", "source": [ "" ], "metadata": { "id": "aLxdlOTLJ-1-" }, "execution_count": null, "outputs": [] } ] }