{ "cells": [ { "cell_type": "code", "execution_count": 31, "metadata": { "execution": { "iopub.execute_input": "2024-07-03T15:11:14.378449Z", "iopub.status.busy": "2024-07-03T15:11:14.377832Z", "iopub.status.idle": "2024-07-03T15:11:14.390064Z", "shell.execute_reply": "2024-07-03T15:11:14.389405Z", "shell.execute_reply.started": "2024-07-03T15:11:14.378415Z" } }, "outputs": [], "source": [ "import os\n", "import pandas as pd\n", "import numpy as np\n", "import cv2\n", "import time\n", "\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "%matplotlib inline\n", "\n", "import random\n", "\n", "from tqdm.notebook import tqdm as pbar\n", "\n", "import tensorflow as tf\n", "from tensorflow.keras.preprocessing.image import ImageDataGenerator\n", "from tensorflow.keras.applications.vgg16 import VGG16\n", "from tensorflow.keras.applications import VGG19\n", "from tensorflow.keras.layers import Dense, Dropout, Flatten, GlobalAveragePooling2D, BatchNormalization\n", "from tensorflow.keras.models import Sequential, Model\n", "from tensorflow.keras.optimizers import Adam, schedules\n", "from sklearn.metrics import confusion_matrix, classification_report, roc_auc_score\n", "from keras.callbacks import EarlyStopping, ModelCheckpoint, ReduceLROnPlateau\n", "from sklearn.model_selection import train_test_split" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "execution": { "iopub.execute_input": "2024-07-03T14:27:16.194902Z", "iopub.status.busy": "2024-07-03T14:27:16.194362Z", "iopub.status.idle": "2024-07-03T14:27:16.199495Z", "shell.execute_reply": "2024-07-03T14:27:16.198504Z", "shell.execute_reply.started": "2024-07-03T14:27:16.194874Z" } }, "outputs": [], "source": [ "dataset_dir = '/kaggle/input/faceexpression-dp'\n", "image_dir = '/kaggle/input/faceexpression-dp/dataset'\n", "csv_dir = os.path.join(dataset_dir,'data.csv')" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "execution": { "iopub.execute_input": "2024-07-03T14:27:16.201274Z", "iopub.status.busy": "2024-07-03T14:27:16.200895Z", "iopub.status.idle": "2024-07-03T14:27:16.228373Z", "shell.execute_reply": "2024-07-03T14:27:16.227507Z", "shell.execute_reply.started": "2024-07-03T14:27:16.201238Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "/kaggle/input/faceexpression-dp\n", "/kaggle/input/faceexpression-dp/dataset\n", "/kaggle/input/faceexpression-dp/data.csv\n" ] } ], "source": [ "print(dataset_dir)\n", "print(image_dir)\n", "print(csv_dir)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "execution": { "iopub.execute_input": "2024-07-03T14:27:16.231711Z", "iopub.status.busy": "2024-07-03T14:27:16.231056Z", "iopub.status.idle": "2024-07-03T14:27:16.293864Z", "shell.execute_reply": "2024-07-03T14:27:16.293049Z", "shell.execute_reply.started": "2024-07-03T14:27:16.231684Z" } }, "outputs": [], "source": [ "data = pd.read_csv(csv_dir,index_col=0)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "execution": { "iopub.execute_input": "2024-07-03T14:27:16.295382Z", "iopub.status.busy": "2024-07-03T14:27:16.295017Z", "iopub.status.idle": "2024-07-03T14:27:16.302507Z", "shell.execute_reply": "2024-07-03T14:27:16.301362Z", "shell.execute_reply.started": "2024-07-03T14:27:16.295349Z" } }, "outputs": [ { "data": { "text/plain": [ "(15453, 2)" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data.shape" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "execution": { "iopub.execute_input": "2024-07-03T14:27:16.304634Z", "iopub.status.busy": "2024-07-03T14:27:16.303813Z", "iopub.status.idle": "2024-07-03T14:27:16.345678Z", "shell.execute_reply": "2024-07-03T14:27:16.344850Z", "shell.execute_reply.started": "2024-07-03T14:27:16.304605Z" } }, "outputs": [], "source": [ "data['path'] = data['path'].apply(lambda x: os.path.join('/kaggle/input/faceexpression-dp/dataset', x))" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "execution": { "iopub.execute_input": "2024-07-03T14:27:16.347048Z", "iopub.status.busy": "2024-07-03T14:27:16.346748Z", "iopub.status.idle": "2024-07-03T14:27:16.360262Z", "shell.execute_reply": "2024-07-03T14:27:16.359205Z", "shell.execute_reply.started": "2024-07-03T14:27:16.347015Z" } }, "outputs": [ { "data": { "text/html": [ "
| \n", " | path | \n", "label | \n", "
|---|---|---|
| 0 | \n", "/kaggle/input/faceexpression-dp/dataset/Surpri... | \n", "Surprise | \n", "
| 1 | \n", "/kaggle/input/faceexpression-dp/dataset/Surpri... | \n", "Surprise | \n", "
| 2 | \n", "/kaggle/input/faceexpression-dp/dataset/Surpri... | \n", "Surprise | \n", "
| 3 | \n", "/kaggle/input/faceexpression-dp/dataset/Surpri... | \n", "Surprise | \n", "
| 4 | \n", "/kaggle/input/faceexpression-dp/dataset/Surpri... | \n", "Surprise | \n", "