diff --git a/Flask_Contents/.gitignore b/Flask_Contents/.gitignore new file mode 100644 index 0000000..e112ddf --- /dev/null +++ b/Flask_Contents/.gitignore @@ -0,0 +1,8 @@ +.DS_Store + +/backend/pickle_files/ +/backend/data/ + +/flask-app/.git/ +/flask-app/.gitignore +/flask-app/static/uploads diff --git a/Flask_Contents/README.md b/Flask_Contents/README.md new file mode 100644 index 0000000..ef871f5 --- /dev/null +++ b/Flask_Contents/README.md @@ -0,0 +1,26 @@ +colgan-asl-logo + +
+
+
+ +# ASL-T + +## Overview +ASL-T is a data science project that would be used to help translate American Sign Language into the alphabet to make it easier to communicate. The input of this project would be an image and based on the input image, the output would be one of the twenty six letters or maybe nothing if the image is invalid(Doesn’t have a valid ASL sign.) + +## Dataset +As for the dataset that we will be using to train our model is taken from [Kaggle’s ASL dataset]. + +[Kaggle’s ASL dataset]: https://www.kaggle.com/grassknoted/asl-alphabet? + +## Demo + +## Future Development + +## Contributors +- [Michelle Lucero] +- [Xuejin Gao] + +[Michelle Lucero]: https://github.com/MichelleLucero +[Xuejin Gao]: https://github.com/xuejingao diff --git a/Flask_Contents/backend/.ipynb_checkpoints/asl_data-checkpoint.ipynb b/Flask_Contents/backend/.ipynb_checkpoints/asl_data-checkpoint.ipynb new file mode 100644 index 0000000..ef9edd8 --- /dev/null +++ b/Flask_Contents/backend/.ipynb_checkpoints/asl_data-checkpoint.ipynb @@ -0,0 +1,755 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "# Import Libraries\n", + "import os\n", + "\n", + "import pandas as pd\n", + "import numpy as np\n", + "\n", + "from sklearn import metrics\n", + "from sklearn.model_selection import train_test_split\n", + "from sklearn.svm import SVC\n", + "from sklearn.ensemble import RandomForestClassifier\n", + "\n", + "import seaborn as sns\n", + "import matplotlib.pyplot as plt\n", + "%matplotlib inline\n", + "\n", + "import PIL\n", + "import cv2\n", + "import string\n", + "import pickle\n", + "import random" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "# Listing out our categories and the directory to these files\n", + "extra_categories = ['del', 'space', 'nothing']\n", + "CATEGORIES = list(string.ascii_uppercase) + extra_categories\n", + "\n", + "DATADIR = './data/'\n", + "training_path = DATADIR + 'asl_alphabet_train/'" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(200, 200, 3)\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# Shows one image and its dimensions\n", + "for sign in CATEGORIES:\n", + " path = training_path + sign + '/'\n", + " for file in os.listdir(path):\n", + " full_path = os.path.join(path, file) # Joins folder path with file name\n", + " img_arr = cv2.imread(full_path, cv2.IMREAD_COLOR)\n", + " plt.imshow(img_arr, cmap='gray')\n", + " print(img_arr.shape)\n", + " break\n", + " break" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " (200, 200, 3)\n" + ] + } + ], + "source": [ + "print(type(img_arr), img_arr.shape)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# Shows image after downsizing it from 200x200x3 to 64x64x3\n", + "IMG_SIZE = 64\n", + "resize_img = cv2.resize(img_arr, (IMG_SIZE, IMG_SIZE))\n", + "plt.imshow(resize_img)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(64, 64, 3)" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "resize_img.shape" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# training_data = []\n", + "\n", + "# def create_training_data():\n", + "# for sign in CATEGORIES:\n", + "# path = training_path + sign + '/'\n", + "# for file in os.listdir(path)[:200]:\n", + "# try:\n", + "# full_path = os.path.join(path, file) # Joins folder path with file name\n", + "# img_arr = cv2.imread(full_path, cv2.IMREAD_GRAYSCALE) # Read in img from file and convert to grayscale\n", + "# img_arr = cv2.resize(img_arr, (IMG_SIZE, IMG_SIZE)) # Resize img\n", + "# training_data.append([img_arr, sign]) # Add into our training set with its classification\n", + "# except Exception as e: # Incase there was an error in the image file\n", + "# print('Error in file:')\n", + "# print(full_path)\n", + "\n", + "# create_training_data()" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "# Def: create_data is a function that helps parse the dataset\n", + "# @params: path - path is the parent folder that contains all the images\n", + "# @params: categories - classifications\n", + "# @params: resize - the wanted image size\n", + "# @params: color - cv2's cv2.IMREAD color\n", + "# @returns: list - returns a list len 2 where index 0 is the 2d array, and index 1 is the label\n", + "def create_data(folder_path, categories, resize=64, color=cv2.IMREAD_GRAYSCALE):\n", + " data = []\n", + " \n", + " for sign in categories:\n", + " path = folder_path + sign + '/'\n", + " \n", + " if not os.path.exists(path):\n", + " continue\n", + " \n", + " classification = CATEGORIES.index(sign)\n", + " for file in os.listdir(path):\n", + " try:\n", + " full_path = os.path.join(path, file) # Joins folder path with file name\n", + " img_arr = cv2.imread(full_path, color) # Read in img from file and convert to grayscale\n", + " img_arr = cv2.resize(img_arr, (resize, resize)) # Resize img\n", + " data.append([img_arr, classification]) # Add into our training set with its classification\n", + " except Exception as e: # Incase there was an error in the image file\n", + " print('Error in file:')\n", + " print(full_path)\n", + " \n", + " if not len(data):\n", + " print('Error no data was found')\n", + " \n", + " return data\n", + "\n", + "# training_data = create_data(training_path, CATEGORIES, color=cv2.IMREAD_COLOR)\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print('training_data size:', len(training_data))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "type(training_data)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "training_data = np.asarray(training_data)\n", + "training_data.shape" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# print(training_data[0][0])\n", + "training_data[0][0].shape" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "training_data[0][1]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "training_data = list(training_data)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "# Shuffle Data\n", + "random.shuffle(training_data)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "for sample in training_data[:10]:\n", + " print(sample[1])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# creating SVM dataset in grayscale\n", + "X = []\n", + "y = []\n", + "\n", + "for features, label in training_data:\n", + " X.append(features.flatten())\n", + " y.append(label)\n", + "\n", + "X = np.asarray(X)\n", + "y = np.asarray(y)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(len(X[0]), X.shape)\n", + "print(X)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(y)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Saving SVM dataset in grayscale\n", + "pickle_out = open(\"svm_X.pickle\", \"wb\")\n", + "pickle.dump(X, pickle_out)\n", + "pickle_out.close()\n", + "\n", + "pickle_out = open(\"svm_y.pickle\", \"wb\")\n", + "pickle.dump(y, pickle_out)\n", + "pickle_out.close()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "pickle_in = open(\"svm_X.pickle\", \"rb\")\n", + "X = pickle.load(pickle_in)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "X[1]" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "# Creating dataset for cnn using rgb \n", + "data = create_data(training_path, CATEGORIES, color=cv2.IMREAD_COLOR)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "random.shuffle(data)\n", + "\n", + "X = []\n", + "y = []\n", + "\n", + "for features, label in data:\n", + " X.append(features)\n", + " y.append([label])\n", + "\n", + "X = np.asarray(X)\n", + "y = np.asarray(y)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(87000, 64, 64, 3)" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "X.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(87000, 1)" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [], + "source": [ + "# to normalize the data but it is huge\n", + "# X = X / 255\n" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPsAAAD7CAYAAACscuKmAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nO19a4wk13Xed6q6Z3a4y9fypRUpilRAS5YVPQxGj0iwKckyaFkxncByrMCBEsjgHyeQEQeWlAABHCCAggCG/SNIQkS2lUixLfgRKoJjm6CtOPFD0sp6UhJFPWiK2uWu+Nhd7u7MdFfVzY+p6fudr7pqmtzdHlp9PmAwt/reunXrVt3uc+455zuWUkIgEPjuR7HfAwgEAstBLPZAYEUQiz0QWBHEYg8EVgSx2AOBFUEs9kBgRXBBi93M7jSzB83sa2b23os1qEAgcPFhz9bObmYlgK8CeAuARwF8CsA7UkpfunjDCwQCFwujCzj31QC+llL6BgCY2W8CuAtA72I/bJZe0JY3iyGhwuQofyGl3lbDffgzn8l5F4aL4bLUuZOBSeibq6H56NbY3HZ6M9bTTDE0B4vO9mAfNtTL/PGnZ/uYF3ygC46o84kNnMlj1najtotjqcFTqZnbyYUs9hsBfIuOHwXwmqETXgDgf9vOIn/gwEFXl8pcNtEuSpqMhsrF0BMrfF3qeblLeDR1vnYq/Tgs1XyBuWNqG9J1+9ERqnrup5AH29R0L4W2bWhcfK3+L1BdKw21tYIGWTeuXUFf2Kn2N1NQp5Wbe2mXFtMk57++bZ/uBrRhHrM19B4V/R02cux6l4fm3is6sZBekuU3Lbn3CGDpuhj4EeSpGtvY1V3b3ttPbp3tPf9CdPZ5s9V5t83sbjM7amZHn7iAiwUCgQvDhfyyP4qdH+td3ATgmDZKKd0D4B4AeHE5Sl89eDkA4CP/6O/5dvTtPN3yfUzG+VusrPO3oumvFX/Dy9dO1eTzkuXbLju/7fl47TIvfYyLXFeW+Vq1flPTMBoZR6IvfDnNNfaSuv9OruhXtFHxgI4bulaT/C9NVU1zHfxA6q2Kzsvtqu2pazfZyg+qqURpaPIc1/Qrl2RC6pquJXVNmszKJYkwda2/vQNiMI3f6NnqfBRlfsdUwOLnbiJK1dQPqz/b2/IS1zR3cm03B3QvdVW5dhX1vyF1b9h+GgDwne/IdQkX8sv+KQC3mdmtZrYG4KcAfPQC+gsEApcQz/qXPaVUmdk/A/CH2Pk5/NWU0gMXbWSBQOCi4kLEeKSUfh/A71+ksQQCgUuIC1rszxRmDcZr2wCAv/Oal7i6Zpp1kHNbjdRlnXKL9MZKdLetSdbxtja3XV1FaumE9Evd6a5Jb6zTeVe3Pc11I1KZppXXeatmvh6380Ge8rWx31EtaSeW9x+K0u8rlGt0nqivI949553dzo57HnPdiM5el3PbNXKffJxEZ69J9zxPur3q27znwHsAbW0+b5KvNRrQ+/V5Tqv8TvAGfKplw4R08enU121X+V0qZIukdM+G3o+x7AWN+Fl77bmgPZPCWYD8xbZor2YkY7xustP/6MnOtlnPVQOBwHctYrEHAiuCpYrxMENqTVbXXH2Fq5qOssj2vMYPi0U/tjSpqy9LZh3RmkTwiswgUxL9AWBrKx9PKi9ycp+J+tuaeJWBRVOxkKCmPhupm5Aqw/c2lf4tZZFwc8uPn+dqtLZBJ/nv9fX1MVV50Xd9TPNKziC25tUOb+by/U9JlTmUrpyV1QGJn0Uj6kRR5/4nJLZKM2dGZJF+py4fT6fUrvJmxEQeKyOpm9LxSBytKnp/RnRrtagJrF50XNTpNatpjOrtVNJzWivFOal9TEOee/HLHgisCGKxBwIrgljsgcCKYLmmNySUu2YTMSetDwRmjEakN7LpRvrgWIxx7eua9fy9VuBA77Vq0jVrjTIhP8pEumGleiK5Q1YTr//VU+p/6vWubdLXJmQyqsWsNSU1fXvi9egtcnUFuQVPxFRTV5uzsuqQaYuCWKhOg6kq6tMkgKO0tXweuySLzrs+pldwLH2s5esd3LhsVm7E3MjurdNa5ls9a3fPqdXcyH345zmlCa9En2/oxIr3BGSQRu3UZXhKmxDsMlzJGEvqU/ctDO2YBwJp4pc9EFgRxGIPBFYESxXjE4CqFbnGyYvZiSKLNE69IJNDKljEUjE7H5fiWtYUJEa5uv5rFRo6x9FKpFqs63hZn1hbc3UcV16J+MzSHUcBJhVbB0w8bPZjUXJ7InY+GsdEVI3pVj7eJlH9/KZvt7WdTYKNesax6ZNuoBZVoKExioSMacUm1/xs1XMSJUUxiufaiF7x9TGZItdFdTE2N2o0JXEXqPjPah+L6klVL/JYVDWBbLBsKqzUk4/UiUJUu8tb1assNYozI37ZA4EVQSz2QGBFsFwPOhiK9vtlfeTFjYo8gsZCKMHkDUzbo9IcB500jf8ea0gMrCnwwGRn1BNiaB9MLtFPaObE/wEaIxUXHREFn9ahbuL7lBriRmpIVbpsw+/aF6Q21UIpVdJ5TDyh5BKskmhcSdVkEb8mcVTViYrE0e1t9WbMFoNtsjJM1TpBx42IyJOGPCInT+exK9UXbW9rIExZrueDjorJxBZEfLK27tptHMrzr4FNLviKd9ytX80r5VncdP4QAGD8Wa82urH21gQCge8qxGIPBFYEsdgDgRXBknX2TMqwPdl0n5ek03QIH0iH5+ihYqwedFSnujIdjwoy1SjpY8V6uXiM8bGjWNYIJ76umKRIJysk2sx5XTEtsej2bOIppa6w7B3IewBKfMn7ILJ94uijSyZU1HtheuTaj6Ms8jhqMsMpxzt75WkwWEXEGTzeWiMJnfnLj5GJM7bJpKgehZNt3mNQz8bcdiJRki7CkUyYLnoNQF3l+9yUUEge8cSZ78QLr8z6+Hrhl+6o1e+VqpsRv+yBwIogFnsgsCJYshifgNbstX7Amwgm5EUkliAkMicZ8XuryMIWKvVg4m819tDrxA1wMIaaWViKp8+bTvohUgXEbJac+c6jIE8wFvc7ZAckdnc43/3F6BQxNbkjqSORk3n1zfzrwqY4zngCAGMSz5mLpFbPRuMxSh8uGQ1x0I0l2woTQ8gYD9J7ZmRSFAdO74lY+z6qhgg2khfBWUVhIpGpEJ+cO5vVCVUhpvTCb5I60X3uxA24LbrM2d3zQowPBFYesdgDgRVBLPZAYEWwZPIKm+nLZe2/Z0ZEoqimJlasnXurfFWxDj+SSpeJsz8l3GBaX3OmLCbbGMg5J3C6uNjDCtJf2Q0zFQPmu07GW8qsyuOVcbCra8ccRl2OQCZR2UxpCt5/kDkgUxxHHBamLsg0H2JTW2PdmeyDVa37D6yACyc7R0xyRKDMSGn9+vyBRPtLsidQkz5/6GB2ka315bmO5lvGyNZC3gNQ0xtHSdZCQvqSMzuuwAfWvVs0Y89fdjP7VTM7aWZfpM8Om9l9ZvZQ+//qvfoJBAL7i0XE+F8HcKd89l4A96eUbgNwf3scCASew9hTjE8p/amZ3SIf3wXgjrb8QQAfB/CeZ3ZpiTZjEbbRAPz5KXmVIo6FnqTGJRKrnKmsI4L3DlHE3dTb0NJ8URrw6kTSqDcSJQuKAlRRnYOhVA1hbgj2atNvdWdGVNGaOuEALY3CGhnPqaRAJjWNHdLGmg2L7qAqJNqMRXA20QlXHQfBNep9SWN0wxfLFadzlttEU7NK5U80us91yyJ0N+qSOeh8/yMmxyCVrSy9edrNv6gJ16/tjHE86l/Sz3aD7oaU0nEAaP9f/yz7CQQCS8Il3403s7vN7KiZHT2lDtqBQGBpeLa78SfM7EhK6biZHQFwsq9hSukeAPcAwEvGOayiFlnJHetmtuOF60+j0+8zBy/2kNik33YsVnZ31Xn3mWSxDrkEXWqAz0xFMb+jPeBpRzvCHTWB+ueAFpVNeae3kd1ttgS4TK36YOhWBhiM3U63koUwOvNtnKKKLQsiSlNdrW9BM1+ML8ZK8sBBPb6mZo89W5fKHPCTXByTeNrxeJV/sekZv+oT1Mmo8OMft+nTBgxBz/qX/aMA3tmW3wng3mfZTyAQWBIWMb39BoC/APBiM3vUzN4F4P0A3mJmDwF4S3scCASew1hkN/4dPVVvvshjCQQClxBLJ6/YxaDXmZiCWL9M7LWlHmjsaddxf2Nii/5xFCWTKPbkDoLozR2tut825vReqSsG9K0+aLpl62x4tJfqTAfNscx3wabDgb0Jvu/u/gnpyo6wUQbWMEGFkICQ3Y/7Vz5/Pi7E5Kr+hX3DQMN7HSLwkhnUlMCDUyfTeWXhPdnGPD9N/7vp3g81U5JJWiM+D7Spskzt0YTwjQ8EVgSx2AOBFcGSA2EycYSaYDhgYVyoR1cuszTUEVmbARFIiQB6Ph8yXfQGuPT0DXTFxeQCaIQfn729aA6U321okK4P6l757jgQRj26mHu+cONQz8YhjvMsul95xfNn5SPXvcC1e+BLf0WD9PxuoxGJ+Dze5F/bNCDG18ynR2K8ps0qKNCmETG75OsVPgDFkMfMgULWyNJywxLPSVIXS/KA6xh+2cNS36yy7WPg3Yhf9kBgRRCLPRBYEcRiDwRWBPtmelNzj8uj1uFXnM8tXg6YGeaErOVrsU7aOa/fvNEh1Zid4nVZR0oo+p83jYjJqyeqLpmOg6KkZCjc1kWzSVSakcpqmlvPsWly3wPRiGq+I/1+3Fw+K//5H3/WtTt0JaW+vkKj+/jiHJWmz4HdWXWu+HlmjMdC8kD9l7q/0UMqAgB1Q/0wsYU8dzZh6l5NyYSc9O6oSbdkrvhGfHpn4wqdPRBYecRiDwRWBEvnjd8VZ4Q7wKdM0loSkzVbU18fKuqxSMS8Z0WpRHbzUzDt9jI7z+ZzvAOAUbQWRmoDJE8t5X5jjrGKzUkqVrJpTNUVfqTMe+Yf9ZS408z8rDKZAk+jOpY5Tny5zSk9jScePzMrf/Lo5127v/39L5qVn3+Fj+RikbkYiCx05lhVJ9BjrhJ7Y6I5SCKq8xQ3ki4aDYv/bKITnrliIAUW8/unftMbm2PV9GbVrgcdehG/7IHAiiAWeyCwIliqGJ9gmXdNRRne2ZXdbR8bMD+gBQDMBTNoZS6WqZ+ogM8q1ZPP0c5xSioNEJl72c4nXe89TkvVT7DBfGaliJw8PzUlEtWAmdIF8vSNUEVHEU0d+ZuqK3lcx46fmJU1a9G5bX4AB1xd6W6AVSjhwqPgpUYtC/SKG/PAQS0LNHS9TxazZb7haL5Tz+fAaICXED2ciDrf/P5Z0R+k1Yf4ZQ8EVgSx2AOBFUEs9kBgRbB/HnQdkN6lOZtJJ7YhjZhMUt1AtPlEktqO9aSOTs06PEeXyf4D6/q1kjo0rJfrECnyb42jsCRVETuMDaW5crZI8eQr2LOs3yPNpZjW6SZduZK9D56Dx596alZ+6txp1+7AgRwdNxI1tCnJXEV7MJVaSzkFtxKfGJNjEK+7cjlSiuXSBvZS1AzaQ/Sh3peeZ1TDDGny2DpYa1QkpyvvZALAXohf9kBgRRCLPRBYESyfvKItK3+cuYyg6qWUi2xBSuJP5wgfxP3NkUY4UUzEYO6/4+k0P5hhKMWTBs+kok8l8QE0bCrTgJ/k7lP6cB5vTFDRzxGnGo+jVXMTIuIni89iemtGWTz/9mPHZ+WKzWkADl6WzW2lppCiOa5JlTG5FnszmnjaleucdqmfIKUs+P2QOS36VUfnqZn6+fz5PdP31pn6XKCXD9ZhlZC5EgEAo7aPIK8IBAKx2AOBFUEs9kBgRbB009su4eRITRhstlB9h90cSScrxK22qiqq8130kkUKnG4/kMCMrTON6LKOv1556ZlEQ01qPTzpqlXzfkGj9rCeVGEd8xodaprjxuns8/vb6SLf56jwr9I2pTI+c/ocneRdYpvi4Ky85bvHBtkYpxP2s1V3WXJnLf2cTqf5ekb7BR2PbEePL5Fzbp9F3lvOJcc558QPO1m+tr5V5jeKclH6cLQn6u27wOu9SPqnF5jZn5jZl83sATN7d/v5YTO7z8weav9fvfflAoHAfmERMb4C8PMppe8F8FoAP2tmLwXwXgD3p5RuA3B/exwIBJ6jWCTX23EAx9vy02b2ZQA3ArgLwB1tsw8C+DiA9+zV367U07FMNAPyohOZHXmaA5MdqNTuouo8zYVvyMQNah5k0Zej6IRTzAng6kFnWRxtRBwdO3PefNEO8GJ2h47Nj3hOaQclqUOl1FZOTSCiDOmEedgb+d2YVlls5SxaWxMvml53422z8vmtJ10daznrB/Krev7c067dhDjgD11+mas7fN11s/KZx4/NypVca0Teeo16RLpos84kUCVH5vlmziSoRBwucI68Lzvc9nyeuCwO8jG25+/ZgvszuwXAqwB8AsAN7RfB7hfC9c+kr0AgsFwsvNjN7BCA3wHwcymlM3u1p/PuNrOjZnb0lDokBwKBpWGhxW47Hvi/A+DDKaXfbT8+YWZH2vojAE7OOzeldE9K6faU0u1XPZs0pYFA4KJgT53dduwCHwDw5ZTSL1HVRwG8E8D72//3LnTF9sd9kK2jE1mUy87MJd6bPmWzRoMxbzzr7zq8fmJAZ9Zi7nb17q3YfNcfQaWmPTaj+dxmMkini+sY599nqS69A0IW86Z75hd182Tml34OfJ+N24+Xdeorq0Ourj6bBchrrssmuocf9jnhvvLQo7Py7a97sav7zOe/lNt94VOz8hvf8HLXjuex7KwKehad3yt282Z3at+K95q6EXHs7ssRdh37MRV1U6DWoXawiJ399QD+MYAvmNkuw/+/ws4i/4iZvQvAIwDevkBfgUBgn7DIbvz/Q//3xZsv7nACgcClwnI96BKJ7x0e8AF7EsmcfamXAaAiEX+tE83GRJX9UUzJecMpyQATSpBHlPlpdJFidf+2SJezfr6prEOYwMcdbYhNPP0ptYa2Sh2HP5MtasOBR/b06c1ZeTLNIuy5TZ/y+Pz57F032fQmtd+650Oz8q233jIrv+3H3+LavfzlWSQ/fcb3/+j6Rh7TZn6ef/bJL7h2P/ia75uVrfFqQlEsNt/J5RYXz0nWDbQPZ2YlD1FReRwRSm9UXUS9BQIrj1jsgcCKYLlivGVx2rpRFQQldeBdTuaIm3OBFpWQonGQictaKuIW99/hnufUTXpp165f7HOWhX7nPXeFLq97vxBeUERHoxcgNE6NEpGTSDTckET1SkTWUCf/KjFX/MZlV87Ka+e8i8bpp07NyqeefMzVff7rWdR+4MGHZuVPfcZngr3x5mtn5RMnvWfc+sGcUurGG2+clb/5jYdcuze8+mWz8gGxkqQBzkKG98xU68fAG9NT94y8UmbqcX+T+GUPBFYEsdgDgRVBLPZAYEWwb7zxjXpjObOFkAGyMutIFwSc8liq2NxWJ+YI19xg3J3qXRxxN5ArbEix4ysIPz7rfEzVUCg5ovOe8rPAXngu0EpGoYQbDuzF5TpRU1AmRByNr3B1N96cTV5NdXhW3tx6wLV78sknZuWzZ73prUnnZ+VvPf61Wfn09EbX7uvHcjTb+qENV3f4ihwFdw156938wptcO0cGoWSONFddgk/2eGP0E1Oq9xvXNS46s597vjeX4cDWQPyyBwIrgljsgcCKYN/E+KQpntxIvIg5qcijibi0RyM/fDavqY0kucAS8iwrVAxmfnIZtJPxiWSg8g1dsIt+nzKvu3TPc8KplZKI3IlViKRqSE/gylDkywBqJmRQrro6Hx/auNLVXX5Zvvbxb+dglGOPHnPtHns0c8o/efqEq3ve1Vlcf+Qbf53POfdV125j4/JZ+dqRF8/PjPIYv/7Nb87KP/bWH3TtKopmmjQ+r/TIpZdSObmPb3DA5jpovqNm8sz4Xe3kVpgdD5hl+y8bCAS+mxCLPRBYEcRiDwRWBPugs+98vxTCM86mOK8xARUTC1CkWEdrqfuJJxqbT5yoGhiTK3RNaPPdYLskF/1kBy6mTnjBR06v6yfPbNzUiRnHDYOJFTy8eil9MP85mURToWanXJ5s+qf2oV/78Kz8ta9ncolzQjj5hc9nl9hXvcITT4xe9qJZ+Utf/MtZ+fzEj2Nr+2wub55ydQcPXTUrl6O83/Nnf/k51+7aH3n9rDwW9grWlTspst1Q2MV54LlA4F4rIgTp7LPw/klfJxH1FgisPGKxBwIrgn0Q43dEIhVhK5dzyKeqLUfEp06CcNcyRoH/yk/HwhNzrEkKJi/SqnjL/HHohVMT1FuKzXIDjBJOXGyUq46vpRGC3B0PRGeLz+vnMS/JtSxJFB33/9TT3vvtdT/4d2fla5+XTV5f+urDrt2JE9ncdvONP+zrvpXbHrnxlln52Mnjrl1zLnvaXb7meeOvO5wTFfGjPvmkH+8f3Z/VhB//0de7unItJ6bqWN56nBm7ql2/SuWjOvvFcEv9acIXsLzFL3sgsCqIxR4IrAiWKsYnJDTFfDGeYw9M6ljcnfJu+ZCHm16bd8hJntMgE04hVYmIX3AwA19WuMI8UYGXqziIpUNBzXTDTHet/df02Dq8xzx3vM0rnnYuMEO9/NiLsH+8PP9nzpx1dduU/un0Odot3/YccWdOZ3H6l3/lP7u6epov8MSp3N91193q2r3jHW/MYxTSkhNPZTKLb3w7k2Nsi1UAVR5XrbyBTF4BQcM79fyxZOglS0Znl51FckeU0e8F2vmdXsBBMn7ZA4EVQSz2QGBFEIs9EFgRLN301seLx7psLTo7fyMVrHsOqD5qI+mrUr2/IftJKbqs54NHL9KA+cR5pA3wwRecSkgY2xsihFSLWnK88bloSrbB3nWNEIn0EF9q1BujqtTvMV/v5hfeMitfefUNrtWxk9+Zlc+J+Y6jGqcP5/5f+n0vce2eOpPPO3vO7x089vhTuf/zWS8fS8TkgbV8b+vrrsp5yWnUG8+rSwveb3nrkE+6qEa3P9MfYaeRkF2bYBd7/rKb2QEz+6SZfc7MHjCzX2w/P2xm95nZQ+3/q/fqKxAI7B8WEeO3AbwppfQKAK8EcKeZvRbAewHcn1K6DcD97XEgEHiOYpFcbwnArmw0bv8SgLsA3NF+/kEAHwfwnqG+LBmK1hvMxLwx4WyYwgHGotMQkQCbhjrcGD2EEv0kAPAuV/DiecGc6bWIwcy7PhKT14AZx5kHkb0IO2qB5et1ueTmkynwmHbqqNxJpU33RnMwEjNlXec+1dR0+Jos6B17LGfzvuHG57t2z/9bL5yV/+LP/9zV/cOf/IlZ+b9/4AOz8mRzy7WbbGez3OOnfCDM6S32fsvjX1/z9/KOn/r7s3LCpqtznH+qOjoz2qJJtTwc1xx5S3bE/eFkBUOVe4yAB2NWthlcTwK4L6X0CQA3pJSOA0D7//pF+goEAvuDhRZ7SqlOKb0SwE0AXm1mL9vrnF2Y2d1mdtTMjj41yLoaCAQuJZ6R6S2ldAo74vqdAE6Y2REAaP+f7DnnnpTS7Sml269eYMcwEAhcGuyps5vZdQCmKaVTZrYB4IcA/HsAHwXwTgDvb//fu+fVLLuBnt8656oa0gfXLzvg6tiltSB9Vd0JR6Qf12pSK9ik1m974z5NUipXZA4raIOgEJfVTjRbT/9Nb9pdoCbbXlOo2YzP8F+gZU8eZdM+mAtdhuFaMsmh6R5Gbrm56U1e5zZzJNrBQ4dm5cNXe375q67Nedpe+jM/4+rOEgHlzbdkIskTx3xOuCcpgm1zOnV1Rq/4eJz3Qa497N+xq6/Icz/uEJ8MmNS62Qva6w65s4obLBOysIlO/JN5D6Z5Fj+ci9jZjwD4oO0YFAsAH0kpfczM/gLAR8zsXQAeAfD2Z3z1QCCwNCyyG/95AK+a8/kTAN58KQYVCAQuPpbrQZeA1HrAjdc8QQVGLMoIIcN0vllORdOq6k+xk8jUxyK9tmMK+FJEMRb/reQxetNbM5BeyvGUDUbpkcrQraRr+aqSePVZTVBPu4JSN6nVpi7ofoh3PYmJsaTX5/ETXrS2jZxq6eWveMWs/Mgjj7p2Z7729Vn55lt8NNvnv0h888fyltCTT3rz2pnNbCpLMt9ra3mMZZnzD7zjJ/6BazdqsomuFOaTIT74hvTFmjni5Nmy2bKXeEKu1eH8c2PS9E/teZH+KRAIxGIPBFYESyevqFuiaA3gb8gbK5VeFGPxeTrg4cayU3c3NB+zBK4OaCwGdsQtFuPJRS+JGD8mmuwkpBFDu6hTEpM5ldVEgkz8qPy1p2Vuy8YEk8y4RTOmOj/GEc3dZDv3Nxp4Wx5/3Fter7zm4Kz8p//nT/Noa7l/0i+OnfTpn77+zZzy6ZFvZ965bdlxL2iuxpet+bpxvpdbXpC9+jbGE9cupdynmdyovmc8fHoYY5dmVamkyaqh2Xvde+sG5drVFLA0Vj1hV50YsATFL3sgsCKIxR4IrAhisQcCK4Ilk1cYZlpJ8qa36ZQD+EW/JA+1RB50Gq3FZBPqndYXudShjXdKvPC1j1zyptxKzXwu5a+/QM2mtw6JAZ1FUWpdgsL+KCwmunC6uFyL1UYJMkTVZP2VVf2qUt01t7v6mstdzfaEdf3MBqHkEjXNVSF7E2eZzILeiQ7X/4jv2Vdtb5+Zle96W/b7SsmPo6KJ5Gg+wAUZdiL/RmNaQnTxqbx/bPrs/MJSpFtD49D59umzFZH+KRAItIjFHgisCJZrekvAZHNHzPiz//sZV9eQKWgqoq8jniCziHLPszxaShDLWkmeZdT/mqaaIq+8cuynx2VhIjFtZHqtfN5kommu6LjDWU/joKCNkRBgjMfZvFRPxSzHIi7dm/Lj8/jZywwA1kjs5mCgshTRFHkcBw8ddnVPHMtebY8/lT3eplN5ZjQfa+v+WRwgM9qBCZnURO+oOOpJIqBuujlz3p05m8fRrInXI83bgTVvvuO0V6ORn4M19n6j+WnUwkj6UFNJABfnQmA1Tx4Zp0hTYotu7uMu4pc9EFgRxGIPBFYEsdgDgRXB8lM2t1FUk3LDfVw7ggA/rAnpMUw42cmbTLpPLVzr5yvmU891nroQKJisYbIttexn25+LjfU/5WsvHCGk5hTjMpN0+GalZX1YTYVVs4oAABoJSURBVE2g6zWkxzVyLeN8biY8/e52+Fn0RxJqfrSnns5z99iJnG+NTXIAcPBQdqu93Hy65ZryxfGew1jcqdNAJOGVl181K3/uga/lPkb+ntdofjrkIxyJ1mGvIBJSjsjsmGPZvbrz0HIffa6zgPtpLiXc8erJDhnM+fOeLLPn9EAg8N2MWOyBwIpguWK8ZYkoNUoQwGWNGJovRnUY3Fw6ZOXv4mMXDubaNU5U7492cn10zCDsJedrHAGBCGosmbnTCr3TNL8dgIY80ozFXVOzGY2xEa8wEpk5enDaiHmHhy/msM3t07PyqVM5xdOk8u3WNojHTkxS54kP3hFxFP61LTgdlrw743Uy1dJtdnwBHYGEeE4OeEs6x0zrVycSq5gigo/JxOt8NAfSm42TetftvZTjlz0QWBHEYg8EVgRLFeMNmdetkB1VzdzqwWJr//cTawZNJ70piYH8sWQw7aZC4i7mi8+aZbUE76hqCh8+FlWGygWJqhr30XCaKFVX6IlyyqdSqaQbCh7RfV8imFBPMH8xorsWheKaa66clZ8+k8dx+mmxcNB8VMJx5zjdONhFeeCIy2Is3obVJNtbioJorEWtqROrLhJgxXyAIlsXPVFVSkOeaKnplDZVvu+iR4Xa6YMwElWj9dR8dgmoAoHAdxVisQcCK4JY7IHAimD5HnQtlIOcg7JUD+1jz1YSAzW7yBVnpdp5j/lWNREGaKRYw7p42e9xVbk+xEzkvPy8KctpmxS9VchjSmwaUmcvR2zR79HFem93vmmOXVSXkm0MsIDQ/HzP933PrPzkk540Yms7Ez9WleyfjNhDr6Z2ft7qZr6JDgC4S94WaoQbvnDEJ75/bqlEHy4Q0pmF5a1NA1FpLgWBswH6a9F8NI1GD15Ewsk2bfNnzOxj7fFhM7vPzB5q/1+9Vx+BQGD/8EzE+HcD+DIdvxfA/Sml2wDc3x4HAoHnKBYS483sJgA/CuDfAfgX7cd3AbijLX8QO6mc3zPUT0pZ9OukeCKxteO31iuOigcaSTZDIj2bdIayciq/N4vxzpQnnYxIIFdVg7kVlIOOZUSv1ghBhWO58H1MKSDFcfJpRlBHRCH36Tz2KG2Rql5k55OpQjHOc3DVNdnk1YhqdPpU5pnbOu/vkzP2TiiApoAnuTjPXoPyTnDgTU0eekoMwXx6pcxp7R67qDI0d06FEC+8gua0lnffPWuydZqYoysi/hDLXk8uWY9Ff9l/GcAvSJ83pJSOA0D7//oF+woEAvuAPRe7mb0NwMmU0qefzQXM7G4zO2pmR08PbB4EAoFLi0XE+NcD+DEzeyuAAwCuMLMPAThhZkdSSsfN7AiAk/NOTindA+AeAHixkpgFAoGlYZH87O8D8D4AMLM7APzLlNJPm9l/APBOAO9v/9+759Usq99T4cRmt8ymo4Fk/Y/1uI5vIClihbiwsj7FOnvZSX1L7STajPWpwpkAfbsJ1ZXiFsy6XMdtksKyKiYoFFdXHrJ6BZe0KeA432Wy2BWzKHXvgwk23IPx7ahciI7K/PuceviyK4RfnvToanrG1SXaEyh530bMZhvrmSBSCS2nW1kXZ456mM8X53npxZWb3rm6Ez2YwSm+1aW3HvAGZ1datnV29p3o2mp6200TfqncZd8P4C1m9hCAt7THgUDgOYpn5FSTUvo4dnbdkVJ6AsCbL/6QAoHApcByPegSYK2YomYcB1PxmURrUvs1Kogj51REdsYkjhobMGFMhYOcRfdRzWmZfR/OOKimPWqsEWU1sjeZEfd8kfxjsma+CRBQkZxMNTJXfFSLSpXK+ebN7pySKUuILWpK7zWdUPRase7aXbaRxXp9Gc+fP5/LxBZYy3PZ2Mh8hmUpqZhp1HxaoVFjDXs9ykB6uAf12BGTKAcdHZelNx3yO8FRdEm54NlhUXSqpEwXcxC+8YHAiiAWeyCwIlh6IMyusDFVogLeve1Ed3CWTt4F981cttee6wLAGn3H1brDTBuxSsjA3ll1PbRrStdVDg3MF/t2zqMdcic5qujYe+C9vVgEl7RFVWJxV/UJ5uhj70WxcDjRV3fjidiCnnUn1RSnfKolFVd5aFYekehbTdWTr59TsORUWWyFEbGXPdJURG56yQH9tR0fXSe4aH5Qz8559F7RC2OqzrLO2fH83Bvxyx4IrAhisQcCK4JY7IHAimDpOvuuTlmrB5Arq65MpokhE4OLnBPTHumUU5eeSaOYmGu9n7/eeaR1yNu5Cz8ONsF0vc7oPDIxJvEyrge8rLz5p6dzgQbfOcdBqtQ9Etbhk2xO8N4Km+V0Pjiya03IIhPp90wCcvbp865dSWa0AxvetMf6fTUh06kQi/I8qs5euJRjyvU/P+qt816Rnq689G6/g/V+9TLlMctm0+zaA8sjftkDgRVBLPZAYEWwdDF+VwyvxXzCJpNCIvPZdMPkEl1XJzIFdWxvZAoiaahQcxIFZphmC2VpbkCUZpFTh+E5670oVjKvnbFKIiIbZwsVG8wai93MhV5LMI2NqZ2QVxiL4BTU03Uto3ZyTGU+rZOBdZRNYyWVAWDSZPNgU+XyeOxNdGtr+TyTB28p89Q3dVYnkhBgsGqU9D55PgZTgrmT3BHzCOo74c243EXR267sqIA2t28/hkAgsBKIxR4IrAhisQcCK4Kl6+y7+m0n+N6F9Ig+74gcyKVU9cSBdM4u8J90Y70U87qruYp129LlmPZ9NOaYL6UPqhLdsCJiyRHp3oWMcUT7DI1cnCkZSmdTE/NdQS0H0jmD5qNRMyLpr6NOeF8eY0kmtboS0gjajxgf2HA1JZtIyZQ63fbztmVsovPjOHCA9iYoikxdVkclmcbEvJvoXjr7RH3EpvICshusuhZzY/fKdaIpifxTntmMc/9i8MYHAoG/2YjFHgisCJYqxidkz7OpyM98pKKYN0eQaCciC5sjut9iJHKyxiDX4sgoNUkVJN6yKUVNbywiJjGRuPTO4hnnTVv90XG140mX1FB051XJpiY1SfWnbE6OBIRERxmHo8noBP6Rd52zdXrT2/oBSk1dCFkDmTDLUR7TaOznlNM0T6eiJrC4y+Y15WR3JrV+njkT0xuTRhRlNgFqvgDmIqxSf9Sb86IUHkWeulpUjV1CjzC9BQKBWOyBwKpgybvxaSbeqJjDRAsqtjL3m5NT1MOIsnmqF1TNASguSENUBped1Y+Dqdnc+OVaTqzvBNpQWYIZ/N55mvs54D0AR7JDzvdWE0+e7oGPafdZN4cTUVq7wBrpo6LxjwpVJ7JIXpHKNpLnXqF/vt3byRvipXoDUjPNNMv6xVAaJ0fEoRaUIZIO5ozjZ9Gf8bZDRuJgve04y+1YH8YCP9vxyx4IrAhisQcCK4JY7IHAimCpOrvBMN7Vs5UssvAaqzsvzTefFJpZic1EHe+0+YQVqvqUTECgxO7uYk6Bd1V1wf3L3kTq18Udf7j172Hw/FSi948pmg1kytIHbQ17tUmlmzqKvuuYjNiTT/MA0N5B6h/vGkeDib5dTXKkW13N3wPY6b+fhJQvN6Y9HuVZd+mtxbzGnogaTdnwe1D3m++aqj/t1xyi+t1B+j74PtVrc9czcWA/YNH87A8DeBo75vAqpXS7mR0G8FsAbgHwMICfTCk9tUh/gUBg+XgmYvwbU0qvTCnd3h6/F8D9KaXbANzfHgcCgecoLkSMvwvAHW35g9jJAfeevU5KrYg7VdMbm5M630HzAzM6CVhZtJl4YxOrCcWIAifENFY2/R5jU07hw6YxySHlON/lVlhiK+Q+ja9NfegYE0UAmfC2sSTp+lCTEZWV86/oCpptH2pOYlIHtd+RiM/kDGqSItNh5z5ZjKUXpK79s63pXapF6alrfl847ZdXBdZYrC/6vTsbnUcO1nF65TMx7eX76Yur2WlHQ5S6XTWnk3OBsOgvewLwR2b2aTO7u/3shpTScQBo/1+/YF+BQGAfsOgv++tTSsfM7HoA95nZVxa9QPvlcDcAXD/0tRUIBC4pFvplTykda/+fBPB7AF4N4ISZHQGA9v/JnnPvSSndnlK6/apY7IHAvmHPX3YzOwigSCk93ZZ/GMC/BfBRAO8E8P72/7179ZUANC0X9kjMLKzMFmJTY9MNe8iWQhY5IjdK1VycNuW42/0UlKRPJfkuZNOQqd2P29FmQpeXnsahujFF9LHyViknuztPzET0SJ0ZTnnGqVxX4nI74jTH/eYe3gdIydvvnEWKyCIr6482KyolwMhtORoxyXNnEhB9Zmx+dPkEJ7JPQXTzSubI7tq12in5WfMWQyP7MXRYq32QwG68mpKc92CU6382xAFP3EXE+BsA/F770o4A/I+U0h+Y2acAfMTM3gXgEQBvX6CvQCCwT9hzsaeUvgHgFXM+fwLAmy/FoAKBwMXHkj3osqh9YOw5wl06XTEnOaGVvd86bAr9WxA+LW4/MQQTVnQkdY6aciYXFT/7ZSnHXacmLxJHeYxl6R+TI/pQ/jjLZpyGI8qECMGJi6o2+QHzSb4de7KVapLKbbemmbt9QzUXHn8t80bmvJKe1Nq6H++5c8Rtr+8Ajb/a5vHKpRwPnEbmsXrlz+uoYj1w5kd9X6h/l/ZZvS/Zy09N14ORdDsI3/hAYEUQiz0QWBHEYg8EVgRL543f1Ylr0YtYR0UlZhzmLqfvp1IYS6ZE9KhsJtw/my0KCWNis46amvjQZdlVk9RAlNSQZsU6mlPBatXtSd8eSD3GepxGrLkbUH581iEHeMz5vEL1y4L42pmAUyPnXIpseSemuY73M1QtXx+TyXXq3516grno5GxzTDIawcft5NiNhVlxNDyuf779nslQXjl67h2fldDZA4FAi1jsgcCKYOm88bvEDrWIHSx8dQgn2dzW9IsrxYAHnRN6uD+Vhjh1dCdLD/dKvOsyJp91tz9d0JC5xBNsdOxVs6KmMWLiThZ9NXWTN/dI/xXPD5kANeKL70VJI6j/isaoXPzrlH65Ec73co1eTzptsu2aedKSoZTKRIqpZBs8jxohyOZNHT9fzjQfGbcjFUU9RBvKA+DeDyWooGuPVEto6y5G1FsgEPgbjljsgcCKYPlZXFuRt5JdUyMvMZVu64rEF9qJntbKmc5eZ5I6hwNLKCikozLwpmnTL84x0YTqAiwWd8S+IS+/ns8bDTIhz7JOqiwquwAiCR7hHf5CPPQ426kPxvBjd/cmu8/syTbdznJ3dw+ZPOM21l1dmfK4ts/nZ10W3vsypa1Zebwm3obOmkCWHBHV2VGwlPlukLf0O86SbCUYUDE9ZaHv33nKJVZJhEeRrFSaNXfmsTiwKR+/7IHAiiAWeyCwIojFHgisCJYe9Va2tooa3rWpJF7tRlIZc/61hk1eoic63adWnT2Xx0xQoToO6V02sr4qpzMlUeRYI1MPOk75a5pvjO7HmVAGoqQ6+e5oP6JwjAn9JsBG3fDY1ETmJPUodOmta9XZ8ywUa1kXV8tYmbL+rUGG5Yj3JliXVQ+0bL6bVt58x/nR+Dkl0XkbWgq1zIcRwUnHgY6iz/j96/i+OVOqEpRS/2QircVcyu+jzkHafdEGgvDilz0QWBHEYg8EVgTLD4RphbWmGfvPiQihHItZpMrDrMh1qBBTx5jF/carCaORN+vsYogjTgkCvEca9SF9lpx2VwQ6Tzah154vpimfujunM0Yq0/yoZ5njbVPvOpan2brW4bsbMgHmuglz3Inq4tJBqTo0zSa1KXnXqTmTn1PXw425/LJqUa7796Egvr46eRc9Tm/dcbh0wyfTnqpX7LEI5dBzjBX5c9EZCucdqarG3iQa8cseCKwIYrEHAiuCWOyBwIpgyTp7wqjc0b0O4pyr2bjiill5IsrK+XNZX6tI31kXl0fWn0rhpW/IFNSQHleqqyuPtpOPbj5ZpJrXCsmk5vpwOqu/9ojvh05rOiTh3IPmaSPyRSLuFA9Q1BT11eGk4Lx47FZb9+v9lYzRqaxUNZ1qDj7S58W2t7WVdfaG9P5K8vgljmBTnd2lyB5R2e8ZjSn/X1VvuboEysWm6cTZDXnI7DVEFsLmXtb7pUNjU6Skrd7d1xnS3OOXPRBYEcRiDwRWBMvnjW9FmDte9RJXd+zYqVn5r4+f8eeVWeRK29mk1oy9KJYKJq8QggASwcdsMlLBZ8DLynG589ekio6OK0wixajc8YvriZrSb2Tuo0NwwNFVTMigt0mRbjW8jM8mNRYdyw5tG6lDmrGZx0Qip4rxRumZKklDxcc1i+46DnXtY5A6NyKRW6PezEWvSVQdjb8z39yOuesKVa/4QNUhEuMp1bV6G/YrgMBF46Azs6vM7LfN7Ctm9mUze52ZHTaz+8zsofb/1Yv0FQgE9geLivG/AuAPUkovwU4qqC8DeC+A+1NKtwG4vz0OBALPUSySxfUKAD8A4J8AQEppAmBiZncBuKNt9kEAHwfwnuG+gLXxjgCyIeQST5/JYvz5p550dU+e25yVGxJgrrnhea5defmVs3KtgRlMR83ZPEUEL0n8T2IVKEbMiTY/4+rOGEkkVM+mNLe4c57LtMQ7tNIFiYHKZ2YuUIjGXsvOLqd/0qyofC0O+BHPxkS787pzzIaMROQj06kSQxCxhdJ6V/SceDdeVIEpqXaqCjiryZjeARGlObOqoZ8cQ98J9j7kLMIdVYMDoPTaJP4XA16JzJunHChDXpa5773xIgDfAfBrZvYZM/uvbermG1JKxwGg/X/9An0FAoF9wiKLfQTg+wH8p5TSqwCcwzMQ2c3sbjM7amZHTy2QfC4QCFwaLLLYHwXwaErpE+3xb2Nn8Z8wsyMA0P4/Oe/klNI9KaXbU0q3X7WAqBEIBC4NFsnP/piZfcvMXpxSehA7Odm/1P69E8D72//37tlXA2ye3/l1/y//7X+5urUR8YevHXB1G2QmmjRZL3ri5BOu3QHS2TvkAcwF4XQhJULoT7GTmJ+cbE0d/ncyoRVCGsjWNdWzUk9EXIeNnMgua/GkGo3mP9IkHoXJ6Yke3CMTgVZyLXMkIEo4QnsOk3wHk4n3TmPyzKny79P1RqSkbm/7qLR6knX2WvvoIb2YSoqxKensGrFWEt98AX/tEd0n6+/q9Vhw6uhax8jPjKMR+98/SIqqSVuXBnzoFrWz/3MAHzazNQDfAPBP21F9xMzeBeARAG9fsK9AILAPWGixp5Q+C+D2OVVvvrjDCQQClwrLDYQxzKSUjdFlrur02bOz8pktb1rZ3jw/K1ck6m4J39gNt946K2sWV5f5lFPxqJdck/ssRt4EA8en3h8AUToyAg1YINOKshO4TLP94piPMRHmNuYdp5bqncf8+0pKscbmu4rP69/iSSK2bpMZbY1Ugen5TdduvEHekcrXx5x8ZLrSgBy+t0KCl8acEozPk3bTCYn1wqM/Xsv3PZK6op7PKT/StF80xnEn/VMum8tvIKm9SE1YE3fGcneugoMuEAjEYg8EVgSx2AOBFcFSdfaiAQ5t7+gaNz34oKs7QrqtCcd5zWmUyVRmopffWZM+qByKU9K7jF1K+/O0ofTmGUdA4HReDyPTiol+5txPlTcerLPnz1Xf5v0HJc5Yo+txpJ/epyPY6MwB6/1DcXrs++uf2TY1rYjDv4HfZxk12ZSl+xTcI5NXTKeeTLSu2I1U7mXK5J+8B+CauWi8UvTyDUphPRpL3j2X+rpv9H6PpJb9AneesVlVXIvJRDca+xt4yebOnteBRt2F+0YUCAS+axGLPRBYEVjH++tSXszsOwD+GsC1AB5f2oX7EePwiHF4PBfG8UzH8MKU0nXzKpa62GcXNTuaUprnpBPjiHHEOC7RGEKMDwRWBLHYA4EVwX4t9nv26bqKGIdHjMPjuTCOizaGfdHZA4HA8hFifCCwIljqYjezO83sQTP7mpktjY3WzH7VzE6a2Rfps6VTYZvZC8zsT1o67gfM7N37MRYzO2BmnzSzz7Xj+MX9GAeNp2z5DT+2X+Mws4fN7Atm9lkzO7qP47hktO1LW+y2Q2H6HwH8CICXAniHmb10SZf/dQB3ymf7QYVdAfj5lNL3AngtgJ9t52DZY9kG8KaU0isAvBLAnWb22n0Yxy7ejR168l3s1zjemFJ6JZm69mMcl462PaW0lD8ArwPwh3T8PgDvW+L1bwHwRTp+EMCRtnwEwIPLGguN4V4Ab9nPsQC4DMBfAXjNfowDwE3tC/wmAB/br2cD4GEA18pnSx0HgCsAfBPtXtrFHscyxfgbAXyLjh9tP9sv7CsVtpndAuBVAD6xH2NpRefPYoco9L60Qyi6H3PyywB+AZ5qbz/GkQD8kZl92szu3qdxXFLa9mUu9nkcGitpCjCzQwB+B8DPpZTO7NX+UiClVKeUXomdX9ZXm9nLlj0GM3sbgJMppU8v+9pz8PqU0vdjR838WTP7gX0YwwXRtu+FZS72RwG8gI5vAnBsiddXLESFfbFhZmPsLPQPp5R+dz/HAgAppVPYyeZz5z6M4/UAfszMHgbwmwDeZGYf2odxIKV0rP1/EsDvAXj1Pozjgmjb98IyF/unANxmZre2LLU/BeCjS7y+4qPYocAGFqTCvlDYTlD5BwB8OaX0S/s1FjO7zsyuassbAH4IwFeWPY6U0vtSSjellG7Bzvvwxymln172OMzsoJldvlsG8MMAvrjscaSUHgPwLTN7cfvRLm37xRnHpd74kI2GtwL4KoCvA/jXS7zubwA4DmCKnW/PdwG4BjsbQw+1/w8vYRxvwI7q8nkAn23/3rrssQB4OYDPtOP4IoB/036+9DmhMd2BvEG37Pl4EYDPtX8P7L6b+/SOvBLA0fbZ/E8AV1+scYQHXSCwIggPukBgRRCLPRBYEcRiDwRWBLHYA4EVQSz2QGBFEIs9EFgRxGIPBFYEsdgDgRXB/wdOCi95y9srQQAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.imshow(X[0])" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "cate = {}\n", + "for label in y:\n", + " label = label[0]\n", + " if not label in cate:\n", + " cate[label] = 1\n", + " else:\n", + " cate[label] += 1" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "29" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "len(cate)" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [], + "source": [ + "label_df = pd.DataFrame(cate.items(), columns=['label', 'count'])" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
labelcount
083000
1283000
2173000
343000
493000
\n", + "
" + ], + "text/plain": [ + " label count\n", + "0 8 3000\n", + "1 28 3000\n", + "2 17 3000\n", + "3 4 3000\n", + "4 9 3000" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "label_df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "count 29.0\n", + "mean 3000.0\n", + "std 0.0\n", + "min 3000.0\n", + "25% 3000.0\n", + "50% 3000.0\n", + "75% 3000.0\n", + "max 3000.0\n", + "Name: count, dtype: float64" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "label_df['count'].describe()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "y[:5]" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [], + "source": [ + "pickle_out = open(\"./pickle_files/cnn_X.pickle\", \"wb\")\n", + "pickle.dump(X, pickle_out)\n", + "pickle_out.close()\n", + "\n", + "pickle_out = open(\"./pickle_files/cnn_y.pickle\", \"wb\")\n", + "pickle.dump(y, pickle_out)\n", + "pickle_out.close()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "pickle_out = open(\"./pickle_files/CATEGORIES.pickle\",\"wb\")\n", + "pickle.dump(CATEGORIES, pickle_out)\n", + "pickle_out.close()" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# plt.figure(figsize=(8,8))\n", + "\n", + "plt.imshow(X[0])" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([8])" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y[0]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.9" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/Flask_Contents/backend/asl_data.ipynb b/Flask_Contents/backend/asl_data.ipynb new file mode 100644 index 0000000..ef9edd8 --- /dev/null +++ b/Flask_Contents/backend/asl_data.ipynb @@ -0,0 +1,755 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "# Import Libraries\n", + "import os\n", + "\n", + "import pandas as pd\n", + "import numpy as np\n", + "\n", + "from sklearn import metrics\n", + "from sklearn.model_selection import train_test_split\n", + "from sklearn.svm import SVC\n", + "from sklearn.ensemble import RandomForestClassifier\n", + "\n", + "import seaborn as sns\n", + "import matplotlib.pyplot as plt\n", + "%matplotlib inline\n", + "\n", + "import PIL\n", + "import cv2\n", + "import string\n", + "import pickle\n", + "import random" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "# Listing out our categories and the directory to these files\n", + "extra_categories = ['del', 'space', 'nothing']\n", + "CATEGORIES = list(string.ascii_uppercase) + extra_categories\n", + "\n", + "DATADIR = './data/'\n", + "training_path = DATADIR + 'asl_alphabet_train/'" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(200, 200, 3)\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# Shows one image and its dimensions\n", + "for sign in CATEGORIES:\n", + " path = training_path + sign + '/'\n", + " for file in os.listdir(path):\n", + " full_path = os.path.join(path, file) # Joins folder path with file name\n", + " img_arr = cv2.imread(full_path, cv2.IMREAD_COLOR)\n", + " plt.imshow(img_arr, cmap='gray')\n", + " print(img_arr.shape)\n", + " break\n", + " break" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " (200, 200, 3)\n" + ] + } + ], + "source": [ + "print(type(img_arr), img_arr.shape)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# Shows image after downsizing it from 200x200x3 to 64x64x3\n", + "IMG_SIZE = 64\n", + "resize_img = cv2.resize(img_arr, (IMG_SIZE, IMG_SIZE))\n", + "plt.imshow(resize_img)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(64, 64, 3)" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "resize_img.shape" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# training_data = []\n", + "\n", + "# def create_training_data():\n", + "# for sign in CATEGORIES:\n", + "# path = training_path + sign + '/'\n", + "# for file in os.listdir(path)[:200]:\n", + "# try:\n", + "# full_path = os.path.join(path, file) # Joins folder path with file name\n", + "# img_arr = cv2.imread(full_path, cv2.IMREAD_GRAYSCALE) # Read in img from file and convert to grayscale\n", + "# img_arr = cv2.resize(img_arr, (IMG_SIZE, IMG_SIZE)) # Resize img\n", + "# training_data.append([img_arr, sign]) # Add into our training set with its classification\n", + "# except Exception as e: # Incase there was an error in the image file\n", + "# print('Error in file:')\n", + "# print(full_path)\n", + "\n", + "# create_training_data()" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "# Def: create_data is a function that helps parse the dataset\n", + "# @params: path - path is the parent folder that contains all the images\n", + "# @params: categories - classifications\n", + "# @params: resize - the wanted image size\n", + "# @params: color - cv2's cv2.IMREAD color\n", + "# @returns: list - returns a list len 2 where index 0 is the 2d array, and index 1 is the label\n", + "def create_data(folder_path, categories, resize=64, color=cv2.IMREAD_GRAYSCALE):\n", + " data = []\n", + " \n", + " for sign in categories:\n", + " path = folder_path + sign + '/'\n", + " \n", + " if not os.path.exists(path):\n", + " continue\n", + " \n", + " classification = CATEGORIES.index(sign)\n", + " for file in os.listdir(path):\n", + " try:\n", + " full_path = os.path.join(path, file) # Joins folder path with file name\n", + " img_arr = cv2.imread(full_path, color) # Read in img from file and convert to grayscale\n", + " img_arr = cv2.resize(img_arr, (resize, resize)) # Resize img\n", + " data.append([img_arr, classification]) # Add into our training set with its classification\n", + " except Exception as e: # Incase there was an error in the image file\n", + " print('Error in file:')\n", + " print(full_path)\n", + " \n", + " if not len(data):\n", + " print('Error no data was found')\n", + " \n", + " return data\n", + "\n", + "# training_data = create_data(training_path, CATEGORIES, color=cv2.IMREAD_COLOR)\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print('training_data size:', len(training_data))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "type(training_data)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "training_data = np.asarray(training_data)\n", + "training_data.shape" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# print(training_data[0][0])\n", + "training_data[0][0].shape" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "training_data[0][1]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "training_data = list(training_data)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "# Shuffle Data\n", + "random.shuffle(training_data)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "for sample in training_data[:10]:\n", + " print(sample[1])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# creating SVM dataset in grayscale\n", + "X = []\n", + "y = []\n", + "\n", + "for features, label in training_data:\n", + " X.append(features.flatten())\n", + " y.append(label)\n", + "\n", + "X = np.asarray(X)\n", + "y = np.asarray(y)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(len(X[0]), X.shape)\n", + "print(X)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(y)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Saving SVM dataset in grayscale\n", + "pickle_out = open(\"svm_X.pickle\", \"wb\")\n", + "pickle.dump(X, pickle_out)\n", + "pickle_out.close()\n", + "\n", + "pickle_out = open(\"svm_y.pickle\", \"wb\")\n", + "pickle.dump(y, pickle_out)\n", + "pickle_out.close()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "pickle_in = open(\"svm_X.pickle\", \"rb\")\n", + "X = pickle.load(pickle_in)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "X[1]" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "# Creating dataset for cnn using rgb \n", + "data = create_data(training_path, CATEGORIES, color=cv2.IMREAD_COLOR)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "random.shuffle(data)\n", + "\n", + "X = []\n", + "y = []\n", + "\n", + "for features, label in data:\n", + " X.append(features)\n", + " y.append([label])\n", + "\n", + "X = np.asarray(X)\n", + "y = np.asarray(y)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(87000, 64, 64, 3)" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "X.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(87000, 1)" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [], + "source": [ + "# to normalize the data but it is huge\n", + "# X = X / 255\n" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.imshow(X[0])" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "cate = {}\n", + "for label in y:\n", + " label = label[0]\n", + " if not label in cate:\n", + " cate[label] = 1\n", + " else:\n", + " cate[label] += 1" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "29" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "len(cate)" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [], + "source": [ + "label_df = pd.DataFrame(cate.items(), columns=['label', 'count'])" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
labelcount
083000
1283000
2173000
343000
493000
\n", + "
" + ], + "text/plain": [ + " label count\n", + "0 8 3000\n", + "1 28 3000\n", + "2 17 3000\n", + "3 4 3000\n", + "4 9 3000" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "label_df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "count 29.0\n", + "mean 3000.0\n", + "std 0.0\n", + "min 3000.0\n", + "25% 3000.0\n", + "50% 3000.0\n", + "75% 3000.0\n", + "max 3000.0\n", + "Name: count, dtype: float64" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "label_df['count'].describe()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "y[:5]" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [], + "source": [ + "pickle_out = open(\"./pickle_files/cnn_X.pickle\", \"wb\")\n", + "pickle.dump(X, pickle_out)\n", + "pickle_out.close()\n", + "\n", + "pickle_out = open(\"./pickle_files/cnn_y.pickle\", \"wb\")\n", + "pickle.dump(y, pickle_out)\n", + "pickle_out.close()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "pickle_out = open(\"./pickle_files/CATEGORIES.pickle\",\"wb\")\n", + "pickle.dump(CATEGORIES, pickle_out)\n", + "pickle_out.close()" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# plt.figure(figsize=(8,8))\n", + "\n", + "plt.imshow(X[0])" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([8])" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y[0]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.9" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/Flask_Contents/backend/cnn_asl_translator_better_data.ipynb b/Flask_Contents/backend/cnn_asl_translator_better_data.ipynb new file mode 100644 index 0000000..743aaad --- /dev/null +++ b/Flask_Contents/backend/cnn_asl_translator_better_data.ipynb @@ -0,0 +1,1227 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "name": "cnn_asl-translator_better_data.ipynb", + "provenance": [], + "collapsed_sections": [] + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + }, + "accelerator": "GPU" + }, + "cells": [ + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "OrHLkUoGPCXs", + "outputId": "6cd0e1ed-74a3-418d-8053-df6e744ac18b" + }, + "source": [ + "# from google.colab import drive\n", + "# drive.mount('/content/drive')" + ], + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "text": [ + "Mounted at /content/drive\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "iIMVDH_gInlI" + }, + "source": [ + "import os\n", + "import numpy as np\n", + "\n", + "import tensorflow\n", + "import sklearn\n", + "from sklearn.model_selection import train_test_split\n", + "\n", + "import cv2\n", + "from cv2 import cv2\n", + "\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "\n", + "import pickle" + ], + "execution_count": 1, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "bhIQzEjUIJB6" + }, + "source": [ + "\n", + "X = pickle.load(open('/content/drive/MyDrive/Colab Notebooks/CTP-ASL/ASL Dataset/Pickle96/X-CNN-96-numlabels.pickle', 'rb'))\n", + "y = pickle.load(open('/content/drive/MyDrive/Colab Notebooks/CTP-ASL/ASL Dataset/Pickle96/y-CNN-96-numlabels.pickle', 'rb'))\n", + "# CATEGORIES = pickle.load(open('/content/drive/My Drive/Colab Notebooks/CTP-ASL/data/CATEGORIES.pickle', 'rb'))\n", + "CATEGORIES = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K',\n", + " 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V',\n", + " 'W', 'X', 'Y', 'Z', 'nothing', 'space', 'del']" + ], + "execution_count": 2, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "DI7lpKvs-6TX" + }, + "source": [ + "# X = X / 255.0" + ], + "execution_count": 3, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "5sryCFGUIU-x", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "a7f4e23f-13f9-4a79-c09d-f55449dfd705" + }, + "source": [ + "print(X.shape)\n", + "print(y.shape)" + ], + "execution_count": 4, + "outputs": [ + { + "output_type": "stream", + "text": [ + "(10581, 96, 96)\n", + "(10581,)\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "Ma9sSoYLIcXw", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "1b6d3c70-aa2f-4072-a37c-d5c5aa6c971e" + }, + "source": [ + "print(CATEGORIES)\n", + "print(type(CATEGORIES))" + ], + "execution_count": 5, + "outputs": [ + { + "output_type": "stream", + "text": [ + "['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'nothing', 'space', 'del']\n", + "\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "1lLnVwFN-q2g", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 298 + }, + "outputId": "d755ac34-2ccf-490f-8aeb-60dc114b54ed" + }, + "source": [ + "plt.title( CATEGORIES[y[0]] )\n", + "plt.imshow(X[0], cmap=\"gray\")\n", + "\n", + "\n", + "print(X[0].shape)" + ], + "execution_count": 6, + "outputs": [ + { + "output_type": "stream", + "text": [ + "(96, 96)\n" + ], + "name": "stdout" + }, + { + "output_type": "display_data", + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "tags": [], + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "9_6qeHNwSzfN", + "outputId": "a035d906-123e-48df-fab5-26f01b2c8770" + }, + "source": [ + "# Reshape the images to 64 x 64\n", + "newX = []\n", + "for img in X:\n", + " newX.append(cv2.resize(img, (64, 64)))\n", + "X = np.asarray(newX)\n", + "\n", + "print(type(X), X.shape)\n", + "X = X.reshape(-1, 64, 64, 1)\n", + "print(X.shape)" + ], + "execution_count": 7, + "outputs": [ + { + "output_type": "stream", + "text": [ + " (10581, 64, 64)\n", + "(10581, 64, 64, 1)\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "Cjoo0YhnNgVV" + }, + "source": [ + "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.1)" + ], + "execution_count": 8, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "3Chj6AZMa2sM" + }, + "source": [ + "# del X\n", + "# del y" + ], + "execution_count": 9, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "U458Qu3yQNIJ", + "outputId": "674bad71-f6f9-48ab-b763-b81895584609" + }, + "source": [ + "print(\"X_train[0]: \")\n", + "print(X_train[0].shape)" + ], + "execution_count": 10, + "outputs": [ + { + "output_type": "stream", + "text": [ + "X_train[0]: \n", + "(64, 64, 1)\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "VWgHPK2haBQa" + }, + "source": [ + "X_train = X_train / 255.0\n", + "X_test = X_test / 255.0" + ], + "execution_count": 11, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "YxffzTJFOkYl", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "26c4322b-f257-47df-8366-07420d530461" + }, + "source": [ + "print(X_train.shape, y_train.shape)\n", + "print(X_test.shape,'' ,y_test.shape)\n", + "print('*'*30)\n", + "print(X_train.shape[0] + X_test.shape[0])" + ], + "execution_count": 12, + "outputs": [ + { + "output_type": "stream", + "text": [ + "(9522, 64, 64, 1) (9522,)\n", + "(1059, 64, 64, 1) (1059,)\n", + "******************************\n", + "10581\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "pIkwGY3_bFTt" + }, + "source": [ + "# X = X_train / 255.0\n", + "# del X_train" + ], + "execution_count": 13, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "MXTLBF1FQP4k", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "d383524f-b98c-4620-d4e4-028bc9cdcec1" + }, + "source": [ + "IMG_DIMS = X.shape[1:]\n", + "print(IMG_DIMS)" + ], + "execution_count": 14, + "outputs": [ + { + "output_type": "stream", + "text": [ + "(64, 64, 1)\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "nvpTBmeMPKmZ" + }, + "source": [ + "def create_model():\n", + " model = tensorflow.keras.models.Sequential()\n", + "\n", + " model.add(tensorflow.keras.layers.Conv2D(filters=64, kernel_size=3, activation='relu', input_shape=IMG_DIMS))\n", + " model.add(tensorflow.keras.layers.Conv2D(filters=64, kernel_size=3, activation='relu'))\n", + " model.add(tensorflow.keras.layers.MaxPool2D())\n", + "\n", + " model.add(tensorflow.keras.layers.Conv2D(filters=64, kernel_size=3, activation='relu'))\n", + " model.add(tensorflow.keras.layers.Conv2D(filters=64, kernel_size=3, activation='relu'))\n", + " model.add(tensorflow.keras.layers.MaxPool2D())\n", + "\n", + " model.add(tensorflow.keras.layers.Conv2D(filters=64, kernel_size=3, activation='relu'))\n", + " model.add(tensorflow.keras.layers.Conv2D(filters=64, kernel_size=3, activation='relu'))\n", + " model.add(tensorflow.keras.layers.MaxPool2D())\n", + "\n", + " model.add(tensorflow.keras.layers.Flatten())\n", + "\n", + " model.add(tensorflow.keras.layers.Dense(512, activation='relu'))\n", + " model.add(tensorflow.keras.layers.Dropout(0.3))\n", + " model.add(tensorflow.keras.layers.Dense(512, activation='relu'))\n", + " model.add(tensorflow.keras.layers.Dropout(0.3))\n", + " model.add(tensorflow.keras.layers.Dense(256, activation='relu'))\n", + " model.add(tensorflow.keras.layers.Dense(128, activation='relu'))\n", + " model.add(tensorflow.keras.layers.Dense(29, activation='softmax'))\n", + "\n", + " model.summary()\n", + "\n", + " return model" + ], + "execution_count": 15, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "rDwa9o3gQvbv", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "03b1650f-cc93-451d-b1a9-8842b5dc6785" + }, + "source": [ + "model = create_model()\n", + "model.compile(optimizer=tensorflow.keras.optimizers.Adam(), loss='sparse_categorical_crossentropy', metrics=['acc'])" + ], + "execution_count": 16, + "outputs": [ + { + "output_type": "stream", + "text": [ + "Model: \"sequential\"\n", + "_________________________________________________________________\n", + "Layer (type) Output Shape Param # \n", + "=================================================================\n", + "conv2d (Conv2D) (None, 62, 62, 64) 640 \n", + "_________________________________________________________________\n", + "conv2d_1 (Conv2D) (None, 60, 60, 64) 36928 \n", + "_________________________________________________________________\n", + "max_pooling2d (MaxPooling2D) (None, 30, 30, 64) 0 \n", + "_________________________________________________________________\n", + "conv2d_2 (Conv2D) (None, 28, 28, 64) 36928 \n", + "_________________________________________________________________\n", + "conv2d_3 (Conv2D) (None, 26, 26, 64) 36928 \n", + "_________________________________________________________________\n", + "max_pooling2d_1 (MaxPooling2 (None, 13, 13, 64) 0 \n", + "_________________________________________________________________\n", + "conv2d_4 (Conv2D) (None, 11, 11, 64) 36928 \n", + "_________________________________________________________________\n", + "conv2d_5 (Conv2D) (None, 9, 9, 64) 36928 \n", + "_________________________________________________________________\n", + "max_pooling2d_2 (MaxPooling2 (None, 4, 4, 64) 0 \n", + "_________________________________________________________________\n", + "flatten (Flatten) (None, 1024) 0 \n", + "_________________________________________________________________\n", + "dense (Dense) (None, 512) 524800 \n", + "_________________________________________________________________\n", + "dropout (Dropout) (None, 512) 0 \n", + "_________________________________________________________________\n", + "dense_1 (Dense) (None, 512) 262656 \n", + "_________________________________________________________________\n", + "dropout_1 (Dropout) (None, 512) 0 \n", + "_________________________________________________________________\n", + "dense_2 (Dense) (None, 256) 131328 \n", + "_________________________________________________________________\n", + "dense_3 (Dense) (None, 128) 32896 \n", + "_________________________________________________________________\n", + "dense_4 (Dense) (None, 29) 3741 \n", + "=================================================================\n", + "Total params: 1,140,701\n", + "Trainable params: 1,140,701\n", + "Non-trainable params: 0\n", + "_________________________________________________________________\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "aOmIfUMVQ9vy", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "587466de-5d7d-462e-9fc8-62ed3db8500c" + }, + "source": [ + "epochs = 25\n", + "model.fit(X_train, y_train, epochs=epochs, validation_split=0.1)\n", + "# model.fit(X, y_train, epochs=epochs, validation_split=0.1)\n" + ], + "execution_count": 17, + "outputs": [ + { + "output_type": "stream", + "text": [ + "Epoch 1/25\n", + "268/268 [==============================] - 4s 16ms/step - loss: 3.3278 - acc: 0.0426 - val_loss: 3.1819 - val_acc: 0.0546\n", + "Epoch 2/25\n", + "268/268 [==============================] - 4s 15ms/step - loss: 2.9415 - acc: 0.1200 - val_loss: 2.6496 - val_acc: 0.1920\n", + "Epoch 3/25\n", + "268/268 [==============================] - 4s 15ms/step - loss: 2.5176 - acc: 0.2350 - val_loss: 2.2324 - val_acc: 0.3169\n", + "Epoch 4/25\n", + "268/268 [==============================] - 4s 15ms/step - loss: 2.0034 - acc: 0.3879 - val_loss: 1.7108 - val_acc: 0.4627\n", + "Epoch 5/25\n", + "268/268 [==============================] - 4s 15ms/step - loss: 1.4902 - acc: 0.5297 - val_loss: 1.3983 - val_acc: 0.5656\n", + "Epoch 6/25\n", + "268/268 [==============================] - 4s 15ms/step - loss: 1.1584 - acc: 0.6320 - val_loss: 1.1820 - val_acc: 0.6443\n", + "Epoch 7/25\n", + "268/268 [==============================] - 4s 15ms/step - loss: 0.9437 - acc: 0.7009 - val_loss: 0.9706 - val_acc: 0.7125\n", + "Epoch 8/25\n", + "268/268 [==============================] - 4s 15ms/step - loss: 0.7642 - acc: 0.7504 - val_loss: 0.9777 - val_acc: 0.7146\n", + "Epoch 9/25\n", + "268/268 [==============================] - 4s 15ms/step - loss: 0.6458 - acc: 0.7912 - val_loss: 0.9415 - val_acc: 0.7335\n", + "Epoch 10/25\n", + "268/268 [==============================] - 4s 15ms/step - loss: 0.5768 - acc: 0.8116 - val_loss: 0.8674 - val_acc: 0.7576\n", + "Epoch 11/25\n", + "268/268 [==============================] - 4s 15ms/step - loss: 0.4937 - acc: 0.8405 - val_loss: 0.9385 - val_acc: 0.7671\n", + "Epoch 12/25\n", + "268/268 [==============================] - 4s 15ms/step - loss: 0.4089 - acc: 0.8705 - val_loss: 0.8751 - val_acc: 0.7838\n", + "Epoch 13/25\n", + "268/268 [==============================] - 4s 15ms/step - loss: 0.3892 - acc: 0.8749 - val_loss: 0.8398 - val_acc: 0.8132\n", + "Epoch 14/25\n", + "268/268 [==============================] - 4s 15ms/step - loss: 0.3549 - acc: 0.8891 - val_loss: 0.8077 - val_acc: 0.7996\n", + "Epoch 15/25\n", + "268/268 [==============================] - 4s 15ms/step - loss: 0.3153 - acc: 0.8956 - val_loss: 0.7952 - val_acc: 0.8248\n", + "Epoch 16/25\n", + "268/268 [==============================] - 4s 15ms/step - loss: 0.2909 - acc: 0.9120 - val_loss: 0.7067 - val_acc: 0.8342\n", + "Epoch 17/25\n", + "268/268 [==============================] - 4s 15ms/step - loss: 0.2597 - acc: 0.9177 - val_loss: 0.7916 - val_acc: 0.8311\n", + "Epoch 18/25\n", + "268/268 [==============================] - 4s 15ms/step - loss: 0.2390 - acc: 0.9259 - val_loss: 0.7579 - val_acc: 0.8227\n", + "Epoch 19/25\n", + "268/268 [==============================] - 4s 15ms/step - loss: 0.2375 - acc: 0.9276 - val_loss: 0.7617 - val_acc: 0.8237\n", + "Epoch 20/25\n", + "268/268 [==============================] - 4s 15ms/step - loss: 0.2114 - acc: 0.9344 - val_loss: 0.7338 - val_acc: 0.8458\n", + "Epoch 21/25\n", + "268/268 [==============================] - 4s 15ms/step - loss: 0.1858 - acc: 0.9419 - val_loss: 0.7741 - val_acc: 0.8510\n", + "Epoch 22/25\n", + "268/268 [==============================] - 4s 15ms/step - loss: 0.2168 - acc: 0.9360 - val_loss: 0.8605 - val_acc: 0.8258\n", + "Epoch 23/25\n", + "268/268 [==============================] - 4s 15ms/step - loss: 0.1669 - acc: 0.9476 - val_loss: 0.8254 - val_acc: 0.8405\n", + "Epoch 24/25\n", + "268/268 [==============================] - 4s 15ms/step - loss: 0.1910 - acc: 0.9417 - val_loss: 0.7422 - val_acc: 0.8300\n", + "Epoch 25/25\n", + "268/268 [==============================] - 4s 15ms/step - loss: 0.1696 - acc: 0.9501 - val_loss: 0.8088 - val_acc: 0.8458\n" + ], + "name": "stdout" + }, + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 17 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "ZhD0ThoWRFs6", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "35e2cac4-e2c3-4fa7-eb45-48b24daf8d2c" + }, + "source": [ + "model.evaluate(X_test, y_test)" + ], + "execution_count": 18, + "outputs": [ + { + "output_type": "stream", + "text": [ + "34/34 [==============================] - 0s 7ms/step - loss: 0.6564 - acc: 0.8546\n" + ], + "name": "stdout" + }, + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "[0.6564083099365234, 0.8545798063278198]" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 18 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "GPJZnPo0S_6Q", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 35 + }, + "outputId": "9fb260fe-59e5-4f62-bb4a-8cdc2fe6e605" + }, + "source": [ + "os.curdir" + ], + "execution_count": 19, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "string" + }, + "text/plain": [ + "'.'" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 19 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "EH72EadqFoBH" + }, + "source": [ + "# MODEL_DIR = './model/1'\n", + "PATH_TO_MODEL = '/content/drive/My Drive/Colab Notebooks/CTP-ASL/model/cnn_other'" + ], + "execution_count": 20, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "9iuiS0qkIFHz", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "a5fee05d-3aed-4ba8-f21e-2ab6fac2d709" + }, + "source": [ + "# method 2\n", + "model.save(PATH_TO_MODEL)" + ], + "execution_count": 21, + "outputs": [ + { + "output_type": "stream", + "text": [ + "WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/tensorflow/python/training/tracking/tracking.py:111: Model.state_updates (from tensorflow.python.keras.engine.training) is deprecated and will be removed in a future version.\n", + "Instructions for updating:\n", + "This property should not be used in TensorFlow 2.0, as updates are applied automatically.\n", + "WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/tensorflow/python/training/tracking/tracking.py:111: Layer.updates (from tensorflow.python.keras.engine.base_layer) is deprecated and will be removed in a future version.\n", + "Instructions for updating:\n", + "This property should not be used in TensorFlow 2.0, as updates are applied automatically.\n", + "INFO:tensorflow:Assets written to: /content/drive/My Drive/Colab Notebooks/CTP-ASL/model/cnn_other/assets\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "KliVm3IOIj5b" + }, + "source": [ + "# 2\n", + "loaded_model = tensorflow.keras.models.load_model(PATH_TO_MODEL)" + ], + "execution_count": 22, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "bgeL6iL9FEKw", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "ab1805d4-2b7b-4594-a5d2-c8502e236e0a" + }, + "source": [ + "# print('Original model type:', type(model))\n", + "print('method 2', type(loaded_model))" + ], + "execution_count": 23, + "outputs": [ + { + "output_type": "stream", + "text": [ + "method 2 \n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "TnQa_kXjIuYm", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "452908ad-11da-4787-b592-8046a60a4e03" + }, + "source": [ + "# y_pred = loaded_model.predict_classes(X_test)\n", + "# Please use instead:* `np.argmax(model.predict(x), axis=-1)`, if your model does multi-class classification (e.g. if it uses a `softmax` last-layer activation).* `(model.predict(x) > 0.5).astype(\"int32\")`, if your model does binary classification (e.g. if it uses a `sigmoid` last-layer activation).\n", + "# y_pred = np.argmax(model.predict(X_test), axis=-1)\n", + "\n", + "y_pred = np.argmax(loaded_model.predict(X_test), axis=-1)\n", + "y_proba = loaded_model.predict_proba(X_test)\n", + "y_proba[4].round(3)" + ], + "execution_count": 24, + "outputs": [ + { + "output_type": "stream", + "text": [ + "WARNING:tensorflow:From :6: Sequential.predict_proba (from tensorflow.python.keras.engine.sequential) is deprecated and will be removed after 2021-01-01.\n", + "Instructions for updating:\n", + "Please use `model.predict()` instead.\n" + ], + "name": "stdout" + }, + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n", + " 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0.], dtype=float32)" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 24 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "-gtqyAV1VWCI", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "81f3752b-83a4-46b1-af65-8106c06865b0" + }, + "source": [ + "one_test = np.asarray([X_test[0]])\n", + "one_test.shape" + ], + "execution_count": 25, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "(1, 64, 64, 1)" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 25 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "ZbU3pbCDUumL" + }, + "source": [ + "one_pred = loaded_model.predict(one_test)" + ], + "execution_count": 26, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "V7zdPwl9X-r8", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "36f6acb5-69e4-46d9-ae1f-6d8b36afa905" + }, + "source": [ + "y_test[0]" + ], + "execution_count": 27, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "28" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 27 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "7pkF366ZVj3N", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "beca82cb-ee2a-4f43-c092-5da83aabb24b" + }, + "source": [ + "np.argmax(one_pred, axis=-1)" + ], + "execution_count": 28, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([28])" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 28 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "mpp0epE6Ta_B", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "fae9036a-8c7e-4349-b15c-8e4310a811fa" + }, + "source": [ + "print(type(y_pred), type(y_test))" + ], + "execution_count": 29, + "outputs": [ + { + "output_type": "stream", + "text": [ + " \n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "lnbw_AjwOVay", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "03c55def-2547-4d0d-f14c-619dae20f5d1" + }, + "source": [ + "y_pred" + ], + "execution_count": 30, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([28, 7, 13, ..., 11, 2, 7])" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 30 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "Gu8XIk7eOdBJ", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "3cd04a57-68d2-4e6b-e9fa-5f592343c0e5" + }, + "source": [ + "y_test" + ], + "execution_count": 31, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([28, 7, 13, ..., 11, 2, 7], dtype=int32)" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 31 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "byL0yFTVUcJu", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "b2828e72-aa87-4e4e-f6ca-25d59fcb0a59" + }, + "source": [ + "print(sklearn.metrics.classification_report(y_test, y_pred))" + ], + "execution_count": 32, + "outputs": [ + { + "output_type": "stream", + "text": [ + " precision recall f1-score support\n", + "\n", + " 0 0.84 0.82 0.83 50\n", + " 1 0.96 0.84 0.90 32\n", + " 2 0.91 0.91 0.91 43\n", + " 3 0.95 0.82 0.88 50\n", + " 4 0.86 0.79 0.83 39\n", + " 5 0.88 0.93 0.90 41\n", + " 6 0.88 0.83 0.85 46\n", + " 7 0.78 0.95 0.85 37\n", + " 8 0.86 0.95 0.90 38\n", + " 9 0.89 0.94 0.92 35\n", + " 10 0.93 0.93 0.93 42\n", + " 11 0.85 0.93 0.89 43\n", + " 12 0.88 0.82 0.85 34\n", + " 13 0.90 0.93 0.91 28\n", + " 14 1.00 0.67 0.80 36\n", + " 15 1.00 0.92 0.96 26\n", + " 16 1.00 0.90 0.95 29\n", + " 17 0.78 0.74 0.76 38\n", + " 18 0.61 0.74 0.67 31\n", + " 19 0.93 0.90 0.92 30\n", + " 20 0.86 0.68 0.76 47\n", + " 21 0.91 0.91 0.91 44\n", + " 22 0.93 0.86 0.89 44\n", + " 23 0.70 0.87 0.78 38\n", + " 24 0.75 0.82 0.79 40\n", + " 25 0.77 0.86 0.81 42\n", + " 26 0.88 0.88 0.88 17\n", + " 27 0.86 0.86 0.86 21\n", + " 28 0.64 0.89 0.74 18\n", + "\n", + " accuracy 0.85 1059\n", + " macro avg 0.86 0.86 0.86 1059\n", + "weighted avg 0.86 0.85 0.86 1059\n", + "\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "b-pTS6-sV4Sa", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "6f9fb43b-9d6b-4d86-c322-46c936f498af" + }, + "source": [ + "print(\n", + " '*' * 200\n", + ")" + ], + "execution_count": 33, + "outputs": [ + { + "output_type": "stream", + "text": [ + "********************************************************************************************************************************************************************************************************\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "DHqEqPKPVfHN", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 880 + }, + "outputId": "2544836f-d564-4941-9923-2468ab4ca4b3" + }, + "source": [ + "cm = sklearn.metrics.confusion_matrix(y_test, y_pred)\n", + "\n", + "plt.figure(figsize=(15, 15))\n", + "sns.heatmap(cm, annot=True, fmt='.0f')" + ], + "execution_count": 34, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 34 + }, + { + "output_type": "display_data", + "data": { + "image/png": "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50Ttwraj7qutttrxazfV6fBD9lw+YtRA/rWqJu9mqT5uSrxkep2RnwLTzewW4Ckzuwt4DDgTWBRqEA0NDVx51Q1Mf3IS7RIJJj74KMuXr27T7aj7ahe2PXHi3Zw2dAjduh3K6jUvcNNNd/LQg5ODtEt1TtQubDvqvtpqqx2f9sifXEHlkKPp2PVAPj/vbube/jsqP3403T/SF9x5s2Ybs677VSzHvluUj5sSLxlP7Wtmw4AvAx8muXjZAPweeMDdM553NJtT+4qUqmxPUZirbE7tKyIibU+6U/vmK9tT++Yi6sfNUjm1b99ux8X65+OX/7WkYPOYzSuwbwHuA+a6+57zxJnZKOCpqAYmIiIiIiKtW6azaX0VmAqMB5aa2egmH54Q5cBERERERKR1y7Rn5DLgJHffYWZVwBQzq3L3u4CS2A0mIiIiIiLxlGkxkth9aJa7r089f2SKmfVFixERERERkf2W6TnbbUmmU/tuNbMBu6+kFibnAd2BY6McmIiIiIiItG6ZFiNjST6BfQ93r3f3scDQyEYlIiIiIiKtXtrDtNy9xVfEcfc54YcjIiIiItK6NaLDtHbLtGdEREREREQkElqMiIiIiIhIUWTzooci0gK9QnrzonyFXc25SNuj7yn7uu5fz0fWfrxrdE8L/uT22ZG1S4nOpvUe7RkREREREZGi0GJERERERESKQodpiYiIiIgUUKMO09pDe0ZERERERKQotBgREREREZGi0GFaIiIiIiIF5HrRwz20Z0RERERERIpCixERERERESkKLUZERERERKQoYrMYGTliGMuWzmbl8ue59por1C5AX221i92+92e3sn59NfPnzwjahdKdE31PUVvt3Ol7yr5Cz8nxd36JEUt/xul/uXXP+w76SF9OffK7DH36+5w242YOOeGIILcV9ffDYnL3WL8VkkV9g2XtKzPeQCKRYMWy5xh17sXU1GzmxRemc8mll7NixZq8b79U21H31VY7ynaHsvKs+qecMpja2lruv/8OBg0amdXn7Kqvi2zc2SjVdtR9tdWOsq3vKfuKck5+e9DHW/xY1yFH0VC7kwE/vpxnh10LwJDffp2X7pvOq39ezOHDB3DEFefzwoXfa/bzP7l9dlZjyHVe6t/daFndQJH1OPioWD+DfesbKws2j7HYMzJ40AmsXbuedeteoa6ujsmTp3LB+dltMK21HXVfbbWL3QaYM2ce27e/Eay3W6nOib6nqK12fvQ9ZV+h52T7iyt59/Ud73ufu1PW5QAAyrp0YueW1/K+najnReIjFouRisqebKjZtOd6zcbNVFT0bNPtqPtqq13sdpRKdU70PUVtteNJc5Lesm89xDHf/CxnLfgJx9z4WVZO+G3ezdYwL+k04rF+K6S0ixEzW2hmN5hZmIP/RERERKRV6fu5s1l248M8fdJXWHbjwxx/x7hiD0lKSKY9I4cChwCzzGyemV1tZhWZomY2zsyqzay6sbE24yA2bdxCn97vZXtX9mLTpi0ZPy8bpdqOuq+22sVuR6lU50TfU9RWO540J+n1GTOUzU/OA2DzH14M8gT21jAvkp1Mi5HX3P1r7v4B4H+BDwELzWyWmbW47HX3+9x9oLsPTCQ6ZxzE/OpF9O/fj6qqPpSXlzNmzGimPTFzv/4jra0ddV9ttYvdjlKpzom+p6itdjxpTtLbueU1up18NADdT/0ItS/lv2hoDfOSTrHPlhWns2mVZfsP3f054DkzGw+cDXwauC/EIBoaGrjyqhuY/uQk2iUSTHzwUZYvXx0iXbLtqPtqq13sNsDEiXdz2tAhdOt2KKvXvMBNN93JQw9OzrtbqnOi7ylqq50ffU/ZV+g5OfHe8XQ7+Wjad+3CWQt/wqofTmHJ1+7nI98bi5W1o3FXHUuu+UXe4456XiQ+0p7a18x+6+4X5XMD2ZzaV0Ral2xPOZmLbE7DKSKti76n7CvKOUl3at98ZXtq31yVyql9ux/04Vj/fLztzdUFm8e0e0bc/SIzOwqoBOa6+55zuZnZKHd/KuoBioiIiIi0Jo0FPhQqzjKdTWs8MBUYDyw1s9FNPjwhyoGJiIiIiEjrluk5I+OAk9x9h5lVAVPMrMrd7wJKYjeYiIiIiIjEU6bFSGL3oVnuvt7MhpFckPRFixERERERkf1W6DNWxVmmU/tuNbMBu6+kFibnAd2BY6McmIiIiIiItG6ZFiNjgfedLNrd6919LDA0slGJiIiIiEirl+lsWjVpPjYn/HBERERERFq3RnSY1m6Z9oyIiIiIiIhEQosREREREREpikxn0xIpeXrl3uZpXkSkVOh7yr6inJMoXyX954efEVlbSpMWIyIiIiIiBaRT+75Hh2mJiIiIiEhRaDEiIiIiIiJFocO0REREREQKqFGHae2hPSMiIiIiIlIUWoyIiIiIiEhR6DAtEREREZECcr0C+x7aMyIiIiIiIkWhxYiIiIiIiBSFDtMSERERESkgnU3rPbHZMzJyxDCWLZ3NyuXPc+01V6hdgL7a73fvz25l/fpq5s+fEazZVCnOCUQ7L6U6J6Xajrqvttpqx68ddT9k+7TbLuMzi+7hwqe//773H/P5s/n3v9zKhc/cwqDrL8rrNiR+LOqXoy9rX5nxBhKJBCuWPceocy+mpmYzL74wnUsuvZwVK9bkfful2o6635baHcrKs2qfcspgamtruf/+Oxg0aGRWn7Orvi6ycWcr13ax5yWOc9Ka21H31VZb7fi1o+7n0v754We0+LGeHzuSutpdnP6jL/HYWV8HoNfJR3P8+NHM/NxtNL5bT8duB7HzX2+22PhizSOW+/+ocA44oG+sd428887LBZvHWOwZGTzoBNauXc+6da9QV1fH5MlTueD87H7oaa3tqPtq72vOnHls3/5GkNbeSnVOILp5KdU5KdV21H211VY7fu2o+6HbW+auYtfrO973vqMuPYsl90yj8d16gLQLkVLi7rF+K6S0ixEzG2hms8zsETPrY2Z/MrM3zGy+mZ0QahAVlT3ZULNpz/WajZupqOjZpttR99UuLM3Jvkp1Tkq1HXVfbbXVjl876n4hHn8O/mBPenzsSM6f9m3OnXI93Y//YNC+FF+mPSM/BW4FngT+Cvzc3Q8Grkt9rFlmNs7Mqs2surGxNthgRURERKTtSLRL0OGQA5l2/reZd9NvOPPerxR7SBJYpsVIubv/0d1/A7i7TyF54RmgY0uf5O73uftAdx+YSHTOOIhNG7fQp3fFnuu9K3uxadOWrP4DrbUddV/twtKcxaXTNwAAC7xJREFU7KtU56RU21H31VZb7fi1o+4X4vGndstrvPzH+QBsW/QS3uh07Nol6G1IcWVajOw0sxFm9inAzewTAGZ2OtAQahDzqxfRv38/qqr6UF5ezpgxo5n2xMw23Y66r3ZhaU72VapzUqrtqPtqq612/NpR9wvx+PPyU9X0OvkYAA7q15NE+zJ2bn8r6G0Ug8f8TyFlep2R/yZ5mFYjMBL4splNBDYCl4UaRENDA1dedQPTn5xEu0SCiQ8+yvLlq9t0O+q+2vuaOPFuThs6hG7dDmX1mhe46aY7eejByUHapTonEN28lOqclGo76r7aaqsdv3bU/dDtYT+5gl4fP5qOXQ/kovl3s/D237H60Wc57fZxXPj092moa2D2VT8PMnaJj4yn9jWzo4EKYK6772jy/lHu/lSmG8jm1L4iUcr2FLa5yPbUvnGkeRERkUJLd2rfEErl1L4dOvaJ9c/Hu3ZuiMepfc3sq8DjwHhgqZmNbvLhCVEOTERERESkNSr2qXvjdGrfTIdpXQYMdPcdZlYFTDGzKne/CyiJlaeIiIiIiMRTpsVIYvehWe6+3syGkVyQ9EWLERERERERyUOms2ltNbMBu6+kFibnAd2BY6McmIiIiIhIa1Tsw7DidJhWpsXIWOB9J4x293p3HwsMjWxUIiIiIiLS6qU9TMvda9J8bE744YiIiIiISFuRac+IiIiIiIgE5DF/y4aZjTKzVWb2DzO7LreZ0GJERERERET2g5m1A+4BzgGOAS42s2NyaWkxIiIiIiIi+2Mw8A93f8nd3wV+C4zO8DnNK/az9Zt59v44tdVWO359tdVWO37tUh672moXu6239PMOVDd5G7fXx/8D+EWT65cCP8nltuK4Z2Sc2mqrHcu+2mqrHb921H211W7NbWmBu9/n7gObvN0X1W3FcTEiIiIiIiLxtRHo0+R679T79psWIyIiIiIisj/mAx8ys35m1h64CPhDLqG0rzNSJJHtBlJb7Vbejrqvttpqx68ddV9ttVtzW3Lk7vVm9hVgBtAO+JW7L8ulZaknnYiIiIiIiBSUDtMSEREREZGi0GJERERERESKIjaLkVAvKd9C+1dm9qqZLQ3c7WNms8xsuZktM7MrA/c7mtk8M1uc6n8ncL+dmf3NzJ4I2U2115vZ381skZlVB24fYmZTzGylma0ws48H6h6ZGu/utzfN7KoQ7VT/6tT9uNTMfmNmHQO2r0x1l+U75ua2FzPramZ/MrM1qb8PDdj+VGrcjWY2MIKx/zD1tbLEzB43s0MCtr+X6i4ys5lmVhGq3eRj/2tmbmbdA47722a2scnX+rkhx21m41NzvszMbg047kebjHm9mS0K2B5gZi/u/p5lZoMDto83sxdS3xOnmdlBObabfcwJsX2maee9faZp571tpmnnvW221G7y8Zy3zTTjznvbTDfuQNtmS2PPe/tM0w6yfUpMFftFVVLPWWkHrAU+CLQHFgPHBOwPBU4ElgYedy/gxNTlLsDqwOM24MDU5XJgLjAkYP9/gEnAExHcp+uB7hF9vTwI/FfqcnvgkAhuox2wBegbqFcJrAMOSF2fDPxnoPZHgaVAJ5InpXga6J9Hb5/tBbgVuC51+TrgBwHbRwNHAn8BBuY5F831RwBlqcs/CDz2g5pc/irws1Dt1Pv7kHxy4Mu5bk8tjPvbwNcCfO011z4j9TXYIXX98JBz0uTjtwPfCjjumcA5qcvnAn8J2J4PnJ66/AXgezm2m33MCbF9pmnnvX2maee9baZp571tttROXc9r20wz7ry3zTTtUNtmxp99ct0+04w9yPapt3i+xWXPSLiXlG+Gu88GtofqNeludveFqctvAStI/tAZqu/uviN1tTz1FuSMA2bWG/g34BcheoViZgeTfLD/JYC7v+vur0dwU8OBte7+csBmGXCAmZWRXDhsCtQ9Gpjr7m+7ez3wLHBhrrEWtpfRJBeBpP7+RKi2u69w91W59LLsz0zNC8CLJM+FHqr9ZpOrnclx+0zzPepO4NpcuxnaeWuh/WXgFnfflfo3rwZsA2BmBowBfhOw7cDuPRYHk+P22UL7w8Ds1OU/Af+eY7ulx5y8t8+W2iG2zzTtvLfNNO28t80Mj/F5bZtR/vyQph1q20w79ny2zzTtINunxFNcFiOVwIYm12sI+EN9IZhZFXACyb0XIbvtUrs6XwX+5O6h+j8i+Y20MVBvbw7MNLMFZhby1VP7Af8EHrDkIWa/MLPOAfu7XUSOP+g0x903ArcBrwCbgTfcfWag/FLgNDPrZmadSP7WqE+Gz9lfPdx9c+ryFqBH4H6hfAH4Y8igmd1sZhuAzwLfCtgdDWx098Whmnv5Suowll/lclhPGh8m+fU418yeNbNBAdu7nQZsdfc1AZtXAT9M3Ze3AV8P2F7Ge79g+xQBts+9HnOCbp9RPZ5laOe9be7dDrltNm2H3jabmZNg2+Ze7eDbZgv3Z5Dtc692lNunFFlcFiMlzcwOBH4HXLXXb2Py5u4N7j6A5G+MBpvZR/Ntmtl5wKvuviDvAbbsVHc/ETgHuMLMhgbqlpE8BOJedz8BqCV5WEIwlnzxnguA/wvYPJTkDyP9gAqgs5ldEqLt7itIHuIwE3gKWAQ0hGi3cHtOoD10hWRm1wP1wK9Ddt39enfvk+p+JUQztaj8BgEXN3u5FzgCGEBycXx7wHYZ0BUYAlwDTE79pjSkiwn4y4KULwNXp+7Lq0ntfQ3kC8DlZraA5KEn7+YTS/eYk+/2GeXjWUvtENtmc+1Q22bTdmqcwbbNZsYdbNtsph1020zztZL39tlMO8rtU4osLouRYC8pX2hmVk5yg/m1uz8W1e2kDkWaBYwKkDsFuMDM1pM8JO5MM3skQHeP1J6A3buBHyd5KF4INUBNkz1EU0guTkI6B1jo7lsDNs8C1rn7P929DngMODlU3N1/6e4nuftQ4DWSx9mGtNXMegGk/s5p936xmNl/AucBn039sBaFX5Pj4TfNOILkwnVxajvtDSw0s54h4u6+NfWLjkbgfsJtn5DcRh9LHWY6j+Te15yefN+c1GGOFwKPhmqmfI7kdgnJX0QEmxN3X+nuI9z9JJI/pK3NtdXCY06Q7TPKx7OW2iG2zSzGnfO22Uw72LbZ3LhDbZstzEmwbTPN/Zn39tlCO7LtU4ovLouRYC8pX0ip3yj8Eljh7ndE0D/MUmcXMbMDgLOBlfl23f3r7t7b3atIzvWf3T3Ib+kBzKyzmXXZfZnkkxSDnMnM3bcAG8zsyNS7hgPLQ7SbiOK3rq8AQ8ysU+rrZjjJY2GDMLPDU39/gOQDwaRQ7ZQ/kHwwIPX31MD9yJjZKJKHJF7g7m8Hbn+oydXRBNg+Adz97+5+uLtXpbbTGpJP6twSor/7B9eUTxJo+0z5PcknymJmHyZ5koltAftnASvdvSZgE5LHoJ+eunwmEOwQsCbbZwK4AfhZjp2WHnPy3j6jfDxrqR1i20zTznvbbK4dattMM+68t80092WQbTPD10pe22eadmTbp8SAx+BZ9KlfhpxL8re5a4HrA7d/Q3J3Zx3JbxxfDNQ9leTu8CUkD41ZBJwbcNzHAX9L9ZeS45ljMtzGMAKfTYvkWdEWp96WRXB/DgCqU/Pye+DQgO3OwL+AgyOY6++QfEBcCjxM6owmgdrPkVyULQaG59naZ3sBugHPkHwAeBroGrD9ydTlXcBWYEbgsf+D5HPSdm+juZ7xqrn271L35xJgGsknzgZp7/Xx9eR+Nq3mxv0w8PfUuP8A9ArYbg88kpqXhcCZIecEmAj8dwRf46cCC1Lb0FzgpIDtK0k+vq0GbgEsx3azjzkhts807by3zzTtvLfNNO28t82W2nv9m5y2zTTjznvbTNMOtW22OC/5bp9pxh5k+9RbPN8sdeeLiIiIiIgUVFwO0xIRERERkTZGixERERERESkKLUZERERERKQotBgREREREZGi0GJERERERESKQosREREREREpCi1GRERERESkKP4/0r32CeUAclQAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "tags": [], + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "ETyF06wcECfJ" + }, + "source": [ + "# Grayscale only\n", + "def predict_img(path_to_img):\n", + " img = cv2.imread(path_to_img, cv2.IMREAD_GRAYSCALE)\n", + " # plt.imshow(img, cmap='gray')\n", + " \n", + " print(type(img), img.shape)\n", + " # reshape img into a 64,64,1\n", + " img = cv2.resize(img, (64,64))\n", + " plt.imshow(img, cmap='gray')\n", + " img = img.reshape(64,64,1)\n", + " print(type(img), img.shape)\n", + "\n", + " img = np.asarray([img])\n", + " img = img / 255.0\n", + " pred = loaded_model.predict(img)\n", + " pred = np.argmax(pred, axis=-1)[0]\n", + " print('predicted:', CATEGORIES[pred])\n", + " return" + ], + "execution_count": 45, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "Jk-17DiaTg_G" + }, + "source": [ + "path = \"/content/sharon_A_test.jpg\"\n", + "img = cv2.imread(path, cv2.IMREAD_GRAYSCALE)" + ], + "execution_count": 41, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 286 + }, + "id": "nf2QV9RFDMVZ", + "outputId": "2987141c-40ea-4b06-fc97-1044640a3166" + }, + "source": [ + "plt.imshow(img, cmap='gray')" + ], + "execution_count": 42, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 42 + }, + { + "output_type": "display_data", + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "tags": [], + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 302 + }, + "id": "5MuNiIG5CM5n", + "outputId": "b737e407-7c15-4284-aebf-6ed1e3235d4d" + }, + "source": [ + "print(type(img), img.shape)\n", + "# reshape img into a 64,64,1\n", + "img = cv2.resize(img, (64,64))\n", + "plt.imshow(img)\n", + "img = img.reshape(64,64,1)\n", + "print(type(img), img.shape)" + ], + "execution_count": 43, + "outputs": [ + { + "output_type": "stream", + "text": [ + " (4032, 3024)\n", + " (64, 64, 1)\n" + ], + "name": "stdout" + }, + { + "output_type": "display_data", + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPsAAAD7CAYAAACscuKmAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nO19aYxk13Xed17tXb33rJyFw00kRxspjSQqsh1ZsmLZMazEMBQ7RqIYQpggTqIgNiwpRgI7cBALAWIbQeCEiJzoh2NZsS1LkJwoCiNadizTGlmkRXLIGXI4w9l7pqfX2pebH11d5zun+9W0NDPVFOt+wGBe9b3vvvu2qnPud853JISAiIiI1z6SnZ5ARETEcBBf9oiIEUF82SMiRgTxZY+IGBHElz0iYkQQX/aIiBHBTb3sIvJ+EXlBRF4UkY/dqklFRETcesh3yrOLSAbASQDvA3AewNcB/GQI4blbN72IiIhbhexN7Pt2AC+GEE4DgIh8GsAHAKS+7HkphlIyvv5BxDYm9Nm3dbpbt/kvKm7LOKOl3aF+9Hf/XcfD83EBiB+z3+D+3uls3Q+w57np2Cnn9u18IfO5+euY2tGN3w1bdxs4nh8+5Vz8tTLnZufB118S2s/fhy7fJ0lvy2RSjuvm2x1w//z8u92t+3nQfd/8XOm8QrtNh7LHCt2U60GoddfQDPUtb9TNvOwHAJyjz+cBvGPQDqVkHI+M/yiAzS+OFIv6IZczbWF1ldryut1q2gMUCjpeecyOcX1RP2TptOniAjAPRHetYpqS8TJNWK+nmTuA7vIK0iB5Ojf/pUDzR6PR3wzNVup45gEGIPzQ8rH8w83XwM0jVGs6HvfL2/tiX2L7fPF+oaXz99eKH25/L/j6JyXdT6Ym7Rh8n7L2kQ6razrGzLT+3V1TKehzFVZWkQq+RwBCtbp1P3e9ZazU3+7SnAAgmdTz6Vy9qn8fK5t+3Vpd24p2Hhv4s9oXt54Pbu5l3xZE5FEAjwJAUco36B0REXG7cDMv+wUAh+jzwd7fDEIIjwF4DACmsrvDxi+6/3ZGQ3+lQ61mmqSsXxL8jbzpV4J+kQJ9C/bmofsV6Nd72X6LJ7P67S/5vGnjXy/eTxrOwjC7eHclw42p+7EpLSV7njIx3t8O15fSxxiEAZZDMjmh06joL5d464DOxVtq3lRNOxZCuhmc2TWnH/iXN+usGX52/C8qXbtA5+x/efnXPHiLa5BLReY032s/RqA5Js466K6oJZihX/musxoSslb5vgCA9NyEMOB63sxq/NcB3Ccid4lIHsBPAPj8TYwXERFxG/Ed/7KHENoi8o8BfAlABsBvhhCevWUzi4iIuKW4KZ89hPCHAP7wFs0lIiLiNuK2L9Clwvm5vCrLvjcAgP088nc2xQiwL5S41WH212hb/Komt6VRbXCrw+RDA0CX/T+3wjyIvArtWkqDO8+lZT0WnxeAzO5duhuvfSTWzzVsQs6uTYRx9Q35Cmzyh3nF3c3D9CN2ZXNcR2bLfgDQnda1A6nT+J7uYkbCrXTzKjizApuQ03MR9+ykrT8Abk2G92uH1H5dt56UTOrzY5gcR/OFZvrakPZNf8JiuGxExIggvuwRESOC4ZrxISj14kxHhvjgjWzKNL3pyGM6U8mYWBmmjJx52yKze1AQCUdE1d2xONLJj8HRUj6ww/fdgDt/Np/FmZhpprufowki8W0cQUaBRNJ2dBLP35mcZvwi3ZclG3AkJTKzHeV69hdn+tudjo5xzy+4oBemufbusm1M1fK198+Oj4zjJtoOLeuWGWOdgzTdPTPulncT6FlluncTBch0rA+m6rkh0o5mfETEyCO+7BERI4L4skdEjAiG67Mn0qdC2KfzCI6WY182GNosPVyWqZT1Y5OPQz6pD6s1frMP7WS6bUzpqU3hvexPdX0CSnoCzabEnhTY0N+8b9RNCrfk+a5/pnPx15HDT2l8gbsvfI2dL8vzkBr5qy5BibMRL31yt2k6MK4U4+unL/W3P/+Rt5p+D/yHa/ph0SUhEX3KIaYcFg3Ahmv7kFO6n4m/ZwSm9vxzxfDhsoaeZUrUhWsHoh+TqQnT1u3RsbcrXDYiIuK7CPFlj4gYEQw5gk7UJPI0E+dQ+8g1ziwqchZTej77QAECMumT3XOmKXCW17hNyQ0UuWboME/bMC3nM8pmplKnZTQHutsz1VNpSdj5swkIAIEjxuCi/PjeMN3m6J5A55kmpgC4LDUX/XbiX+7tb+/LL5q2jGjfr164p789dXjZ9DMuQ7mU2pYMcK+sa+TMbKImfURkGmXHmYN+/E0aCkyxpWTRAfbcukv2GmxoLciKo5K5T2pLRETEawrxZY+IGBEM14wXNU2CS743ZmtaJBkAkEko4sytEslSbRJJIDOKV16deWsin7xW2DglvJCrIU5Mgc1xn2RiEoB8FBRHT3HSg78evPLtorGMIAab1nNu9ZnGCI65ELoXgV0qNw9eZTdRcg5Sp+vtrlWurPdpqmBXsA+VVZij2tLxK007jxd/Wl2B+x6z+inMJoAeF1mxCTPGtHaMgXGjfAQdPz8+2ShtfAdOxurSvJK5GdOP2abEi79s3PcBmVbxlz0iYkQQX/aIiBFBfNkjIkYEQ/bZpS8cKD6ybADYfzViE14IYV4jqcKuWXtoPh6NwUINACCrKku8yZdlfy2TTicZ33vVZmgFXkpwFI85twmi/fy14nl5IQf205nS8esP9NmfZ+BLzBF03l9l/9tlxHWn9LpmyGf3mXOS6LmtNe31qBXVN/++vS/2tx+/9DrTr7WXItcGUG9SJQrN33dew/Bijixa6WXCmcJkkQ4nwGJEQgcIfXBknM9GNPSgFyvdWBMY8FrFX/aIiBFBfNkjIkYEQzbjk75Z2LzDRpIlLTUrk4Y1F5NVMr/o76Fgp5+QWdl12nJd0oo3UUoNS9F1djlKg6ffYnUC2frvgDGZPRPCVI3XXDMmM1GHYUDS0KZSSGbC6aWyujlK6MjYWSbLRJVxW3AUY1aPvXa3vW7lM0ohdWZIAMNdq3xe73Uha+/7SkvnOJtV92oyb83g+QIlNrlzQZc+s7vizGDjyniqk9wQ73qZSE0WRfFVa/i+D0iEYfO8M6ByzKYI0Y0xB9QiiL/sEREjgviyR0SMCOLLHhExIhiqzx5yCdq716mF2m7rF+WqXe5o2jKTFAZr6m7Z8Zt3qU+TraRnvbFf1ylZqiZTp1BRH4nKepNNWmNoWVqrPaa+W/GS87tW0r9fuxPqo3YLFJrr/LAOrT9kGunnmaG1jvaUE42g6+jHeO4XNPz0Hz7yRH/7xeoe0+/MmtKbZbGU1GRej73Y0GO//NQB06/QVWqy0baPYy7Red1fvNjfPjG+3/S7Rud28udtpuL9v0TZYeyXewqQqTe/RsKh0X6NhKk+pje9xj71C646sBen3EAybde1DKXrBFP6VN+AEtI3/GUXkd8UkXkReYb+NisiXxaRU73/ZwaNERERsfPYjhn/3wC83/3tYwAeDyHcB+Dx3ueIiIhXMW5oxocQvioiR9yfPwDg3b3tTwF4AsBHbzhWImhOrpvo+RWnQU6mdaZhTRE2k5vTauKzKQ0AmTpFhXkKhsej0jyy5uZBdJLnzTp5Mv/JlJauy17r6PiNPdaszEwS5eXpn+zW42fqzuQkE7E17ujHlrY1KRrrlR+0czz8JR2z27BtP/aWb+g8Amm4Ob9mb0lN8LWWpZOKGaUOJ3Jq0mcPWRO21UrPFKu39V5fbmnW3rumTpl+F6pq7jadK3Dio+pqPPjvNIuuO2ndt6RGpaz8fSEqjrX7AEBWNdqOTWtx7iE4O87XKuDIOzbPfVlp1l8s2+eqP2Z1QMmy1JbB2BtC2FAAvAxg76DOERERO4+bXo0P6wG7qRG5IvKoiBwXkeOtZiWtW0RExG3Gd7oaf0VE9ocQLonIfgDzaR1DCI8BeAwAxmcPhfbY+vdLtmpN8E5Bv3e8ed6a1GmaVXa/Wk4JI528+x7jKpo53fYr6Rxw1Sm6kkYpyTvNcdsv4Sl23BgTdC619JVTtpgbs46d+IdX+ttvmrViDQlRBhdrat6OeTP7YTWzr1StXtrLFdXlm5xSE7ycdQkcrKGRt+eSI/24uYKauq/be9X0e+FP7upvX7vPXt8Ds7qS/pXFB/TvpSXTbzqvpu/4bjvHFzNaDurEz+k68v3/ySa7dEt0jTdVmlW0JiyrkaX9pE3Xseb1Ebmfcx1NMg29kl6AZRC2kVj2nf6yfx7Ah3rbHwLwue9wnIiIiCFhO9TbbwP4GoD7ReS8iHwYwK8AeJ+InALwA73PERERr2JsZzX+J1Oa3nuL5xIREXEbMfSSzUmPlurmrcNdvKq+VnPGRjAxlWX87bajJhL2xW1bp0Ba7kRxhcT75bqdW7FZWF1aV8hW1e/K1L2eOu2Ts+fJaw6dUjpl1xrXtvm/YUUMfnBGSyGVMtavu1TfOmtvLGt9yGZXb/1cyfqvZ5fVtx3L6vjHps6Yfier+/rb3Y5dV+jSgspEVuc/V7DXO3O/0ne1JUtrLZFoxPWK+sq5vdbn3VPUMU6u2Ci/w1Pq37e7euwX/r5dpzj8Rd320ZdhgP3bGdNnNVOla1xMF0313jXfdy4JHSYsfSd1utde5HSDal5Nf6VjbHxExIggvuwRESOCoZd/2ohOEmfMtCYpisgFGCVkvbCp7imSdpmi2jouEYGZIWrb1I9dBkffSXtram+QmRecrntziiK13H4ZsgKZlrtvv2U27y4pfXVn/ppp+6PO/f3tNpnujY691WxmLzet+Tw7plTWn35DxzvyvQum38GClmu62LC69JWOmrfLLTVHOy4Kb6qsx8p/1bogi8c0Gag8oa7Ayyu2ZFeRXI18Jj0xqFzQ61EpW/enVSZdQndfuuT2ebqUIzXbY3qe3o3kZCP/TPBzZjT7ffknbnNj5FYavX2QivjLHhExIogve0TEiCC+7BERI4Lh+uyJUmDZmiMgyNfIDPCL2NX3PrUZrpNOy/EYg7LjBtXN4lDaTWPQ+It/x4pXHJxWKmj/mBV8yNLCwvOfeEN/O59YP/SVhmZyvaF4zrQdKl7vb79c293f5swzAFglMceZvBVCKGaU/rl+RP3yS3UrpvDAuFKAdxRsCOvlpvrfXXKCl1qWTiqQj33lHnvf8y/rHNcO6RiNhn1s33XkZR2jZik1phz5WMUxS0XOH1Offd/XHF1K2ZTNCbugxNmb/Ex4WrhTIr/cU8bZrZ9Nn/1pnmn3yLWm1ucfBgiQxl/2iIgRQXzZIyJGBMM147tAprluinRcBB1TFcasgaW5KPALGUdvMFXRLvqoNqJPyDzyFAbPy9Mn7ZK25dd0jMpe+535M//0s/3tV5qWJnqpshtpqLSVrjr0syf7288v2KiwuYKmCp9u2jZPxaVhOaMRaS3HdV5rKOW1u6zHeurqHaYfm/EeB8isP1dXt8MLYDCye6w7UTqpAg0NusaFGRvZeHJJr+kD05amXG2reT5b1HPx87iwj/TdEhvByRmZbNIDsO4nPVfZmnW9+Hn0zzdHanLNhPaEnQdnP45dsFGPG30HeJ7xlz0iYlQQX/aIiBHBkMs/AZ1eYog3wXkl0yegtMa0bcMNAFxUHKwCdX51gDAEFzotuCglWvFsF20bR7i1aHX1b/2j/2P6XWnpqvWDJIEMAAktt15t2pXjFmnZsYzywall0+//Pv1gf3vimF1lf6j8is6XjnV3wZq3FxJNdql2rbmYk62j0F7+2mE7xh06xv68nWMnZQW+7cLTOPqNK7oCQJt0IqSdbqBySyHjkpeolaP3sol9PmotfXgW3mAZg11/SUlPzXQWiZO7Gi4RpjiviV6tCVf2i9ic1qTei/ySFeIIQpLqvuTYNooix1/2iIgRQXzZIyJGBPFlj4gYEQy3/JMA3Z674ikv9oUaM+nTYnHHbN06Kpyd1JlOF4YwPlLJUYDkCnVcdd42uXkH/+7p/vZy2/p4BygbbKVr2/bm1Le9t3jFtJ2sqxjEQlPpr0rG+tTT+1Ss4fllq+K9J6dt7KcvdaxQYlHUV14LNustQ4shuwoaAXj4kfOm3/WmjvnGMdv2g+UX+9v/svpD/W0uwwzYLLXdUzba8MJR9W0z13W7mLN+OZd6Pl+12XesX7+HzmXSiWeuUdbbwl3jpi08q9efI+EAK5xqljpcRmZrKl3Mopvdej2iU7TvAVN7Ibe1eMUg1z3+skdEjAjiyx4RMSIYOvXWj3LzNAuZ04NMfKY6PDWWo+SajtN+Y4ot0+Bj+36pszddTy9qVNg941YLnSPSDuQWTduphprdq11r0jImsxpNlnWJMMU9apr+6Z+83rQd+F51E9gcf7h0xvQrJ2rGfiscMm31rpqcTMMdLNtkFxa9qLvKu59ZeVN/mymvxBmaSw11c5Zr7npQWarCNUokecCOwXQb68wBwK4xjZp756S6Fk+u3m36zZK2/a65VdOGoPfaP1ehTPPiKr8+upOeaR89GohaZsq4NWXPhfUMs2uubSPKb8DPd/xlj4gYEcSXPSJiRBBf9oiIEcHQffY+9eYEHzKNLfr3wBWRuwPEJlrELnnfyoTWEpPV8W5z4Da3JrBGobpf0VDRUz/mstJy6iey/wsAd+TU773atuGy4xkNfV3sasZXIbFUU4acw6kHrAjkSyta22w6p37oqcw+0+8D4yf62++atvXiPrGgF3KR6LWpnM1K++OX7u1v7ytZP/daQ+c/T7XkFiqWAgzkz1eW3c2gezZxTj+s1i0VOVHQh8cLguzN6+dnqwf62zM5mzVWI4HMfeP2XJ57h2Yuzj2d/vzx2pKvF8DUr8+c21SXsIdW2dJrOSov3pqwr+5GGe+bEpwUkUMi8hUReU5EnhWRj/T+PisiXxaRU73/Z240VkRExM5hO2Z8G8DPhhCOAngEwM+IyFEAHwPweAjhPgCP9z5HRES8SrGdWm+XAFzqba+KyAkABwB8AMC7e90+BeAJAB8dOBZUE94nVrEJnnHVbrtEywlZtD7rrcPln/z4alWakk9eI/zwj2tk3FunXzFtRRKw56yu//7iMdPvSFlN66msNRfnMhrFNZ2xbZWu8n7drI7vXYE9BTUz75q2XOGJ//m6/vapH1S3YE/emqZP1lWIIl+yIhRvLul5X2q+UefXtsfaO6c035eef9C0sc57rar7tevukWO+ypXRShp6DVplinps2X5Vylirtu21eqWmtNl7ZtR1udiykXa76fosNKyrIXfouWS+bl0Nnj4/S5s06EzZK/vgZqhEOZcQL16z/bgt59jBxlx6hF5//xv2IIjIEQAPA3gSwN7eFwEAXAawN2W3iIiIVwG2/bKLyDiA3wPwz0IIZhUkhBCQEpYrIo+KyHEROd6uV7bqEhERMQRs62UXkRzWX/TfCiH8fu/PV0Rkf699P4D5rfYNITwWQjgWQjiWLZa36hIRETEE3NBnFxEB8EkAJ0II/56aPg/gQwB+pff/5254NFKqgXMxhLKE2qX0cNlAM3aRkWCGqunG4P32fkB90p8++P9Mv3Mt9fGqLnaWhRO5ltlb9lvt9i8+r5rvuQft4kGLhAffVz5h2s60ldBY6ugX44t16yHtIoftQsb6np2HKCPuklKCb5i0ijmnhTTlE0upPd/Y399mP73sMsWmCurLXlzbZdrWlknAMZOud87wajSZhn5uTtB6jAu1ZiqSS0wDVqnmL6saFjyVsedslIHGbFjwpRnVwA9JOj0IooU77tk0tNm4z1hLp+wY0smk9tvIvvPrWKZPelMf7wLwdwB8S0Se6v3tX2D9Jf+MiHwYwFkAH9zGWBERETuE7azG/wnSv4/fe2unExERcbsw1Ag6CSo4MajMcXvM/YFLPg2IoAvJ1ua+P95f3X2qv+1FHZbp4LNZu6A4NaZU2TyVN7rSsKWGH75Tzfonrx4xbXcf1gy5J6qvM23vKmlW1tW2jukFIM/W1GTOOY7xwKzSYVf/58H+9jP7reb7w9M6x6WuvQZ8vHvHdCnmycUjph8LQ+RmrPBl/psqANGcSZdU6BTIhC1YGzS3rPc6V9F+xTHrTpRyOo/E2bEs4sn382D+uum3SqGULBwC2LJRrzxi57/7ONcj0Dm6oEcjRunLOnFGHNc+ECeA4UuZM1q97LtB5cxibHxExIggvuwRESOC4SbCELxJ0hrnsku2jYUnpMshS+n9fFuG9OrON3TVe5cLRXqwpKvWPlFlsa0r5OOcuVOwyRdcMfXEvF1J/4uVO/vbb5ywum1PNXS1+FBOo/Cut61ZyRVTX6raclJzVOLoyrvUpD95xfY7PKaiGhezNq2hQRF7tnST018jF2Juyro8CzN6rdgcr97p7VvdlJYdvzlNpru1ug3YlblWt9dqLyXonK1rQovXDUxoRb/Rta/FdEFX7s/NWRdCKOqRo+a8QAV7F15zjkuJmTn52goFSW3r35qQ7jLFX/aIiBFBfNkjIkYE8WWPiBgR7JhuvPdpskSt+Iw1Fq9gasH47xhMTXSJ0nh6QWkoFjcAgDsLWvJ4d9b682OJpuP5+miMPTTmj9xtfdQ/+OI7+9vl91v/7xA5ppxVN5u1euqeLmQwHXb3nPr9J/7sLtPv9G71X1ncErDnxnXaVls2ojBLjuhK1UaWJRT9Vlgkf3iX/X3plEh33dfuo67XH9FrP+vcUj7nqbylABmvL6tIBwtuAsDFpq5b+HLOHIU3Vrb7XX2bXpNdf7F1TULA+tvZmm1jH56XC8S9IxyFx7URAV0vkHSXPf6yR0SMCuLLHhExIhgu9RbUVPOmDJv1bWchs4nPbZ7CYMus60s3EdPCiRNnanOmH4tNeHGJe/Jarol10uvOpD/dVJqr6HjEB79XxTH+8IU3mLafeP3x/ja7DEXYMViXftppqb1c0fPJUxhX/l7rrjx/TjXplhvp+vUtSr5YuG5prS6JSGQWbGbTzJmtk1+SpqOk2jrGpkrR1PXo3WqCj7uEnNm8XoN7x2xJLS5zdaqmNKgX82hQyGUywBaeKlk3obpLH7ROXq+jp4+ZCvZRbhz5yS6sj7Tj0lMZV/qs73lEMz4iIiK+7BERI4L4skdEjAh2LFy2NWH9lgz58EyTATaU1mezMbqDhBHIF6o01b/8o5P32Y6UiPaOydOmqUUHP5pTiu6io8I65Gxy9hoAHJ1Uccdrc1a550JdhSiuk0LmwYKtFzdGobrcDwDa5M8v1XShYt+U03X/6lR/+9K9NpSWL2S2qtv5utdC122v+z9zUv3oyh3q1+ZWfSlt3d71XiuwcUdZw325ntvhko2dfbCo+51uWA1/0OE69NvGobMAUKI1kkbXzrFJ6xacYQcAubzOq3JAr8/M89Z5ztWo3HLiryOF2ZIwpbgH2ujLB+vP92nLm9GNj4iIeG0gvuwRESOCoYtXbOi+J04bnk0bz3ywVjyMbnx6JFLHJjWZKLyJgh58yemZPfFN0j9/2I7RmdTvxulEzdRjBcsZ1YNGvLGWHABMUbTaO3afMW2//3XVn3/jg6qT58scz+V1fC6bDNiSxRwJ9sr8rOmXoY9TJ5wO+x1UqqjCpbRNN2O67/qWvaHNaXWVWMihftRG6+3fpaY6m+0AcHdZXSUWnug4W/ViS6PffGTjQmvrTMWc0/M/X9cxLlWnTBtff6YiASCbVXO6WdJ+GZ+VxqIUmyI/SdiCNOQ9jZardFLb8svr7gW7BB7xlz0iYkQQX/aIiBHBUM34bhZozK6bLJskb+mzTyIw3Tj6yCcspOemGHC5oGknurAU1Ox78vydpm3/PWpmcmQWYKuglkVN2mXnT3App2xiL8L0fo1ye+aMJutcmLUr+gcmtd/lNSuwsbCoUW7dBkW4LdpbvftpNQnbBXsdm1Nbl8fy94yjxLyYwvJBPc+Fv6Id983ZSL67p9RU31+0bayFxxpxi06k8L6SjZoz45dU8++p1cP9bb/izsi4E+UIw0bLXsdaVR+6yXN6HetTPlFFt1mrDkhP9Mqvpld79eWl6rvX5+GjSs0cUlsiIiJeU4gve0TEiCC+7BERI4LhUm9dILe27mt434L97Y7zITPk47BAhdeX51LP3QFndu+0+olHxhZM29QRpYZ8qeQvX3qgv93YrQe45oQpWXjimVWr175Q1zWB+TWbRba8TJr1X9Wos4W32ZO5flV9eKla3zO3TBFYxNT4aKxsVf3oVsmOUVgiqomiF/01Hb+oBzj9QecDU8Tb9C6lCu+Zsteb/XRfkskMR36099HXyJ9fatmHgrMHuSwzl3L2qLfTyx9Xai6d8pp+Li2QEIejwNhnz9T94oduGgrajZGp6/VOKxM1qPzTDX/ZRaQoIn8uIk+LyLMi8ku9v98lIk+KyIsi8jsiss3lsYiIiJ3Adsz4BoD3hBDeDOAhAO8XkUcAfALAr4YQ7gWwCODDt2+aERERN4vt1HoLADbssFzvXwDwHgB/u/f3TwH4RQC/MWgsCUrXSDvdzPFgus2IAjhLhq1uH+3FYhYvr6gJd37NVkEtURXQSssaKzzjL53VSLvZso3GylG5oMvL1sSvzqsZn1lz5vMan5AerXTe3qbWxIBySjRlFkK446s2gaM9xjSOHWNsXm3B7FndXniDNW/n/6ZGpCXOTdhHkXFc7dWD6bUpF9XG5vldBS1DterozCLds2re3jOmPmsdnb8vm8VRcpx0AwCXl/QeNit2/LEr7DbpmD6Crl1gOtM+nMb0psso7hmWDjc64ZaNyLubFa8QkUyvgus8gC8DeAnAUghh46qcB3BgO2NFRETsDLb1socQOiGEhwAcBPB2AA/cYJc+RORRETkuIsfbtcqNd4iIiLgt+LaotxDCEoCvAHgngGkR2bAvD8KHkek+j4UQjoUQjmVL5a26REREDAE39NlFZDeAVghhSURKAN6H9cW5rwD4cQCfBvAhAJ+74dHIZ+84BoMz2zIuI86U9SW3cVBooPfnObL2wDj5k7l0f3K1bSd5cU2zoSrL6k9WrtgvMWmSP+wEFnMmxNS27X5KL0JtVv35ibPWEVu9k8Q5xx09Q2ITnFnYmLLrA0YQxH3lM/2zdpiy6A5baqzb1raS08d5/zIAACAASURBVFPna8y67nd5qpPotgwsb/QD48/2ty93JqmfPWdfky9tfF4fqLh7e7WhNGijY1+LZl0fOqnY6zh+gTTxJ9PXQdL8csCGGnO4rEvIRHNK52Uy4AC0y715Dfj53g7Pvh/Ap0Qk0xvqMyGEL4jIcwA+LSK/DOCbAD65jbEiIiJ2CNtZjf9LbMrsBkIIp7Huv0dERHwXYLgadAPKPzFVUZ91Gl1kzhgz3gc6Ub922dpA0qYSPlm1byecGT9fV5Pw1ILVZlu6ruZ6dl4pmPaUo3HIdN9U0oivuNMWbxEdVlzSHdfusKajOe9N4+t5j53Tv1f3WvuuQTWUkqNWn268RJRaRd2VTsM+LjMzGhl3/+xV0zadV/OZNfRarkbXeEavvy+79K3Gwf42m+B+jCrxqh3nk1xsKrXKJabZbAeszlylaem1LOnMYdWa/82JrV3J0B5Aj3bcPkSjtUu6nVt19DQ9Zu2ivRfZnsad17cz+6e2REREvKYQX/aIiBHBcMUrEqA5ubV4RYvNemeJNFOKlm6q2soJBT66rqgm0RpVI/3j562U9N9/65/0tx+eesW0XTusJj5HYz1x/l7Tr1JW07d73VU+rZHemJNfZhNu0Gp5gZSUuy5pqDGj57n6Po1reP3+S6YfC2ewbh1g5ajbHW0rTNgIt8k8mftOOJCr43IJLF/KiqupWkEQYC6jbsLzjf39bS69BdgouTVH86zQqnubVCKaTkuOBSpWq3aM9jUdf3zBl27S7RyVKfP3jCM/N7Mfup2tbp30BQA8Zf/s9Ffxo5R0REREfNkjIkYE8WWPiBgRDFe8Auqre5+aSypv8jtYY5K+nroF6ydaWs61FdRHPTi21N/+nre9ZPoxFeTRIvUGjsC6d/aa6feyaGmhpaq9xMmSTtJHEV77XqUEM3mdbyZrqb0yUWOFjF38GCdfnKPYZvI2+o0FF+uwPvC1itJSY3l1No9M2rJLTJVNOgqT6TFPlTGWqHTWAwVb/ulMa1d/m0s33ZGz5bDO1LWfj4xLQz5jrykLSXLEHAAkNT02lw8HrIjExnoUgE3ZZyzA4p9vXr9qj9GaTj2dvsu6tlZvP78ewIi/7BERI4L4skdEjAiGG0FH5Z+8pc6JA17rjBNjWHdOrCVmkv0TeIpEG59dUhrnyD6bmLHY1ii5h0tnUtumc0pDJY5HnMqrSbs47TTR3qAnU23bSK1VogRZ297TWsWsXqxyzmYN5elCcqSg10nvDrD3WHxjIqcuQyljqTEe01eaZc04I1CRsfQdm/hnmjZicS6r1NvJ2r7+9uma7bfaUtqs5c6Lz3OpSRRd05r7darsG9ZcdBonF7nIOAlb022eWuZn1Xs1nARWuD6AvuPn3Vn4heXupuN4xF/2iIgRQXzZIyJGBPFlj4gYEQzXZwfUWXc+B/vsnpIyEZbkC3WLrtu0Oiyc5QYAYUzbzl3TTKgz03Om35vLmip2tWNrrB3MK/XEggmHC9bvf6WhY07l0rXQfZbX5boer5AppPZjX7ztHMA8OXbsr/p1Bf7cDS6braB+9T3jSit6cQkOTfX0GvvsXGL5uithzaKSPmNtmWg5HwbL4DUNL2yxRCWtWZRirWHXS5oN9dkzVTuPHKmpcUgz4LX50/1tO156OWdeavLUG4u1sMgFADQmI/UWERHRQ3zZIyJGBMM343uWScvJhrE55DN6jFgDfT11CukCFSHj2ijSjK0mbwazmTkLq4bL2Vu7syr4MChCbNydDJu3y22rfz6R1b5lMtUTZ5ouNHSO41k7Pgs05OhYuwprpt81Em/wOnye6usfy53LHspsqzoz25fO2kAxsfRdgXinY+XTpu149e4tx/DzYzen4uhMzm5rtPVxZ6oNALokKJF1LuDYZSqHNaDkGD8G3pxmes0LXiROc3EDHVfiiT0xr0vfl86/Wd34iIiI737Elz0iYkQwXPGKHFDfs77dyfvleO7nVitZlILaQslpvxX0c6lkbaMMmfHTJTVbn7m+3/Qr7dL9psbsSrpfjd5AzukGP1jShI4rrSnTxubtjCt3NJZiz3mztUyme25AyFSDjsViG4CNAFxx7gRXO+UySf482XSvdq35zKWctssKfK1ihUTYPZrM6j07U7UMCpvxyw17Ll1a3maTvt2yrldo6GeW4waAFukZbtIUpGeTvZxNUul0C3PWo0KmqY3t4gCJb3YTnI7dhhx1ige23ie9KSIi4rWE+LJHRIwI4sseETEiGK54RRfYcOWShvU5DFPjIuNYpCKh6KauK5+U2ae0TrttfbIiiTAMKsvMfi5HdwHWZ5+m7K2Mc+RYx7zgqSb6zGKLgPXnOXpsvml5SqbAltqWC7qzqNF8vJ/3y/eVNDKu477zeY2gRZltGUdnVsmJ9GsCu3Lq61cpjdH77IdyGpW4kFgt9/mWRhQyTTmbt5QoRx76+2n04Ouk9d/0ao5EvTn9Eo5wS7rOKaaPG9rtAJBpptNmXriFo+ZytfQoPOlsXSZqu9j2L3uvbPM3ReQLvc93iciTIvKiiPyOiORvNEZERMTO4dsx4z8C4AR9/gSAXw0h3AtgEcCHb+XEIiIibi22ZcaLyEEAfx3AvwHwz0VEALwHwN/udfkUgF8E8BuDxgkJ0NoI/vIcQeDoN7djl8rjTBDVlHUUHZlm5UlrixVzShuxGX//1BXT73xVk2TuHbNtTAWxdtpDRasvP52oiT/fsSY4m/heJ52rnTKltje3bPo1KXGFNdMBS3Ox2ISPtGPsydnyT5x0wtSbjxTkz3M5a1rz/I+WtJr3ZUdFvlBX6tNH0H1t6Z7+dtNovrsqq9RWytlrOlvSe3GmNdPfFueS8Keso8byVIYpV7VuCFNlzExKy/brktmdcQIYXPYr2yQ9/6IT4qBEGKbrAKCwtH5wGVB2aru/7L8G4OehOWdzAJZCCBundx7AgW2OFRERsQO44csuIj8CYD6E8I3v5AAi8qiIHBeR451K5cY7RERE3BZsx4x/F4AfFZEfxvo6+SSAXwcwLSLZ3q/7QQAXtto5hPAYgMcAoHjg0ID4noiIiNuJ7dRn/ziAjwOAiLwbwM+FEH5KRP4HgB8H8GkAHwLwue0ccMNV9/QDlxre5M4n1NZUYyTkbPhmIN8+bOI3FPkM+e9ORHG+qj72pYlp08YiFTmoT/p804bcMqXG/rvHqvO3reCDnmdaBhmwOcSW/ehdlJn3StOGmM6SY+prp40RtcdrAF4skv1yP0e+Bscrd/W37yrY0s4sCPLV1QdM28/t/1J/+2Mv/1h/24tcMNZcueWzV2e27NetO9GPa/p5Q7xxK/hw2cKK/iEhf7vj/O3cml4rX1a50Na2Tl73Y6oNAOix3SR82R7rzf82iVd8FOuLdS9i3Yf/5E2MFRERcZvxbQXVhBCeAPBEb/s0gLff+ilFRETcDgxdvGLDuvba8LZT+udAZZzEmWKYVJO82bAHEAo04yyp2Wz6ouG5qjUBWXhhhvbzggwTiWbLXW1bHTs2zycyNqvu5cae/jbTbYPEMXzWG2ef8X5T7licjfdgyS63mDnT+D5S0MzDZcRdb2s0HM/RR+u9UFU9+AOFJdP261d+YMtjeTGPWltdiJWqjXrMZnXOrSY9E207j2yFKDRvPlPppkzDp73pZpdMcDbbAWvicz+ATHDYqDl3SZFpchiebev2Sp4P8F5jbHxExKggvuwRESOC4ZrxokktPhGmPUZB/rl0hk4o+WVTPzbNctaM4p4st+wTVX75vj/ob//bMz9s2mbzVN2UVsErXatUsNCxCR0MNq39CnaaEMVDxbPmM8slv9KeNW17sqoLN0/muK98upSoX+NdDY7s44Sfy20b/cZJLWMuGpDN9TeXdP5+JT0zpmN8ZdGuxnPCy0JGdffaXTtGnbTlMq6qLbMyTdrmyqwAMH6BTXVnxtfJdXSJMLwqnl1opvaTutrk7WmXYMVK0t3031+OqPOr8f1VfEm34+Mve0TEiCC+7BERI4L4skdEjAh2rGRzp+R9H/rgxPQ6RebeqCFr/TOhz4nz3VokYsClexvOb64Epa7OLljqbYJKMbOQYc4JX7LIxaqrUfW20mlqsxF0h3Iaocc0l49w49LGXgAjR5/Zf+csPQA4lKdjOR6Hj7dAFNqyF8ooqACGF9Zk6pDXMJZc+adrVEDAl7l6cVXPk0s3rTbsGkm7o79ZzabLiKvTtVvUe1uad2sHRGtxGWYA5icxu2r5sEzd8WMbY7TcmlFJ55FdsRmZIafXNXBpZx9lamg5//6s7+jXCkyf1JaIiIjXFOLLHhExIhi6GZ/0qDNfnilpsniFpz5IvGKc2lwUFJs57ZY9NTb1sgmZyM6MZxrqs2//z6btH7zwU/3tiZyay36MQqKfPeX1rfqh/vbd+XnTxjTXNFF7V13CzL6cRpp52o/NZDbdvbsykagpyRVpASvGwdGAHhdbmijk9fqYlvsrY6f623/asq4R68vvKVoRDRalYC28eiv9sd1EvbXovtNzNP2S7ZerkP3sguRyq0orejO5WyB9vbqlHxlJhUXlnXZ+SmRcc9qeZ7ae4s6C6MH0IMf4yx4RMSqIL3tExIggvuwRESOCoevGb1T57VYsr2DL3TpNedIj6HIZ27rrR+J/nbr9HmNftkQa8s9mrPAE+5CnXSjqe/e90N/+2sJdSMP+gtJOPgT2SF7pqqWupbKudnS94J6c+vMX2tbPZdELn0X2uvxl6qd+9NGizWx7paViFm8pnTFtZaovzLr0y46+u6+ggpxeSJLFMb648hDSwHrwyy27NtEmP51FKaoVuz7A5ZbZRwcAWdNHvHiV6FJHobEvnl90ZbaXdd2iO+6KuKX5yC5zLiQkSuFCWpmm64zrfHOr9tlhQYxOwZ3nxjxi1ltERER82SMiRgRDF69IA+sieGELllnL1NRO8dJsHEzWKTszirTrFtfUHM0l1g47WVAxBS8a8c6yUki//cJbtWGXncdUTs0+T0ldgJrkPjLuPjLBOZLPgyk6T43xfkztdd33+iTtd6ZlT2Auoyb4X1SP9Lf99fjjldf1tw8Vr5s2pjDZVGfTHACWyHS/UrMU4FJN27h0U/D6ERxx6SipbMrzkq05cYmGfhZHjSGrc5b2AH06bvNReMLUsnNhczp+bkVdzPoeFylY4trlbvheuN0Aeb74yx4RMSqIL3tExIhguKvxgSTN3JEHadJx0gyb8V7rwQSaeWuLLKdmQ+25q6s2MeN8wcpHM9gk/7W3fKa//csv/nXT73pT3YT9eVu6iRNGuMySB5vMu7M2sgy0Wn7RrdRzMs05WnE/krtm+q1QEs6bCudcm54nr6o/uXK36Xds8kx/e9rJTHP0nr8GjESmadvetOW6zqPLMuHdAUvODq1JfUhyy/SQuSESNsET+xvYzet+0rEPHcs9S438yJaTOS+SGzJuWYekoX2ZiSosWJnwfJZW44vWHcqtrPdNWjERJiJi5BFf9oiIEUF82SMiRgRD9dlDAmywMJtoM04Ycv6UELXC0XRG1AIwdETSdH4XjcnBTU2xE7m0qpRRs+NKBE2pb/V07bDuc9VGj3HZ4EJifbyDRc2Cm3FljnlNgEsteWEIzrLzeu0Mzoh7snqPaePxV5zAxqmm0o8cAfhA+bLpx2IWl5p2rcOIb9B8K227TlHp6A29VrdCnbkMlYsmUYpQG/DY5p2gSVmvj9DCkC9t3M3p85JZsxF0Qj4103CA9dO743odN1F05MMnq3Z9ozuh17E5p2N4jXqOmuNMPABoTaxfY0/rMbZbn/0MgFUAHQDtEMIxEZkF8DsAjgA4A+CDIYTFtDEiIiJ2Ft+OGf/9IYSHQgjHep8/BuDxEMJ9AB7vfY6IiHiV4mbM+A8AeHdv+1NYrwH30e3unLGsgqHROu4riE18o8PVcpFIXN3HHS9pqPnF8uftqr0Ey4k1aRnPY29/+2JeB/kbR582/b566d7+9tWsNU0LZHZP56xJyHTb2brSZiVXqZVxdOyi+Xy2odFwi2RmT2VtpN2Fhprd55s24WelrddgJqcm5/na1hVRAeBwyUbQcRmqBpnPXeejdQbUK1qtq8kflnQ8v0cY04cn8fUCultH0HHJJQDIVgZUE+doOBcZ15lR6jap0YM6v2D6YYYeuoxzBbpqrrPpnrSsGd+cIqGMlh2jr0k34DS2+8seAPxvEfmGiDza+9veEMKl3vZlgN6EiIiIVx22+8v+PSGECyKyB8CXReR5bgwhBBFfVX0dvS+HRwEgO5n+yxAREXF7sa1f9hDChd7/8wA+i/VSzVdEZD8A9P6fT9n3sRDCsRDCsexYeasuERERQ8ANf9lFpAwgCSGs9rb/GoB/DeDzAD4E4Fd6/3/uhmN1gFwv8rPt3ntiYDZl7nAUJSdeeVeW98t4YYsCiRMskJDhhO3XIn91wWmQL62oDzxeVsHGl5I5229ZT262ZGkW9l8HlWJmgcUEXtBSfcNvrB0xbXlaE1ht6blcrFn6rpjRMWodm2GXI7qQa7OVs5aSutbQ9Yj9eVtueZFu8KWmHnulZddEWFTyWtU+FKsL9DnLtZFNN+RKei5dVystk6VzobBrr7seKBQ1uLUUPp40LeUlLJbB2XKzLuya/HJknFAqheNy9l3itOfHztOxnQDGRpjtIN347ZjxewF8tqeukQXw30MI/0tEvg7gMyLyYQBnAXxwG2NFRETsEG74socQTgN48xZ/XwDw3tsxqYiIiFuP4UbQiUbAZaxFCBmgd80ZcSQRh01JY5zb77TnKVHM7CcugyqQ7rjXM2vX1LxbprZc0RJ9WaJ/5tcs9VbKcnSd3Y9NfG67WLMllesdKiXkxDcqLTXJ95Y0W26tZS/WYmNsy34AcHpV3ZIOmcWTBVu26CqZ3YWMjdCbyGrfhNZu9xZWTL8aUXQrJWviL5aoTDOdF1yp7ladrlvZ+nadtt4zduWYxgKAwiJpwzdcZlsjnfoU0oqX9tYltwEgZFLMfQDJomYWJpRxF4rWfeuU9R4mTaehtxEW6kUz+DipLREREa8pxJc9ImJEEF/2iIgRwXCVaqC+uVeZ4W+dlqPl2E/n0mabxiBmIhmgPc/+vDRdP6LbOkWvbEgqOeS/txLrW/E6wPKMvcTdaaWo5hvWn88T5bXQsBrtZgyax1Ldqp5wpthCXS8klzxe/0wih4k9Fvvwh8Y0t6nh5ITmCpq158Ne7y5d7W+fqWsI73V3c3leC456a6/wTUMqJElvzBf0oajOcrip/Z3Lrqpfvqlkc57jbJ0/39paZUbqzs8v6YMrXsWG9uuWKXPOqeJkVnWhS+p20asz23uWJD38OP6yR0SMCOLLHhExIhh6yeZMY91E6hRcCRyyWLI26Cz1KylvWRxQkhecXLs18cl0dxWPTVSeF8DgCD3OsNuk1U2nJtdsdNoLxT397fv32QjjNtFcTK9VW3YMNuNbLmKMqb2JvNJfuzPWdHzjhJaDer6yz7Rx+SoWxTxQsFFyHJXHLgMA7M4rnTRfVz34N0+eN/342JuCvwpcRpkuqjfBCyQM4Uz6FmWHSVW3G5P2+Sud1/26JeeWEc0lTtCRKTU23cOYfQClqvcilNxDR25DUlXzvDPlhCmJ5mPBC0BLVG3SvOf9U1siIiJeU4gve0TEiGDoZvxGJFvOmUMmGs6tKHLFIC7x5PNIOCAtW3FtbBGyleaDo2haXDoIcJF8PL5b+adcmk0mfruh5u5zbVtBdnZaTd/Dk7oK/rbZs6bfxbomWfhV+4Njamq36QLNOr07Fq9o+ZJM5A9xJNzJipUsYFfDR+FxZNyuAkWIuVDJo+MqvnG+YpNHrlNVWzbdWVcOAAK5Ml3nC7Qq5AJRMk1r3CXMXFPXpbPLJg1xlFx7l9PJu7y1Jv6mqDs2910yDSPQs599xSWSFtPrDIQNxuAWiFdERER8lyO+7BERI4L4skdEjAiGG0HXBbI96q1dctlm5Kts0HPUqG1NokhyLlqIy3W5IZh6owrCm8tDp7tTxv/uDhDbIDd3CyEOos0yNkKKo99MNF3T+on3jqkvV85a/9LScuqLX6rbfveMaYSbL7f8rdUD/e207DUAeOv0K7rPyh2mjSPjlqgIX9sttEwTzzqRs1l14MxFFh2t2THCOGWz1Rxtlt06i7G2yz87JPToMsq6kzr/TT46i1Lw2o3nEbnNCU6ajDheryqkl+326FN73Ui9RUSMPOLLHhExIhgu9SZqrmdr1szhyDUvZJHkKXGFSzz58rT0sT3mRSl0O6dMEDoDLKXcmhPAKJM7QRZnd8AYm86FzNHc09Y8v0p6QAfG1Vyco2g0wGrKv6lsyy0/V1Vz+t3TKgJ8sWVpramM6si/0rAaeg+Ur+h+RNFddeWZKm098Zm81aVnlLN6cz0FyOWlvBAHu29GLN4JjnQ40tHr0POQ7Ba4bs27NLIxU3E6c3VKdim6m01JLSZ6zdHCxlRfciW4k5TkFU+1DYiOC63enKN4RURERHzZIyJGBPFlj4gYEQzXZ4dSXZnW1n8HNpdzHruqvkpjkkIj3ew7RfV9Nvnb5O60yPcuX3L1tEhH3ldDzlZ1TKYK/bE6nhLkMahetLjxM0W9KCwIuVyy2U8HCxpK+3Jjt2mbI5/4ZF0zyjqOA+Ryy/cWr5i2P1q6v7/N1Nv9k7bfGC20cH04ALjSsCKZG7hQt2sH7MPvKdi1icK4xkY3FvQaSNutx7S5AKDzWTnMlmoD+mesPU4inquuZDOHt2bTtf7BYhNeRGJVz1OcbjxyeuzQpMUr56NzJh1n0W0X8Zc9ImJEEF/2iIgRwdAj6PK90rjSseZWm0zw4KiIVlm/k7xpzSguqdnTdGWdTEZcnbOfttcPANrE12TrVGbXJTixBetdjfGLauqVLlmVjvkP6JjLdTXZrjdtZhubz14XjqmsM1Wl1KZzlhrjqLlmsGOwaV0zvGJ6eOFKu5TaViKfre3cCS6B5fXxM6ThzyZ4pm7HkIp+7hSd+0aWNR+6YIMGkVvlED3nCuT0+kjNFTzgiDXWp3P6cUI0Wli2qisySeOzSd9yFKAXdWFM9LIpF9N/v7f1yy4i0yLyuyLyvIicEJF3isisiHxZRE71/o8lWiMiXsXYrhn/6wD+VwjhAayXgjoB4GMAHg8h3Afg8d7niIiIVym2U8V1CsD3Afh7ABBCaAJoisgHALy71+1TAJ4A8NEbHrFnIjWdeEB+VU0nt7BrhC040o6TYgArcuFXujlSzkTrOYuN3QvvMuQpYo/dhEzDrppOnNMdS2esblt7VsUrOk7rrFKjiqklNRerbRu1xbpwR8cumrbrbY1yO1DSY1+qWxOZo/CedSIaOaIupnNqOxZdltDenEb5eXfi5JpGpNUpKabthDI4WWefE8B4OatzpEuDTsHetOI8rbj7CkzUNb+s92z303Y1O7NKCT/LNsovsJS0E57oTqu+XrKo5nlou/JMZJ7DlbkC9TX7eXcim926HwDZ+HyTiTB3AbgK4L+KyDdF5L/0SjfvDSFc6vW5jPVqrxEREa9SbOdlzwJ4C4DfCCE8DKACZ7KHEAJSBHFE5FEROS4ix1uNta26REREDAHbednPAzgfQniy9/l3sf7yXxGR/QDQ+39+q51DCI+FEI6FEI7lCuNbdYmIiBgCtlOf/bKInBOR+0MIL2C9JvtzvX8fAvArvf8/d6Oxulmgtmv9+4V9dACozen3jhev4Aw5Uyona2mz/Fq6v8LUHvfjiDwASChrymfEMXXD7uv4WcuJJFXS9x6zmUvdgvqoWZddVSD987G8ti03La31unH9Xl3uWFquQTTaLKliZlwpqw59z5cSyx1yuehxqq293LHzeKZysL+91Eqn3lab6qNmXGZbk3x2L3yZUF+Omitcc2KRHOB23T4T+77mlEc3+i1ZKjLk9NjGR4eNoAt16+snq1RiuUJRclN2jYTHFF+a7LqurQgLViRO5ILm4aPw+j78gKy37fLs/wTAb4lIHsBpAD+NdavgMyLyYQBnAXxwm2NFRETsALb1socQngJwbIum997a6URERNwuDD2CbkM4wmu9jV1j09olEbDmAFFjwZnxbNaHTHpkHOvfZZwAxqAIvU5e95v7MzWl23N2LYI1w0PJlkXKX1S6SlxF0G7Xla/tYXfRLmyyFlzVKWewKMWVlpqSOcdJnaloDNSeoqW8ePz5llJLXO4JAO4o6bl0nWjEWqtA2zrH8Zx1GVbIxOd9AKCUa1M/HX/6lHUF8mt6bsV5a2Z3yG3K1Oih89rtyfZ03aWQrt1uqLE16z7ION1bpylvTHfSpwtV62pIkSi7rHt12wMe3B5ibHxExIggvuwRESOC+LJHRIwIhi5esZE4Jk5Xm33s4qL1yQzFRpuJy5zjMUvXXNYR9a3PUpbRgNpYLSdaOX1K/cHmHeq/Jk13LBIhzCw4cUEef78Vcmi19LwLWR1jrW39xEHZbItiqbgNXO/Y9QDORGu6UNcr7a39Uq7tBgDnqzr/a7X0GIpqQ33S1bqjIrvpvzfjv6frBQeu0zVt2uejcFnXNIITjcitbC2EGRwlyvXcvE9t/GMvXkF9jV/eaqf22zSXGoXqzupaSli1azVM+zHNZ/aTm8x6i4iI+O5HfNkjIkYEEgZE3Nzyg4lcxXoAzi4A14Z24K3xapgDEOfhEedh8e3O484Qwu6tGob6svcPKnI8hLBVkM5IzSHOI85jmPOIZnxExIggvuwRESOCnXrZH9uh4zJeDXMA4jw84jwsbtk8dsRnj4iIGD6iGR8RMSIY6ssuIu8XkRdE5EURGZoarYj8pojMi8gz9LehS2GLyCER+YqIPCciz4rIR3ZiLiJSFJE/F5Gne/P4pd7f7xKRJ3v353d6+gW3HSKS6ekbfmGn5iEiZ0TkWyLylIgc7/1tJ56R2ybbPrSXXUQyAP4jgB8CcBTAuTmuigAAAsxJREFUT4rI0SEd/r8BeL/7205IYbcB/GwI4SiARwD8TO8aDHsuDQDvCSG8GcBDAN4vIo8A+ASAXw0h3AtgEcCHb/M8NvARrMuTb2Cn5vH9IYSHiOraiWfk9sm2hxCG8g/AOwF8iT5/HMDHh3j8IwCeoc8vANjf294P4IVhzYXm8DkA79vJuQAYA/AXAN6B9eCN7Fb36zYe/2DvAX4PgC9gPfthJ+ZxBsAu97eh3hcAUwBeRm8t7VbPY5hm/AEA5+jz+d7fdgo7KoUtIkcAPAzgyZ2YS890fgrrQqFfBvASgKUQwkYGx7Duz68B+HkAG9ktczs0jwDgf4vIN0Tk0d7fhn1fbqtse1ygw2Ap7NsBERkH8HsA/lkIwRT+GtZcQgidEMJDWP9lfTuAB273MT1E5EcAzIcQvjHsY2+B7wkhvAXrbubPiMj3ceOQ7stNybbfCMN82S8AOESfD/b+tlPYlhT2rYaI5LD+ov9WCOH3d3IuABBCWALwFayby9MispHPOYz78y4APyoiZwB8Guum/K/vwDwQQrjQ+38ewGex/gU47PtyU7LtN8IwX/avA7ivt9KaB/ATAD4/xON7fB7rEtjANqWwbxYiIgA+CeBECOHf79RcRGS3iEz3tktYXzc4gfWX/seHNY8QwsdDCAdDCEew/jz83xDCTw17HiJSFpGJjW0Afw3AMxjyfQkhXAZwTkTu7/1pQ7b91szjdi98uIWGHwZwEuv+4S8M8bi/DeAS1msOn8f66u4c1heGTgH4PwBmhzCP78G6CfaXAJ7q/fvhYc8FwJsAfLM3j2cA/Kve3+8G8OcAXgTwPwAUhniP3g3gCzsxj97xnu79e3bj2dyhZ+QhAMd79+YPAMzcqnnECLqIiBFBXKCLiBgRxJc9ImJEEF/2iIgRQXzZIyJGBPFlj4gYEcSXPSJiRBBf9oiIEUF82SMiRgT/H8WlPZ5XRIUpAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "tags": [], + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "GGleZvvJCOv1", + "outputId": "f08e571c-3c09-4436-e85d-808a08948895" + }, + "source": [ + "img = np.asarray([img])\n", + "img = img / 255.0\n", + "pred = loaded_model.predict(img)\n", + "pred = np.argmax(pred, axis=-1)[0]\n", + "print('predicted:', CATEGORIES[pred])" + ], + "execution_count": 44, + "outputs": [ + { + "output_type": "stream", + "text": [ + "predicted: A\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "code", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 319 + }, + "id": "5szyhS6BDq2S", + "outputId": "7ef9a919-eb26-42a6-c565-afc5891ab489" + }, + "source": [ + "path_to_img = '/content/bryan_B_test.png'\n", + "\n", + "predict_img(path_to_img=path_to_img)" + ], + "execution_count": 51, + "outputs": [ + { + "output_type": "stream", + "text": [ + " (1386, 1080)\n", + " (64, 64, 1)\n", + "predicted: S\n" + ], + "name": "stdout" + }, + { + "output_type": "display_data", + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "tags": [], + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "iZ5GbSqyEmjN" + }, + "source": [ + "" + ], + "execution_count": null, + "outputs": [] + } + ] +} \ No newline at end of file diff --git a/Flask_Contents/flask-app/Procfile b/Flask_Contents/flask-app/Procfile new file mode 100644 index 0000000..8001d1a --- /dev/null +++ b/Flask_Contents/flask-app/Procfile @@ -0,0 +1 @@ +web: gunicorn app:app \ No newline at end of file diff --git a/Flask_Contents/flask-app/README.md b/Flask_Contents/flask-app/README.md new file mode 100644 index 0000000..f9d886a --- /dev/null +++ b/Flask_Contents/flask-app/README.md @@ -0,0 +1,48 @@ +# Building an Flask App + +## Agenda +1. Review last weeks HW +2. Flask live coding lecutre +3. Break + * Wed class only, redo [Midpoint Self Assessment](https://forms.gle/WGKmmEFzyavfHFJ4A) +4. Breakout Rooms + +#### [Flask Documentation](https://flask.palletsprojects.com/en/1.1.x/quickstart/) +#### [Bootstrap Documentation](https://getbootstrap.com/docs/4.3/components/alerts/) +[Bootstrap Themes](https://getbootstrap.com/docs/4.0/examples/) + +# Extra Credit: Deploying your app to Heroku. +Once you have a flask app running locally on your machine already, you can then try to make a live website that anyone can visit by depolying it to Heroku. + +These instructions were adapted from [this tutorial blog](https://blog.cambridgespark.com/deploying-a-machine-learning-model-to-the-web-725688b851c7). + +1. Sign up for a free Heroku account at https://signup.heroku.com/signup/dc +2. You should all already have git installed, so you can skip this step. Make sure you have [git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) installed. +3. For Mac Users: [Install Homebrew](https://brew.sh/) if you dont have it already. (Window users can skip this step.) +4. Install the [Heroku CLI tool](https://devcenter.heroku.com/articles/heroku-cli#download-and-install). Mac users need homebrew to install Heroku, Window users dont need it to install Heroku. + +___ + +### STEP 1: Create a github repo with your webapp files. +__(You should already have this step completed, but if you dont, you need to add your files to a github repo.)__ +1. Create a github repo for your app. +2. Clone that repo to your local machine. +3. Git add, commit, and push the webapp files to your repo. +Now you should have a github repo that contains all the files you need for your web app, now we need to link, push, and deploy them onto heroku. Your github repo should look [something like this](https://github.com/zd123/zd-flask-app). + +___ +### STEP 2: Create and push files to Heroku. +1. Make sure you have followed the instructions above for installing the Heroku CLI and git to your machine first. +2. From your github repo folder, in your terminal, type in `heroku login`. Follow the login instructions. +3. Next create your app using `heroku create your-webapp-name`. Replace 'your-webapp-name' with the app name you would like to use. It will be a part of your final URL. +4. Then, add your git to heroku by using `heroku git:remote -a your-webapp-name`. Again, replace 'your-webapp-name' with the name you used above to create your app. +5. Finally, push your files to heroku by using `git push heroku HEAD:master` +After you push your files to heroku, it should spit out a link to your webapp, it will look something like, `https://web-app-name.herokuapp.com/` + +___ +### Making changes to your app. +Say you've updated your webapp files now want to update your hosted webapp. +1. Add, commit, and push all the changes to your github repo. +2. Run the `git push heroku HEAD:master` command. + + diff --git a/Flask_Contents/flask-app/app.py b/Flask_Contents/flask-app/app.py new file mode 100644 index 0000000..359f438 --- /dev/null +++ b/Flask_Contents/flask-app/app.py @@ -0,0 +1,165 @@ +import flask +import os +import pickle +import numpy as np +import pandas as pd +import tensorflow + +import cv2 +from cv2 import cv2 + +import skimage +import skimage.io +import skimage.transform + +import werkzeug.utils + +app = flask.Flask(__name__, template_folder='templates') + + +# ASL File Paths +path_to_asl_categories = 'models/CATEGORIES.pickle' +path_to_asl_classifier = 'models/cnn1' + +# Saving to variables for usage +try: + asl_cnn_classifier = tensorflow.keras.models.load_model(path_to_asl_classifier) +except EOFError as e: + print(e) + +with open(path_to_asl_categories, 'rb') as f: + ASL_CATEGORIES = pickle.load(f) + + +# For Uploading Images +UPLOAD_FOLDER = 'static/uploads/' +app.secret_key = "secret key" +app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER +app.config['MAX_CONTENT_LENGTH'] = 16 * 1024 * 1024 + +# ALLOWED_EXTENSIONS = set(['png', 'jpg', 'jpeg', 'gif']) +ALLOWED_EXTENSIONS = set(['png', 'jpg', 'jpeg']) + +# Create Upload directory +os.makedirs(UPLOAD_FOLDER, exist_ok=True) + +def allowed_file(filename): + return '.' in filename and filename.rsplit('.', 1)[1].lower() in ALLOWED_EXTENSIONS + + +@app.route('/', methods=['GET', 'POST']) +def main(): + if flask.request.method == 'GET': + # Just render the initial form, to get input + return(flask.render_template('main.html')) + + if flask.request.method == 'POST': + + if 'file' not in flask.request.files: + return flask.redirect(flask.request.url) + + # print(dir(flask.request)) + # Get file object from user input. + file = flask.request.files['file'] + + if file.filename == '': + return flask.redirect(flask.request.url) + + if file and allowed_file(file.filename): + # Save the image to the backend static folder + filename = werkzeug.utils.secure_filename(file.filename) + path = os.path.join(app.config['UPLOAD_FOLDER'], filename) + file.save(path) + + # Read image file + img = cv2.imread(path) + + cv2.imwrite(path, cv2.resize(img, (300, 300))) + # Read image file string data + # filestr = file.read() + + # Convert string data to np arr + # npimg = np.frombuffer(filestr, np.uint8) + # Convert np arr to image + # img = cv2.imdecode(npimg, cv2.IMREAD_COLOR) + + # Resize the image to match the input the model will accept + img = cv2.resize(img, (64, 64)) + # Reshape the image into shape (1, 64, 64, 3) + img = np.asarray([img]) + + # Get prediction of image from classifier + prediction = np.argmax(asl_cnn_classifier.predict(img), axis=-1) + + # Get the value at index of CATEGORIES + prediction = ASL_CATEGORIES[prediction[0]] + + return flask.render_template('main.html', + prediction=prediction, + filename=filename) + else: + return flask.redirect(flask.request.url) + + # if file: + # # Read image file string data + # filestr = file.read() + + # # Convert string data to np arr + # npimg = np.frombuffer(filestr, np.uint8) + # # Convert np arr to image + # img = cv2.imdecode(npimg, cv2.IMREAD_COLOR) + + # # Resize the image to match the input the model will accept + # img = cv2.resize(img, (64, 64)) + # # Reshape the image into shape (1, 64, 64, 3) + # img = np.asarray([img]) + + # # Get prediction of image from classifier + # prediction = np.argmax(asl_cnn_classifier.predict(img), axis=-1) + + # # Get the value at index of CATEGORIES + # prediction = ASL_CATEGORIES[prediction[0]] + + # return flask.render_template('main.html', + # prediction=prediction, + # image=file) + + return(flask.render_template('main.html')) + + +@app.route('/input_values/', methods=['GET', 'POST']) +def input_values(): + if flask.request.method == 'GET': + # Just render the initial form, to get input + return(flask.render_template('input_values.html')) + + if flask.request.method == 'POST': + # Get the input from the user. + var_one = flask.request.form['input_variable_one'] + var_two = flask.request.form['another-input-variable'] + var_three = flask.request.form['third-input-variable'] + + list_of_inputs = [var_one, var_two, var_three] + + return(flask.render_template('input_values.html', + returned_var_one=var_one, + returned_var_two=var_two, + returned_var_three=var_three, + returned_list=list_of_inputs)) + + return(flask.render_template('input_values.html')) + + +@app.route('/about/') +def about(): + return flask.render_template('about.html') + + +@app.route('/contributors/') +def contributors(): + return flask.render_template('contributors.html') + + + +if __name__ == '__main__': + app.run(debug=True) \ No newline at end of file diff --git a/Flask_Contents/flask-app/models/CATEGORIES.pickle b/Flask_Contents/flask-app/models/CATEGORIES.pickle new file mode 100644 index 0000000..98cebce Binary files /dev/null and b/Flask_Contents/flask-app/models/CATEGORIES.pickle differ diff --git a/Flask_Contents/flask-app/models/cnn1/saved_model.pb b/Flask_Contents/flask-app/models/cnn1/saved_model.pb new file mode 100644 index 0000000..c19ef2f Binary files /dev/null and b/Flask_Contents/flask-app/models/cnn1/saved_model.pb differ diff --git a/Flask_Contents/flask-app/models/cnn1/variables/variables.data-00000-of-00001 b/Flask_Contents/flask-app/models/cnn1/variables/variables.data-00000-of-00001 new file mode 100644 index 0000000..b8a5237 Binary files /dev/null and b/Flask_Contents/flask-app/models/cnn1/variables/variables.data-00000-of-00001 differ diff --git a/Flask_Contents/flask-app/models/cnn1/variables/variables.index b/Flask_Contents/flask-app/models/cnn1/variables/variables.index new file mode 100644 index 0000000..5f412d4 Binary files /dev/null and b/Flask_Contents/flask-app/models/cnn1/variables/variables.index differ diff --git a/Flask_Contents/flask-app/requirements.txt b/Flask_Contents/flask-app/requirements.txt new file mode 100644 index 0000000..d59e95a --- /dev/null +++ b/Flask_Contents/flask-app/requirements.txt @@ -0,0 +1,6 @@ +flask +pandas +gunicorn +sklearn +scikit-image +tensorflow \ No newline at end of file diff --git a/Flask_Contents/flask-app/static/contributors/michelle.jpg b/Flask_Contents/flask-app/static/contributors/michelle.jpg new file mode 100644 index 0000000..4f19bff Binary files /dev/null and b/Flask_Contents/flask-app/static/contributors/michelle.jpg differ diff --git a/Flask_Contents/flask-app/static/contributors/xuejin.jpg b/Flask_Contents/flask-app/static/contributors/xuejin.jpg new file mode 100644 index 0000000..bfb312b Binary files /dev/null and b/Flask_Contents/flask-app/static/contributors/xuejin.jpg differ diff --git a/Flask_Contents/flask-app/static/css/image.css b/Flask_Contents/flask-app/static/css/image.css new file mode 100644 index 0000000..75f1d7e --- /dev/null +++ b/Flask_Contents/flask-app/static/css/image.css @@ -0,0 +1,51 @@ +img { + max-width: 100%; + max-height: 100%; + border-radius: 10px; +} + +.portrait { + height: 80px; + width: 30px; +} + +.landscape { + height: 30px; + width: 80px; +} + +.square { + height: 75px; + width: 75px; +} + +/* Profile imgs */ +.avatar { + vertical-align: middle; + height: 100px; + border-radius: 50%; +} + +.visible, +.hidden { + overflow: hidden; + /* This container should not have padding, borders, etc. */ +} +.visible { + visibility: visible; + opacity: 1; + transition: opacity 2s linear; +} +.hidden { + visibility: hidden; + opacity: 0; + transition: visibility 0s 2s, opacity 2s linear; +} +.visible > div, +.hidden > div { + /* Put any padding, border, min-height, etc. here. */ +} +.hidden > div { + margin-top: -10000px; + transition: margin-top 0s 2s; +} diff --git a/Flask_Contents/flask-app/static/css/image_upload.css b/Flask_Contents/flask-app/static/css/image_upload.css new file mode 100644 index 0000000..d7981fc --- /dev/null +++ b/Flask_Contents/flask-app/static/css/image_upload.css @@ -0,0 +1,77 @@ +#image-upload .bg-secondary { + border: 2px dashed #fff; + background-color: rgba(255, 255, 255, 0.4) !important; + border-radius:16px; + position: relative; + z-index: 10; +} + +#image-upload:hover .bg-secondary +{ + background-color: rgba(0, 0, 0, 0.4) !important; + z-index: 1000; +} +#image-upload:hover div.text-center { + -webkit-filter: brightness(40%); + filter: brightness(40%); + z-index: -1; +} + +#image-upload h2 { + color: black; +} + +#image-upload div.text-center { + position: absolute; + width: 100%; + left: 0; + top: 0; + bottom: 0; + z-index: 100; +} + +.upload-btn { + display: block; + position: relative; + width: 300px; + margin: auto; + margin-bottom: 1rem; + cursor: pointer; + border: 0; + height: 60px; + border-radius: 5px; + outline: 0; + /* text-transform: uppercase; */ + /* font-weight: 700; */ +} + +.upload-btn:after { + transition: 200ms all ease; + background: #fff; + text-align: center; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + display: block; + content: 'Choose File'; + line-height: 60px; + border-radius: 5px; +} + +#cloud_upload { + width: 100%; + max-width: 150px; +} + +#image-upload h3.text-center { + margin-top: 6rem; + font-weight: 100; + color: #000; +} +#image-upload:hover h3.text-center { + margin-top: 6rem; + font-weight: 100; + color: #fff; +} \ No newline at end of file diff --git a/Flask_Contents/flask-app/static/css/profile_card.css b/Flask_Contents/flask-app/static/css/profile_card.css new file mode 100644 index 0000000..979d942 --- /dev/null +++ b/Flask_Contents/flask-app/static/css/profile_card.css @@ -0,0 +1,19 @@ +img.avatar { + height: 250px; + width: 250px; + border-radius: 50%; +} + +.card-body { + width: 80%; + padding: 10px; +} + +div.album { + border-radius: 20px; + padding: 10px; +} + +.silver-bg { + background-color: #c0c0c0; +} diff --git a/Flask_Contents/flask-app/static/css/style.css b/Flask_Contents/flask-app/static/css/style.css new file mode 100644 index 0000000..c00ac30 --- /dev/null +++ b/Flask_Contents/flask-app/static/css/style.css @@ -0,0 +1,145 @@ +.main-wrapper { + height: 100vh; +} + +/* + * Globals + */ + +/* Links */ +a, +a:focus, +a:hover { + color: #fff; +} + +/* Custom default button */ +.btn-secondary, +.btn-secondary:hover, +.btn-secondary:focus { + color: #333; + text-shadow: none; /* Prevent inheritance from `body` */ + background-color: #fff; + border: 0.05rem solid #fff; +} + +/* + * Base structure + */ + +html, +body { + background-color: #D9AFD9; + background-image: linear-gradient(0deg, #D9AFD9 0%, #97D9E1 100%); + background-repeat: no-repeat; + min-height: 100vh; +} + +body { + display: -ms-flexbox; + display: -webkit-box; + display: flex; + -ms-flex-pack: center; + -webkit-box-pack: center; + justify-content: center; + color: #fff; + /* text-shadow: 0 0.05rem 0.1rem rgba(0, 0, 0, 0.5); */ + box-shadow: inset 0 0 5rem rgba(0, 0, 0, 0.5); +} + +.cover-container { + /* max-width: 42em; */ + /* width: 50%; */ +} + +/* + * Header + */ +.masthead { + margin-bottom: 2rem; +} + +.masthead-brand { + margin-bottom: 0; +} + +.nav-masthead .nav-link { + padding: 0.25rem 0; + font-weight: 700; + color: rgba(255, 255, 255, 0.5); + background-color: transparent; + border-bottom: 0.25rem solid transparent; +} + +.nav-masthead .nav-link:hover, +.nav-masthead .nav-link:focus { + border-bottom-color: rgba(255, 255, 255, 0.25); +} + +.nav-masthead .nav-link + .nav-link { + margin-left: 1rem; +} + +.nav-masthead .active { + color: #fff; + border-bottom-color: #fff; +} + +@media (min-width: 48em) { + .masthead-brand { + float: left; + } + .nav-masthead { + float: right; + } +} + +/* + * Cover + */ +.cover { + padding: 0 1.5rem; +} +.cover .btn-lg { + padding: 0.75rem 1.25rem; + font-weight: 700; +} + +/* + * Footer + */ +.mastfoot { + color: rgba(255, 255, 255, 0.5); +} + +/* + * Indenting paragraph + */ +.indent { + text-indent: 50px; +} + +.text-left { + max-width: 800px; +} + +.bg-secondary { + background-color: rgba(255, 255, 255, 0.4) !important; + border-radius:16px; + color: #000; +} + +.bg-secondar p, +.bg-secondar h1.text-center { + font-weight: 100 !important; +} + +.album.py-5.silver-bg.align-items-center.w-100 { + background-color: rgba(255, 255, 255, 0.4) !important; + border-radius:16px; + color: #000; +} + +.card.mb-4.box-shadow.h-100.bg-secondary.align-items-center.w-80 { + max-width: 424px; +} \ No newline at end of file diff --git a/Flask_Contents/flask-app/static/imgs/asl_cheat_sheet.jpg b/Flask_Contents/flask-app/static/imgs/asl_cheat_sheet.jpg new file mode 100644 index 0000000..69ffdd3 Binary files /dev/null and b/Flask_Contents/flask-app/static/imgs/asl_cheat_sheet.jpg differ diff --git a/Flask_Contents/flask-app/static/imgs/cloud_upload.png b/Flask_Contents/flask-app/static/imgs/cloud_upload.png new file mode 100644 index 0000000..816d9cb Binary files /dev/null and b/Flask_Contents/flask-app/static/imgs/cloud_upload.png differ diff --git a/Flask_Contents/flask-app/static/scripts/toggleCheatSheet.js b/Flask_Contents/flask-app/static/scripts/toggleCheatSheet.js new file mode 100644 index 0000000..a0bafb9 --- /dev/null +++ b/Flask_Contents/flask-app/static/scripts/toggleCheatSheet.js @@ -0,0 +1,20 @@ + +// Double Check +$(document).ready(function(){ + console.log("Connected"); +}); + +// Img Toggle jquery +$("#asl_cheat_button").click(function(){ + if($(this).hasClass("sheet_on")){ + $(this).removeClass("sheet_on") + $("#asl_cheat_sheet").removeClass("hidden") + $("#asl_cheat_sheet").addClass("visible") + } + else{ + $(this).addClass("sheet_on") + $("#asl_cheat_sheet").removeClass("visible") + $("#asl_cheat_sheet").addClass("hidden") + } +}); + diff --git a/Flask_Contents/flask-app/templates/about.html b/Flask_Contents/flask-app/templates/about.html new file mode 100644 index 0000000..5b88fdd --- /dev/null +++ b/Flask_Contents/flask-app/templates/about.html @@ -0,0 +1,75 @@ + + + + + + + + + + ASL-Translator + + + +
+
+ +
+ +
+
+

Our Goal

+
+

+ ASL-Translator is a data science project that helps translate + American Sign Language letter into their corresponding alphabetic letter. + The idea of this project is to make it easier to communicate while providing + a resource for those who want to learn some ASL. The input of this project + would be an image and based on the input image, the output would be one of + the twenty six letters or maybe nothing if the image is invalid(Doesn’t have + a valid ASL sign.) +

+
+ + Github Repo » +
+
+ + +
+ + diff --git a/Flask_Contents/flask-app/templates/contributors.html b/Flask_Contents/flask-app/templates/contributors.html new file mode 100644 index 0000000..db74086 --- /dev/null +++ b/Flask_Contents/flask-app/templates/contributors.html @@ -0,0 +1,163 @@ + + + + + + + + + + + ASL-Translator + + + +
+
+ +
+ +
+
+
+

Contributors :)

+

+
+
+ +
+ + + + + + + +
+
+
+
+ Thumbnail [100%x225] +
+

+ Xuejin Gao
+ Studying CS @ Hunter College with interest in ML and AI. +

+
+
+ + +
+ Updated: 11/18/2020 +
+
+
+
+
+
+
+
+
+ Thumbnail [100%x225] +
+

+ Michelle Lucero
+ Studying CS @ Hunter College with interest in ML and WebDev + +

+
+
+ + +
+ Updated: 11/18/2020 +
+
+
+
+
+ +
+ + + + +
+ + diff --git a/Flask_Contents/flask-app/templates/main.html b/Flask_Contents/flask-app/templates/main.html new file mode 100644 index 0000000..6096c9e --- /dev/null +++ b/Flask_Contents/flask-app/templates/main.html @@ -0,0 +1,116 @@ + + + + + + + + + + + + + + + + ASL-Translator + + + +
+
+ +
+ +
+

ASL Image Classifier

+ +
+
+
+ + + + + + {% if prediction and filename %} +
+ +
+

Prediction for input image is: {{ prediction }}

+ {% endif %} +
+ +
+
+ + +
+
+ + +
+ +
+
+ +
+
+
+ + + +
+ + +
+ + + + + + + + + + diff --git a/Flask_Contents/imgs/colgan-asl-logo.jpg b/Flask_Contents/imgs/colgan-asl-logo.jpg new file mode 100644 index 0000000..614dabe Binary files /dev/null and b/Flask_Contents/imgs/colgan-asl-logo.jpg differ