Last active
October 20, 2021 10:52
-
-
Save asw-v4/3b4ee05a793f68206b2cff6a34a2cbc9 to your computer and use it in GitHub Desktop.
TeaRater
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "nbformat": 4, | |
| "nbformat_minor": 0, | |
| "metadata": { | |
| "colab": { | |
| "name": "TeaRater", | |
| "provenance": [], | |
| "collapsed_sections": [], | |
| "mount_file_id": "17vdXkXj4Lla05IF0fV1rDNJQ0fsabobx", | |
| "authorship_tag": "ABX9TyPHO/6BpcrwEF99oQHcpkuu", | |
| "include_colab_link": true | |
| }, | |
| "kernelspec": { | |
| "display_name": "Python 3", | |
| "name": "python3" | |
| }, | |
| "language_info": { | |
| "name": "python" | |
| }, | |
| "widgets": { | |
| "application/vnd.jupyter.widget-state+json": { | |
| "676a1efab2554580ba22f0c1742c0a74": { | |
| "model_module": "@jupyter-widgets/controls", | |
| "model_name": "HBoxModel", | |
| "model_module_version": "1.5.0", | |
| "state": { | |
| "_view_name": "HBoxView", | |
| "_dom_classes": [], | |
| "_model_name": "HBoxModel", | |
| "_view_module": "@jupyter-widgets/controls", | |
| "_model_module_version": "1.5.0", | |
| "_view_count": null, | |
| "_view_module_version": "1.5.0", | |
| "box_style": "", | |
| "layout": "IPY_MODEL_d76032f0ae3b48b18e0ded3564f64d8a", | |
| "_model_module": "@jupyter-widgets/controls", | |
| "children": [ | |
| "IPY_MODEL_74524e04ccdd46e9a0f8b89a208c796a", | |
| "IPY_MODEL_0f9d524cb1c54af3901b09961101bc11", | |
| "IPY_MODEL_ddac880318be44b8b8ee5ffe297ba464" | |
| ] | |
| } | |
| }, | |
| "d76032f0ae3b48b18e0ded3564f64d8a": { | |
| "model_module": "@jupyter-widgets/base", | |
| "model_name": "LayoutModel", | |
| "model_module_version": "1.2.0", | |
| "state": { | |
| "_view_name": "LayoutView", | |
| "grid_template_rows": null, | |
| "right": null, | |
| "justify_content": null, | |
| "_view_module": "@jupyter-widgets/base", | |
| "overflow": null, | |
| "_model_module_version": "1.2.0", | |
| "_view_count": null, | |
| "flex_flow": null, | |
| "width": null, | |
| "min_width": null, | |
| "border": null, | |
| "align_items": null, | |
| "bottom": null, | |
| "_model_module": "@jupyter-widgets/base", | |
| "top": null, | |
| "grid_column": null, | |
| "overflow_y": null, | |
| "overflow_x": null, | |
| "grid_auto_flow": null, | |
| "grid_area": null, | |
| "grid_template_columns": null, | |
| "flex": null, | |
| "_model_name": "LayoutModel", | |
| "justify_items": null, | |
| "grid_row": null, | |
| "max_height": null, | |
| "align_content": null, | |
| "visibility": null, | |
| "align_self": null, | |
| "height": null, | |
| "min_height": null, | |
| "padding": null, | |
| "grid_auto_rows": null, | |
| "grid_gap": null, | |
| "max_width": null, | |
| "order": null, | |
| "_view_module_version": "1.2.0", | |
| "grid_template_areas": null, | |
| "object_position": null, | |
| "object_fit": null, | |
| "grid_auto_columns": null, | |
| "margin": null, | |
| "display": null, | |
| "left": null | |
| } | |
| }, | |
| "74524e04ccdd46e9a0f8b89a208c796a": { | |
| "model_module": "@jupyter-widgets/controls", | |
| "model_name": "HTMLModel", | |
| "model_module_version": "1.5.0", | |
| "state": { | |
| "_view_name": "HTMLView", | |
| "style": "IPY_MODEL_58db71605d8e49a1a90f902ed4607424", | |
| "_dom_classes": [], | |
| "description": "", | |
| "_model_name": "HTMLModel", | |
| "placeholder": "", | |
| "_view_module": "@jupyter-widgets/controls", | |
| "_model_module_version": "1.5.0", | |
| "value": "100%", | |
| "_view_count": null, | |
| "_view_module_version": "1.5.0", | |
| "description_tooltip": null, | |
| "_model_module": "@jupyter-widgets/controls", | |
| "layout": "IPY_MODEL_e5a0ab6545494977bac9a1a6242d688d" | |
| } | |
| }, | |
| "0f9d524cb1c54af3901b09961101bc11": { | |
| "model_module": "@jupyter-widgets/controls", | |
| "model_name": "FloatProgressModel", | |
| "model_module_version": "1.5.0", | |
| "state": { | |
| "_view_name": "ProgressView", | |
| "style": "IPY_MODEL_721ad4fb03ad489898f014247bfa442d", | |
| "_dom_classes": [], | |
| "description": "", | |
| "_model_name": "FloatProgressModel", | |
| "bar_style": "success", | |
| "max": 178793939, | |
| "_view_module": "@jupyter-widgets/controls", | |
| "_model_module_version": "1.5.0", | |
| "value": 178793939, | |
| "_view_count": null, | |
| "_view_module_version": "1.5.0", | |
| "orientation": "horizontal", | |
| "min": 0, | |
| "description_tooltip": null, | |
| "_model_module": "@jupyter-widgets/controls", | |
| "layout": "IPY_MODEL_b0e72cb38cd24d32bad55e90d29a2ae6" | |
| } | |
| }, | |
| "ddac880318be44b8b8ee5ffe297ba464": { | |
| "model_module": "@jupyter-widgets/controls", | |
| "model_name": "HTMLModel", | |
| "model_module_version": "1.5.0", | |
| "state": { | |
| "_view_name": "HTMLView", | |
| "style": "IPY_MODEL_c445acdcb89346f9b805830acceea82b", | |
| "_dom_classes": [], | |
| "description": "", | |
| "_model_name": "HTMLModel", | |
| "placeholder": "", | |
| "_view_module": "@jupyter-widgets/controls", | |
| "_model_module_version": "1.5.0", | |
| "value": " 171M/171M [00:02<00:00, 78.9MB/s]", | |
| "_view_count": null, | |
| "_view_module_version": "1.5.0", | |
| "description_tooltip": null, | |
| "_model_module": "@jupyter-widgets/controls", | |
| "layout": "IPY_MODEL_347b6f113e9e43948dcd8d6f78350eeb" | |
| } | |
| }, | |
| "58db71605d8e49a1a90f902ed4607424": { | |
| "model_module": "@jupyter-widgets/controls", | |
| "model_name": "DescriptionStyleModel", | |
| "model_module_version": "1.5.0", | |
| "state": { | |
| "_view_name": "StyleView", | |
| "_model_name": "DescriptionStyleModel", | |
| "description_width": "", | |
| "_view_module": "@jupyter-widgets/base", | |
| "_model_module_version": "1.5.0", | |
| "_view_count": null, | |
| "_view_module_version": "1.2.0", | |
| "_model_module": "@jupyter-widgets/controls" | |
| } | |
| }, | |
| "e5a0ab6545494977bac9a1a6242d688d": { | |
| "model_module": "@jupyter-widgets/base", | |
| "model_name": "LayoutModel", | |
| "model_module_version": "1.2.0", | |
| "state": { | |
| "_view_name": "LayoutView", | |
| "grid_template_rows": null, | |
| "right": null, | |
| "justify_content": null, | |
| "_view_module": "@jupyter-widgets/base", | |
| "overflow": null, | |
| "_model_module_version": "1.2.0", | |
| "_view_count": null, | |
| "flex_flow": null, | |
| "width": null, | |
| "min_width": null, | |
| "border": null, | |
| "align_items": null, | |
| "bottom": null, | |
| "_model_module": "@jupyter-widgets/base", | |
| "top": null, | |
| "grid_column": null, | |
| "overflow_y": null, | |
| "overflow_x": null, | |
| "grid_auto_flow": null, | |
| "grid_area": null, | |
| "grid_template_columns": null, | |
| "flex": null, | |
| "_model_name": "LayoutModel", | |
| "justify_items": null, | |
| "grid_row": null, | |
| "max_height": null, | |
| "align_content": null, | |
| "visibility": null, | |
| "align_self": null, | |
| "height": null, | |
| "min_height": null, | |
| "padding": null, | |
| "grid_auto_rows": null, | |
| "grid_gap": null, | |
| "max_width": null, | |
| "order": null, | |
| "_view_module_version": "1.2.0", | |
| "grid_template_areas": null, | |
| "object_position": null, | |
| "object_fit": null, | |
| "grid_auto_columns": null, | |
| "margin": null, | |
| "display": null, | |
| "left": null | |
| } | |
| }, | |
| "721ad4fb03ad489898f014247bfa442d": { | |
| "model_module": "@jupyter-widgets/controls", | |
| "model_name": "ProgressStyleModel", | |
| "model_module_version": "1.5.0", | |
| "state": { | |
| "_view_name": "StyleView", | |
| "_model_name": "ProgressStyleModel", | |
| "description_width": "", | |
| "_view_module": "@jupyter-widgets/base", | |
| "_model_module_version": "1.5.0", | |
| "_view_count": null, | |
| "_view_module_version": "1.2.0", | |
| "bar_color": null, | |
| "_model_module": "@jupyter-widgets/controls" | |
| } | |
| }, | |
| "b0e72cb38cd24d32bad55e90d29a2ae6": { | |
| "model_module": "@jupyter-widgets/base", | |
| "model_name": "LayoutModel", | |
| "model_module_version": "1.2.0", | |
| "state": { | |
| "_view_name": "LayoutView", | |
| "grid_template_rows": null, | |
| "right": null, | |
| "justify_content": null, | |
| "_view_module": "@jupyter-widgets/base", | |
| "overflow": null, | |
| "_model_module_version": "1.2.0", | |
| "_view_count": null, | |
| "flex_flow": null, | |
| "width": null, | |
| "min_width": null, | |
| "border": null, | |
| "align_items": null, | |
| "bottom": null, | |
| "_model_module": "@jupyter-widgets/base", | |
| "top": null, | |
| "grid_column": null, | |
| "overflow_y": null, | |
| "overflow_x": null, | |
| "grid_auto_flow": null, | |
| "grid_area": null, | |
| "grid_template_columns": null, | |
| "flex": null, | |
| "_model_name": "LayoutModel", | |
| "justify_items": null, | |
| "grid_row": null, | |
| "max_height": null, | |
| "align_content": null, | |
| "visibility": null, | |
| "align_self": null, | |
| "height": null, | |
| "min_height": null, | |
| "padding": null, | |
| "grid_auto_rows": null, | |
| "grid_gap": null, | |
| "max_width": null, | |
| "order": null, | |
| "_view_module_version": "1.2.0", | |
| "grid_template_areas": null, | |
| "object_position": null, | |
| "object_fit": null, | |
| "grid_auto_columns": null, | |
| "margin": null, | |
| "display": null, | |
| "left": null | |
| } | |
| }, | |
| "c445acdcb89346f9b805830acceea82b": { | |
| "model_module": "@jupyter-widgets/controls", | |
| "model_name": "DescriptionStyleModel", | |
| "model_module_version": "1.5.0", | |
| "state": { | |
| "_view_name": "StyleView", | |
| "_model_name": "DescriptionStyleModel", | |
| "description_width": "", | |
| "_view_module": "@jupyter-widgets/base", | |
| "_model_module_version": "1.5.0", | |
| "_view_count": null, | |
| "_view_module_version": "1.2.0", | |
| "_model_module": "@jupyter-widgets/controls" | |
| } | |
| }, | |
| "347b6f113e9e43948dcd8d6f78350eeb": { | |
| "model_module": "@jupyter-widgets/base", | |
| "model_name": "LayoutModel", | |
| "model_module_version": "1.2.0", | |
| "state": { | |
| "_view_name": "LayoutView", | |
| "grid_template_rows": null, | |
| "right": null, | |
| "justify_content": null, | |
| "_view_module": "@jupyter-widgets/base", | |
| "overflow": null, | |
| "_model_module_version": "1.2.0", | |
| "_view_count": null, | |
| "flex_flow": null, | |
| "width": null, | |
| "min_width": null, | |
| "border": null, | |
| "align_items": null, | |
| "bottom": null, | |
| "_model_module": "@jupyter-widgets/base", | |
| "top": null, | |
| "grid_column": null, | |
| "overflow_y": null, | |
| "overflow_x": null, | |
| "grid_auto_flow": null, | |
| "grid_area": null, | |
| "grid_template_columns": null, | |
| "flex": null, | |
| "_model_name": "LayoutModel", | |
| "justify_items": null, | |
| "grid_row": null, | |
| "max_height": null, | |
| "align_content": null, | |
| "visibility": null, | |
| "align_self": null, | |
| "height": null, | |
| "min_height": null, | |
| "padding": null, | |
| "grid_auto_rows": null, | |
| "grid_gap": null, | |
| "max_width": null, | |
| "order": null, | |
| "_view_module_version": "1.2.0", | |
| "grid_template_areas": null, | |
| "object_position": null, | |
| "object_fit": null, | |
| "grid_auto_columns": null, | |
| "margin": null, | |
| "display": null, | |
| "left": null | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| "cells": [ | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "view-in-github", | |
| "colab_type": "text" | |
| }, | |
| "source": [ | |
| "<a href=\"https://colab.research.google.com/gist/asw-v4/3b4ee05a793f68206b2cff6a34a2cbc9/tearater.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "xijMyMbqydLB" | |
| }, | |
| "source": [ | |
| "# Tea Rater\n", | |
| "\n", | |
| "This colab notebook uses a cnn with a regression output to estimate the 'score' that a picture of a cup of tea will acquire.\n", | |
| "\n", | |
| "The data is scraped from the popular subreddit: [r/RateMyTea](https://www.reddit.com/r/RateMyTea/)\n", | |
| "\n", | |
| "From here the images and associated karma are used to train a neural network using PyTorch." | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "kJYuLuup5b94" | |
| }, | |
| "source": [ | |
| "PyTorch Imports:" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/" | |
| }, | |
| "id": "WbI1du3a5eFx", | |
| "outputId": "cc42a68f-c330-463a-f501-75bbe24a5cd8" | |
| }, | |
| "source": [ | |
| "import torch\n", | |
| "import torch.nn as nn\n", | |
| "import torch.optim as optim\n", | |
| "import torch.utils.data as tdata\n", | |
| "from torchvision import transforms as tforms\n", | |
| "\n", | |
| "from torchvision import models\n", | |
| "print(torch.__version__)\n", | |
| "\n", | |
| "device = torch.device(\"cuda:0\" if torch.cuda.is_available() else \"cpu\")\n", | |
| "print(device)\n" | |
| ], | |
| "execution_count": 2, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "name": "stdout", | |
| "text": [ | |
| "1.9.0+cu111\n", | |
| "cpu\n" | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "1dRqRQ630g2s" | |
| }, | |
| "source": [ | |
| "Python Imports:" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "id": "djRC2XtpzuOD" | |
| }, | |
| "source": [ | |
| "import numpy as np\n", | |
| "import pandas as pd\n", | |
| "import matplotlib.pyplot as plt\n", | |
| "import os\n", | |
| "import copy\n", | |
| "from PIL import Image" | |
| ], | |
| "execution_count": 3, | |
| "outputs": [] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "BTUEI-nk1CqI" | |
| }, | |
| "source": [ | |
| "Load Images from Google Drive:" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/" | |
| }, | |
| "id": "J224IzcZ1D8G", | |
| "outputId": "e55ecdae-1e95-401e-db31-bffd21765044" | |
| }, | |
| "source": [ | |
| "dataset = pd.read_csv('/content/drive/MyDrive/TeaRater/dateaset.csv')\n", | |
| "df = dataset.dropna() #csv has some empty rows\n", | |
| "print(df.head(5))\n" | |
| ], | |
| "execution_count": 4, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "name": "stdout", | |
| "text": [ | |
| " ImageName Reddit Score\n", | |
| "1 images/2x2darkgreytile_d02ihc.jpg 401.0\n", | |
| "3 images/Metamorph1980_clpzsp.jpg 337.0\n", | |
| "5 images/JustaJamJar_d54kng.jpg 339.0\n", | |
| "7 images/alarmingamountofdogs_c72e3c.png 295.0\n", | |
| "9 images/kwaldo_erw1d7.jpg 290.0\n" | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/" | |
| }, | |
| "id": "kUZf4zNk7FN2", | |
| "outputId": "c9100d5e-c23e-443f-8786-e4d0cac25e58" | |
| }, | |
| "source": [ | |
| "num_images = df[df.columns[0]].count()\n", | |
| "print(\"Number of Images: \", num_images)\n", | |
| "\n", | |
| "TRAIN_SPLIT_PERC = 80\n", | |
| "train_size = int((TRAIN_SPLIT_PERC/100) * num_images)\n", | |
| "\n", | |
| "train_dset = df.head(train_size)\n", | |
| "val_dset = df.tail(num_images-train_size)\n", | |
| "print(\"Train: \",train_dset[train_dset.columns[0]].count())\n", | |
| "print(\"Val: \", val_dset[val_dset.columns[0]].count())" | |
| ], | |
| "execution_count": 5, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "name": "stdout", | |
| "text": [ | |
| "Number of Images: 894\n", | |
| "Train: 715\n", | |
| "Val: 179\n" | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "LieDRdUFGqEE" | |
| }, | |
| "source": [ | |
| "Now create the dataloader:\n" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "id": "ZumJkRJiGvEt" | |
| }, | |
| "source": [ | |
| "input_size = (244,244)\n", | |
| "transforms = tforms.Compose([\n", | |
| " tforms.ColorJitter(brightness=0.5, contrast=0.5, saturation=0.5, hue=0),\n", | |
| " tforms.RandomHorizontalFlip(p=0.5),\n", | |
| " tforms.Resize(input_size),\n", | |
| " tforms.ToTensor()\n", | |
| "])\n", | |
| "\n", | |
| "class teaDataloader(tdata.Dataset):\n", | |
| " def __init__(self, dataframe, transform=transforms):\n", | |
| " self.transform=transform\n", | |
| " self.image_list = list(dataframe['ImageName'])\n", | |
| " self.labels = list(dataframe['Reddit Score'])\n", | |
| " list(map(float, self.labels))\n", | |
| "\n", | |
| " def __len__(self):\n", | |
| " return len(self.labels)\n", | |
| "\n", | |
| " def __getitem__(self, idx):\n", | |
| " image_name = self.image_list[idx]\n", | |
| " label = self.labels[idx]\n", | |
| "\n", | |
| " image_data = Image.open('/content/drive/MyDrive/TeaRater/'+image_name).convert('RGB')\n", | |
| "\n", | |
| " if self.transform:\n", | |
| " image_data = self.transform(image_data)\n", | |
| " \n", | |
| " return image_data, label" | |
| ], | |
| "execution_count": 6, | |
| "outputs": [] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "srKJCp4AJjaQ" | |
| }, | |
| "source": [ | |
| "Network Parameter Setup" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "id": "qT4eeTh3Jn3_" | |
| }, | |
| "source": [ | |
| "ptworkers = 2 #suggested max on google colab\n", | |
| "batch_size = 64\n", | |
| "num_epochs = 10\n", | |
| "\n", | |
| "lr = 0.0001\n", | |
| "momentum = 0.9" | |
| ], | |
| "execution_count": 7, | |
| "outputs": [] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "oaPpc-5UNPK0" | |
| }, | |
| "source": [ | |
| "Load Train and Val Datasets:\n" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "id": "Fzr76E6cNNw6" | |
| }, | |
| "source": [ | |
| "train_dloader = teaDataloader(train_dset)\n", | |
| "val_dloader = teaDataloader(val_dset)\n", | |
| "\n", | |
| "dset_dict = {\"train\": train_dloader, \"val\":val_dloader}\n", | |
| "\n", | |
| "dloader_dict = {\n", | |
| " x: tdata.DataLoader(\n", | |
| " dset_dict[x], batch_size=batch_size, shuffle=True, num_workers=2\n", | |
| " )\n", | |
| " for x in [\"train\", \"val\"]\n", | |
| "}\n", | |
| "\n" | |
| ], | |
| "execution_count": 8, | |
| "outputs": [] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "IQYLVuqJJ4tO" | |
| }, | |
| "source": [ | |
| "Network Architecture" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "id": "5DXi6zA8J7NN", | |
| "colab": { | |
| "base_uri": "https://localhost:8080/", | |
| "height": 68, | |
| "referenced_widgets": [ | |
| "676a1efab2554580ba22f0c1742c0a74", | |
| "d76032f0ae3b48b18e0ded3564f64d8a", | |
| "74524e04ccdd46e9a0f8b89a208c796a", | |
| "0f9d524cb1c54af3901b09961101bc11", | |
| "ddac880318be44b8b8ee5ffe297ba464", | |
| "58db71605d8e49a1a90f902ed4607424", | |
| "e5a0ab6545494977bac9a1a6242d688d", | |
| "721ad4fb03ad489898f014247bfa442d", | |
| "b0e72cb38cd24d32bad55e90d29a2ae6", | |
| "c445acdcb89346f9b805830acceea82b", | |
| "347b6f113e9e43948dcd8d6f78350eeb" | |
| ] | |
| }, | |
| "outputId": "8bb126dc-bc98-4859-a80c-38e0045ee801" | |
| }, | |
| "source": [ | |
| "# Test on resnet-101 with a modified output for regression\n", | |
| "\n", | |
| "model = models.resnet101(pretrained=True)\n", | |
| "for param in model.parameters():\n", | |
| " # Disable Grad Comp for Feature Extractors\n", | |
| " param.requires_grad = False\n", | |
| "\n", | |
| "\n", | |
| "num_ftrs = model.fc.in_features # remap output\n", | |
| "model.fc = nn.Linear(num_ftrs, 1) # to singular value\n", | |
| "\n", | |
| "params_to_update = []\n", | |
| "for name, param in model.named_parameters():\n", | |
| " params_to_update.append(param)\n", | |
| "\n", | |
| "lossfunc = nn.MSELoss()\n", | |
| "optimizer = optim.SGD(params=params_to_update,lr=lr, momentum=momentum)\n" | |
| ], | |
| "execution_count": 9, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "name": "stderr", | |
| "text": [ | |
| "Downloading: \"https://download.pytorch.org/models/resnet101-63fe2227.pth\" to /root/.cache/torch/hub/checkpoints/resnet101-63fe2227.pth\n" | |
| ] | |
| }, | |
| { | |
| "output_type": "display_data", | |
| "data": { | |
| "application/vnd.jupyter.widget-view+json": { | |
| "model_id": "676a1efab2554580ba22f0c1742c0a74", | |
| "version_minor": 0, | |
| "version_major": 2 | |
| }, | |
| "text/plain": [ | |
| " 0%| | 0.00/171M [00:00<?, ?B/s]" | |
| ] | |
| }, | |
| "metadata": {} | |
| } | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/" | |
| }, | |
| "id": "P25mOMb_QnpK", | |
| "outputId": "3b5424d2-9a03-43e2-f666-810bec5ed8e2" | |
| }, | |
| "source": [ | |
| "best_wts = copy.deepcopy(model.state_dict())\n", | |
| "best_loss = 0.0\n", | |
| "model.to(device)\n", | |
| "loss_tracker = {\"train\":[],\n", | |
| " \"val\": []}\n", | |
| "for epoch in range(num_epochs):\n", | |
| " print(\"Epoch {}/{}\".format(epoch, num_epochs-1))\n", | |
| " print(\"-\"*10)\n", | |
| "\n", | |
| " for phase in [\"train\",\"val\"]:\n", | |
| " if phase == \"train\":\n", | |
| " model.train()\n", | |
| " else:\n", | |
| " model.eval()\n", | |
| "\n", | |
| " running_loss = 0.0\n", | |
| "\n", | |
| " for inputs, labels in dloader_dict[phase]:\n", | |
| " inputs = inputs.type(torch.FloatTensor).to(device)\n", | |
| " labels = labels.type(torch.FloatTensor).to(device).unsqueeze_(1)\n", | |
| "\n", | |
| " # zero gradients\n", | |
| " optimizer.zero_grad()\n", | |
| "\n", | |
| " with torch.set_grad_enabled(phase == \"train\"):\n", | |
| " loss = lossfunc(model(inputs), labels)\n", | |
| " # calc loss\n", | |
| "\n", | |
| " if phase == \"train\":\n", | |
| " loss.backward()\n", | |
| " optimizer.step()\n", | |
| "\n", | |
| " #stats\n", | |
| " running_loss += loss.item() * inputs.size(0)\n", | |
| "\n", | |
| " epoch_loss = running_loss / len(dloader_dict[phase].dataset)\n", | |
| " loss_tracker[phase].append(epoch_loss)\n", | |
| " print(\"{} Loss: {:.4f}\".format(phase, epoch_loss))\n" | |
| ], | |
| "execution_count": 10, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "name": "stdout", | |
| "text": [ | |
| "Epoch 0/9\n", | |
| "----------\n" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "name": "stderr", | |
| "text": [ | |
| "/usr/local/lib/python3.7/dist-packages/torch/nn/functional.py:718: UserWarning: Named tensors and all their associated APIs are an experimental feature and subject to change. Please do not use them for anything important until they are released as stable. (Triggered internally at /pytorch/c10/core/TensorImpl.h:1156.)\n", | |
| " return torch.max_pool2d(input, kernel_size, stride, padding, dilation, ceil_mode)\n" | |
| ] | |
| }, | |
| { | |
| "output_type": "stream", | |
| "name": "stdout", | |
| "text": [ | |
| "train Loss: 5757.6398\n", | |
| "val Loss: 11140.4458\n", | |
| "Epoch 1/9\n", | |
| "----------\n", | |
| "train Loss: 3447.6478\n", | |
| "val Loss: 3522.6971\n", | |
| "Epoch 2/9\n", | |
| "----------\n", | |
| "train Loss: 2562.3444\n", | |
| "val Loss: 3599.9207\n", | |
| "Epoch 3/9\n", | |
| "----------\n", | |
| "train Loss: 2367.9356\n", | |
| "val Loss: 5537.8932\n", | |
| "Epoch 4/9\n", | |
| "----------\n", | |
| "train Loss: 2307.6216\n", | |
| "val Loss: 4014.2048\n", | |
| "Epoch 5/9\n", | |
| "----------\n", | |
| "train Loss: 2202.8301\n", | |
| "val Loss: 4606.2070\n", | |
| "Epoch 6/9\n", | |
| "----------\n", | |
| "train Loss: 2201.5014\n", | |
| "val Loss: 3768.8867\n", | |
| "Epoch 7/9\n", | |
| "----------\n", | |
| "train Loss: 2196.6811\n", | |
| "val Loss: 4468.4809\n", | |
| "Epoch 8/9\n", | |
| "----------\n", | |
| "train Loss: 2175.2215\n", | |
| "val Loss: 4584.9294\n", | |
| "Epoch 9/9\n", | |
| "----------\n", | |
| "train Loss: 2125.9121\n", | |
| "val Loss: 3785.5679\n" | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "VeEnz6nz4lQ0" | |
| }, | |
| "source": [ | |
| "View Loss Change" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "id": "V04nfF6Q4o2I", | |
| "colab": { | |
| "base_uri": "https://localhost:8080/", | |
| "height": 295 | |
| }, | |
| "outputId": "bd5e2869-641a-4d67-f542-e4ce9aa03f49" | |
| }, | |
| "source": [ | |
| "#plt.plot(loss_tracker[\"train\"])\n", | |
| "plt.plot(loss_tracker[\"val\"])\n", | |
| " \n", | |
| "# naming the x axis\n", | |
| "plt.xlabel('epoch')\n", | |
| "# naming the y axis\n", | |
| "plt.ylabel('loss')\n", | |
| " \n", | |
| "# giving a title to my graph\n", | |
| "plt.title('Loss!')\n", | |
| " \n", | |
| "# function to show the plot\n", | |
| "plt.show()" | |
| ], | |
| "execution_count": 13, | |
| "outputs": [ | |
| { | |
| "output_type": "display_data", | |
| "data": { | |
| "image/png": "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\n", | |
| "text/plain": [ | |
| "<Figure size 432x288 with 1 Axes>" | |
| ] | |
| }, | |
| "metadata": { | |
| "needs_background": "light" | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "mlOLvAguG5WS" | |
| }, | |
| "source": [ | |
| "Save Model:\n" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "id": "Xonx02yNG6ic" | |
| }, | |
| "source": [ | |
| "torch.save(model.state_dict(), '/content/drive/MyDrive/TeaRater/model.pt')" | |
| ], | |
| "execution_count": 15, | |
| "outputs": [] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": { | |
| "id": "uCZdOi1_Hgoq" | |
| }, | |
| "source": [ | |
| "Next we will test the model on these cups of tea" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/", | |
| "height": 212 | |
| }, | |
| "id": "benKqUxtHff8", | |
| "outputId": "c3acf783-c951-40ae-cee0-043b68ddc034" | |
| }, | |
| "source": [ | |
| "testImage1 = Image.open('/content/drive/MyDrive/TeaRater/testTea1.jpeg').convert('RGB')\n", | |
| "testImage2 = Image.open('/content/drive/MyDrive/TeaRater/testTea2.jpg').convert('RGB')\n", | |
| "\n", | |
| "trans = tforms.Compose([\n", | |
| " tforms.Resize(input_size),\n", | |
| " tforms.ToTensor()\n", | |
| " ])\n", | |
| "\n", | |
| "input = trans(testImage1)\n", | |
| "input = input.unsqueeze(0)\n", | |
| "# adds batch dimension to tensor\n", | |
| "\n", | |
| "print(model(input.to(device)).item())\n", | |
| "testImage1" | |
| ], | |
| "execution_count": 47, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "name": "stdout", | |
| "text": [ | |
| "95.1833267211914\n" | |
| ] | |
| }, | |
| { | |
| "output_type": "execute_result", | |
| "data": { | |
| "image/png": "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\n", | |
| "text/plain": [ | |
| "<PIL.Image.Image image mode=RGB size=284x177 at 0x7F7ABCF53A10>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "execution_count": 47 | |
| } | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "metadata": { | |
| "colab": { | |
| "base_uri": "https://localhost:8080/", | |
| "height": 892 | |
| }, | |
| "id": "bZW0T_eeJeSo", | |
| "outputId": "7936d608-90ea-4c55-d893-0cc50505d5a8" | |
| }, | |
| "source": [ | |
| "input = trans(testImage2)\n", | |
| "input = input.unsqueeze(0)\n", | |
| "\n", | |
| "print(model(input.to(device)).item())\n", | |
| "testImage2" | |
| ], | |
| "execution_count": 48, | |
| "outputs": [ | |
| { | |
| "output_type": "stream", | |
| "name": "stdout", | |
| "text": [ | |
| "126.89561462402344\n" | |
| ] | |
| }, | |
| { | |
| "output_type": "execute_result", | |
| "data": { |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment