{"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"name":"pose-classifier-v5.ipynb","provenance":[],"collapsed_sections":[]},"kernelspec":{"name":"python3","display_name":"Python 3"},"accelerator":"GPU"},"cells":[{"cell_type":"markdown","metadata":{"id":"jVZj7qrM1EdH","colab_type":"text"},"source":["[✓] Rerun with updated EmotiW dataset\n","\n","[✓] Rerun with updated data generation code\n","\n","### Pose Classifier (v5)\n","\n","This notebook aggregates the pose information over time by averaging the pose keypoints for each frame.\n","\n","Note, in comparison with the previous notebooks, we learned that we were using the wrong dtype for the \"X\" variable. This means we cannot combine with images as we did in previous notebooks because images are uint8 where as normalized pose information is float type.\n","\n","**Best Model (Val Loss): 64LSTM-reg**\n","\n","Epoch 00011: val_loss improved from 1.08561 to 1.03560, saving model to drive/My Drive/checkpoints/pose-classifier-v5.1/cp-0011.h5\n","41/41 [==============================] - 33s 802ms/step - loss: 1.0124 - accuracy: 0.5225 - val_loss: 1.0356 - val_accuracy: 0.4815\n","\n"]},{"cell_type":"code","metadata":{"id":"sNI9YJehDOYd","colab_type":"code","outputId":"f19f849d-4fef-4525-ae1f-d05fb44f1240","executionInfo":{"status":"ok","timestamp":1591036385265,"user_tz":420,"elapsed":22211,"user":{"displayName":"Tom Tom Jin","photoUrl":"","userId":"01893011177174686364"}},"colab":{"base_uri":"https://localhost:8080/","height":122}},"source":["from google.colab import drive\n","drive.mount('/content/drive')\n","\n"],"execution_count":0,"outputs":[{"output_type":"stream","text":["Go to this URL in a browser: https://accounts.google.com/o/oauth2/auth?client_id=947318989803-6bn6qk8qdgf4n4g3pfee6491hc0brc4i.apps.googleusercontent.com&redirect_uri=urn%3aietf%3awg%3aoauth%3a2.0%3aoob&response_type=code&scope=email%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdocs.test%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdrive%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdrive.photos.readonly%20https%3a%2f%2fwww.googleapis.com%2fauth%2fpeopleapi.readonly\n","\n","Enter your authorization code:\n","··········\n","Mounted at /content/drive\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"ryzDii47sEv6","colab_type":"code","colab":{}},"source":["!cp 'drive/My Drive/cs231n-project/datasets/emotiw/train_frames_keypoints.tar.gz' ."],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"2TJ2_a0X9W9h","colab_type":"code","colab":{}},"source":["!tar -xzf train_frames_keypoints.tar.gz"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"W88IR9YcC5oi","colab_type":"code","outputId":"692ae480-26e2-4fde-edd5-c12da243bcd2","executionInfo":{"status":"ok","timestamp":1591036397405,"user_tz":420,"elapsed":11469,"user":{"displayName":"Tom Tom Jin","photoUrl":"","userId":"01893011177174686364"}},"colab":{"base_uri":"https://localhost:8080/","height":34}},"source":["!ls train_frames_keypoints/3 | wc -l"],"execution_count":0,"outputs":[{"output_type":"stream","text":["13248\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"IWIAQddxMo5-","colab_type":"code","colab":{}},"source":["!cp 'drive/My Drive/cs231n-project/datasets/emotiw/val_frames_keypoints.tar.gz' .\n"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"8nohApcF9os7","colab_type":"code","colab":{}},"source":["!tar -xzf val_frames_keypoints.tar.gz"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"Z7dsJIVijnSe","colab_type":"code","outputId":"5c4e7a71-b27a-4f85-f0d7-52b771a84903","executionInfo":{"status":"ok","timestamp":1591036403758,"user_tz":420,"elapsed":17044,"user":{"displayName":"Tom Tom Jin","photoUrl":"","userId":"01893011177174686364"}},"colab":{"base_uri":"https://localhost:8080/","height":306}},"source":["!nvidia-smi"],"execution_count":0,"outputs":[{"output_type":"stream","text":["Mon Jun  1 18:33:21 2020       \n","+-----------------------------------------------------------------------------+\n","| NVIDIA-SMI 440.82       Driver Version: 418.67       CUDA Version: 10.1     |\n","|-------------------------------+----------------------+----------------------+\n","| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |\n","| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |\n","|===============================+======================+======================|\n","|   0  Tesla T4            Off  | 00000000:00:04.0 Off |                    0 |\n","| N/A   46C    P8     9W /  70W |      0MiB / 15079MiB |      0%      Default |\n","+-------------------------------+----------------------+----------------------+\n","                                                                               \n","+-----------------------------------------------------------------------------+\n","| Processes:                                                       GPU Memory |\n","|  GPU       PID   Type   Process name                             Usage      |\n","|=============================================================================|\n","|  No running processes found                                                 |\n","+-----------------------------------------------------------------------------+\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"h34fRdSBQuas","colab_type":"code","colab":{}},"source":["import numpy as np\n","import random\n","import cv2\n","from os import listdir\n","from os.path import isfile, join\n","import os\n","import matplotlib.pyplot as plt\n","import tensorflow as tf\n","\n","\n","class DataGenerator(tf.keras.utils.Sequence):\n","    \"\"\"\n","    Generates keypoint data across each frame\n","    \"\"\"\n","    def __init__(self, keyframe_dir, batch_size=32, frames_to_use=-1, shuffle=True):\n","        self.frames_to_use = frames_to_use\n","        self.batch_size = batch_size\n","        self.keyframe_dir = keyframe_dir\n","        self.shuffle = shuffle\n","        self.classes = self.find_classes()\n","        self.video_names, self.video_map, self.video_to_class, self.num_samples, self.min_frames = self.find_samples()\n","        self.on_epoch_end()\n","        print(f\"Found {self.num_samples} frames belonging to {len(self.video_names)} videos belonging to {len(self.classes)} classes.\")\n","        print(f\"Min frames determined to be {self.min_frames}\")\n","\n","    def find_classes(self):\n","        category_folders = [f for f in listdir(self.keyframe_dir) if not isfile(join(self.keyframe_dir, f))]\n","        return sorted(list(set(category_folders)))\n","\n","    def find_samples(self):\n","        \"\"\"\n","        Returns the following video frame structure:\n","        \"\"\"\n","        num_samples = 0\n","        min_frames = -1\n","        video_map = {}\n","        vid_to_cat = {}\n","        category_folders = [f for f in listdir(self.keyframe_dir) if not isfile(join(self.keyframe_dir, f))]\n","        print(category_folders)\n","        for category_folder in category_folders:\n","            cat_path = join(self.keyframe_dir, category_folder)\n","            frames = [f for f in listdir(cat_path) if isfile(join(cat_path, f))]\n","            for frame in frames:\n","                frame_arr = frame.split(\".mp4_\")\n","                vid_name = frame_arr[0]\n","                if vid_name not in video_map:\n","                    video_map[vid_name] = []\n","                    vid_to_cat[vid_name] = category_folder\n","                video_map[vid_name].append(frame)\n","            \n","            i = 0\n","            for k in video_map.keys():\n","                # make sure the frames for each video are in sorted order\n","                video_map[k] = sorted(video_map[k], key=lambda x: x.split(\".mp4_\")[0] + x.split(\".mp4_\")[1].split(\"_keypoints\")[0].zfill(3))\n","                if min_frames == -1 or len(video_map[k]) < min_frames:\n","                    min_frames = len(video_map[k])\n","\n","        return list(video_map.keys()), video_map, vid_to_cat, len(vid_to_cat), min_frames\n","\n","    def get_body_joints(self, x):\n","        body_parts = [\n","            1, # neck       --\n","            2, # r shoulder\n","            3, # r elbow\n","            4, # r wrist\n","            5, # l shoulder\n","            6, # l elbow\n","            7, # l wrist\n","            9, # r hip\n","            10, # r knee\n","            11, # r ankle\n","            12, # l hip\n","            13, # l knee\n","            14, # l ankle   -- \n","        ]\n","        body_parts_xy = []\n","        for b in body_parts:\n","            body_parts_xy.append(b * 3)\n","            body_parts_xy.append(b * 3 + 1)\n","        return x[body_parts_xy]\n","\n","    def normalize(self, x_input):\n","        # Separate original data into x_list and y_list\n","        lx = []\n","        ly = []\n","        N = len(x_input)\n","        i = 0\n","        while i<N:\n","            lx.append(x_input[i])\n","            ly.append(x_input[i+1])\n","            i+=2\n","        lx = np.array(lx)\n","        ly = np.array(ly)\n","\n","        # Get rid of undetected data (=0)\n","        non_zero_x = []\n","        non_zero_y = []\n","        for i in range(int(N/2)):\n","            if lx[i] != 0:\n","                non_zero_x.append(lx[i])\n","            if ly[i] != 0:\n","                non_zero_y.append(ly[i])\n","        if len(non_zero_x) == 0 or len(non_zero_y) == 0:\n","            return np.array([0] * N)\n","\n","        # Normalization x/y data according to the bounding box\n","        origin_x = np.min(non_zero_x)\n","        origin_y = np.min(non_zero_y)\n","        len_x = np.max(non_zero_x) - np.min(non_zero_x)\n","        len_y = np.max(non_zero_y) - np.min(non_zero_y)\n","        x_new = []\n","        for i in range(int(N/2)):\n","            if (lx[i] + ly[i]) == 0:\n","                x_new.append(-1)\n","                x_new.append(-1)\n","            else:\n","                x_new.append((lx[i] - origin_x) / len_x)\n","                x_new.append((ly[i] - origin_y) / len_y)\n","        return x_new\n","\n","    def __len__(self):\n","        \"\"\"\n","        Denotes the number of batches per epoch\n","        \"\"\"\n","        return int(np.floor(self.num_samples / self.batch_size))\n","\n","    def __getitem__(self, index):\n","        \"\"\"\n","        Generate one batch of data\n","        \"\"\"\n","        video_names = self.video_names[index*self.batch_size:(index+1)*self.batch_size]\n","        num_frames = self.min_frames if self.frames_to_use == -1 else self.frames_to_use\n","        X = np.zeros((len(video_names), num_frames, 13 * 2 + 1), dtype=np.float64)\n","        y = []\n","        i = 0\n","        for vid in video_names:\n","            j = 0\n","            for frame in self.video_map[vid]:\n","                keypoint_file = join(join(self.keyframe_dir, self.video_to_class[vid]), frame)\n","                with open(keypoint_file) as json_file:\n","                    keypoint_data = json.load(json_file)\n","\n","                    # Extract some features from the keypoint data like averaging\n","                    arrs = []\n","\n","                    for person in keypoint_data[\"people\"]:\n","                        # Each person is assigned the label of the video\n","                        kp = np.array(person[\"pose_keypoints_2d\"])\n","                        kp = self.get_body_joints(kp)\n","                        kp = self.normalize(kp)\n","                        arrs.append(kp)\n","                        # if i == 0 and j == 0:\n","                        #     print(kp)\n","                    \n","                    if len(arrs) > 0:\n","                        arrs = np.array(arrs)\n","                        features = []\n","                        features.extend(np.average(arrs, axis=0).tolist())\n","                        features.append(len(keypoint_data[\"people\"]))\n","                        features = np.array(features)\n","                        features[np.isnan(features)] = -1\n","                        X[i, j, :] = np.array(features)\n","                    \n","                j += 1\n","                if j >= num_frames:\n","                    break\n","\n","            y.append(int(self.video_to_class[vid]) - 1)\n","            i += 1\n","        y = np.array(y)\n","        return X, tf.keras.utils.to_categorical(y, num_classes=len(self.classes))\n","\n","    def on_epoch_end(self):\n","        if self.shuffle == True:\n","            np.random.shuffle(self.video_names)\n","\n","\n"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"yQSLMAheB0hg","colab_type":"code","colab":{}},"source":["#\n","# CONFIGURATION\n","#\n","# Define any constants for the model here\n","#\n","\n","IMG_WIDTH = 480\n","IMG_HEIGHT = 320\n","BATCH_SIZE = 64\n","MODEL_NAME = \"pose-classifier-v5\"\n","FRAMES = 12\n"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"a0Q2ZNUPoblv","colab_type":"code","outputId":"70d9e9fa-22dc-4a42-9be1-b1216c2658e5","executionInfo":{"status":"ok","timestamp":1591036408090,"user_tz":420,"elapsed":13166,"user":{"displayName":"Tom Tom Jin","photoUrl":"","userId":"01893011177174686364"}},"colab":{"base_uri":"https://localhost:8080/","height":153}},"source":["import json\n","train_generator = DataGenerator(\"train_frames_keypoints\", frames_to_use=12, batch_size=BATCH_SIZE)\n","validation_generator = DataGenerator(\"val_frames_keypoints\", frames_to_use=12, batch_size=BATCH_SIZE)\n","\n","X, y = train_generator.__getitem__(0)\n","# print(X.shape)\n","# print(y)\n","\n","\n","X, y = validation_generator.__getitem__(0)\n","# print(X.shape)\n","# print(y)"],"execution_count":0,"outputs":[{"output_type":"stream","text":["['1', '3', '2']\n","Found 2661 frames belonging to 2661 videos belonging to 3 classes.\n","Min frames determined to be 7\n","['1', '3', '2']\n","Found 766 frames belonging to 766 videos belonging to 3 classes.\n","Min frames determined to be 7\n"],"name":"stdout"},{"output_type":"stream","text":["/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:117: RuntimeWarning: invalid value encountered in double_scalars\n","/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:118: RuntimeWarning: invalid value encountered in double_scalars\n"],"name":"stderr"}]},{"cell_type":"code","metadata":{"id":"-rIOASlLvZ6R","colab_type":"code","colab":{}},"source":[""],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"XyNMZtSORRT2","colab_type":"code","outputId":"b8b03df4-ea21-4b38-adca-5e34766f9d62","executionInfo":{"status":"ok","timestamp":1591036417391,"user_tz":420,"elapsed":10962,"user":{"displayName":"Tom Tom Jin","photoUrl":"","userId":"01893011177174686364"}},"colab":{"base_uri":"https://localhost:8080/","height":272}},"source":["from pathlib import Path\n","\n","Path(f\"drive/My Drive/checkpoints/{MODEL_NAME}\").mkdir(parents=True, exist_ok=True)\n","checkpoint_path = \"drive/My Drive/checkpoints/\" + MODEL_NAME + \"/cp-{epoch:04d}.h5\"\n","\n","# Create a callback that saves the model's weights every 1 epochs\n","cp_callback = tf.keras.callbacks.ModelCheckpoint(\n","    filepath=checkpoint_path, \n","    verbose=1,\n","    save_weights_only=False,\n","    save_best_only=True,\n","    period=1)\n","\n","def create_model(inputs):\n","    x = tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(32, return_sequences=False, kernel_regularizer=tf.keras.regularizers.l2()))(inputs)\n","    x = tf.keras.layers.Dense(3, activation='softmax', kernel_regularizer=tf.keras.regularizers.l2())(x)\n","\n","    model = tf.keras.Model(inputs=inputs, outputs=x)\n","    model.compile(optimizer='adam',\n","                  loss = 'categorical_crossentropy',\n","                  metrics=['accuracy'])\n","    return model\n","\n","inputs = tf.keras.Input(shape=(FRAMES, 2 * 13 + 1))\n","model = create_model(inputs)\n","model.summary()\n","\n","\n"],"execution_count":0,"outputs":[{"output_type":"stream","text":["WARNING:tensorflow:`period` argument is deprecated. Please use `save_freq` to specify the frequency in number of batches seen.\n","Model: \"model\"\n","_________________________________________________________________\n","Layer (type)                 Output Shape              Param #   \n","=================================================================\n","input_1 (InputLayer)         [(None, 12, 27)]          0         \n","_________________________________________________________________\n","bidirectional (Bidirectional (None, 64)                15360     \n","_________________________________________________________________\n","dense (Dense)                (None, 3)                 195       \n","=================================================================\n","Total params: 15,555\n","Trainable params: 15,555\n","Non-trainable params: 0\n","_________________________________________________________________\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"ml6etaOSaJfk","colab_type":"code","outputId":"9db487b4-fc82-42c9-f855-25938dcab996","executionInfo":{"status":"ok","timestamp":1591036426699,"user_tz":420,"elapsed":13557,"user":{"displayName":"Tom Tom Jin","photoUrl":"","userId":"01893011177174686364"}},"colab":{"base_uri":"https://localhost:8080/","height":85}},"source":["model.evaluate(train_generator, steps = 3)"],"execution_count":0,"outputs":[{"output_type":"stream","text":["/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:117: RuntimeWarning: invalid value encountered in double_scalars\n","/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:118: RuntimeWarning: invalid value encountered in double_scalars\n"],"name":"stderr"},{"output_type":"stream","text":["3/3 [==============================] - 1s 220ms/step - loss: 2.0879 - accuracy: 0.4167\n"],"name":"stdout"},{"output_type":"execute_result","data":{"text/plain":["[2.0879271030426025, 0.4166666567325592]"]},"metadata":{"tags":[]},"execution_count":12}]},{"cell_type":"code","metadata":{"id":"-CbO5XRtRkbc","colab_type":"code","outputId":"1d687730-6575-4df9-c8c5-95ece80374f5","executionInfo":{"status":"ok","timestamp":1591037088349,"user_tz":420,"elapsed":670916,"user":{"displayName":"Tom Tom Jin","photoUrl":"","userId":"01893011177174686364"}},"colab":{"base_uri":"https://localhost:8080/","height":1000}},"source":["import pickle\n","history = model.fit(\n","          train_generator,\n","          epochs=20,\n","          callbacks=[cp_callback],\n","          validation_data=validation_generator\n",")\n","\n","with open(f\"drive/My Drive/checkpoints/{MODEL_NAME}/history.pkl\", 'wb') as handle:\n","    pickle.dump(history.history, handle)\n"],"execution_count":0,"outputs":[{"output_type":"stream","text":["/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:117: RuntimeWarning: invalid value encountered in double_scalars\n","/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:118: RuntimeWarning: invalid value encountered in double_scalars\n"],"name":"stderr"},{"output_type":"stream","text":["Epoch 1/20\n","41/41 [==============================] - ETA: 0s - loss: 1.8346 - accuracy: 0.4375\n","Epoch 00001: val_loss improved from inf to 1.61451, saving model to drive/My Drive/checkpoints/pose-classifier-v5/cp-0001.h5\n","41/41 [==============================] - 32s 787ms/step - loss: 1.8346 - accuracy: 0.4375 - val_loss: 1.6145 - val_accuracy: 0.4503\n","Epoch 2/20\n","41/41 [==============================] - ETA: 0s - loss: 1.4977 - accuracy: 0.4676\n","Epoch 00002: val_loss improved from 1.61451 to 1.38634, saving model to drive/My Drive/checkpoints/pose-classifier-v5/cp-0002.h5\n","41/41 [==============================] - 32s 781ms/step - loss: 1.4977 - accuracy: 0.4676 - val_loss: 1.3863 - val_accuracy: 0.4446\n","Epoch 3/20\n","41/41 [==============================] - ETA: 0s - loss: 1.3014 - accuracy: 0.4813\n","Epoch 00003: val_loss improved from 1.38634 to 1.23450, saving model to drive/My Drive/checkpoints/pose-classifier-v5/cp-0003.h5\n","41/41 [==============================] - 32s 778ms/step - loss: 1.3014 - accuracy: 0.4813 - val_loss: 1.2345 - val_accuracy: 0.4759\n","Epoch 4/20\n","41/41 [==============================] - ETA: 0s - loss: 1.1919 - accuracy: 0.4962\n","Epoch 00004: val_loss improved from 1.23450 to 1.15325, saving model to drive/My Drive/checkpoints/pose-classifier-v5/cp-0004.h5\n","41/41 [==============================] - 32s 778ms/step - loss: 1.1919 - accuracy: 0.4962 - val_loss: 1.1533 - val_accuracy: 0.4688\n","Epoch 5/20\n","41/41 [==============================] - ETA: 0s - loss: 1.1323 - accuracy: 0.4920\n","Epoch 00005: val_loss improved from 1.15325 to 1.15130, saving model to drive/My Drive/checkpoints/pose-classifier-v5/cp-0005.h5\n","41/41 [==============================] - 32s 791ms/step - loss: 1.1323 - accuracy: 0.4920 - val_loss: 1.1513 - val_accuracy: 0.4460\n","Epoch 6/20\n","41/41 [==============================] - ETA: 0s - loss: 1.0879 - accuracy: 0.5122\n","Epoch 00006: val_loss improved from 1.15130 to 1.11265, saving model to drive/My Drive/checkpoints/pose-classifier-v5/cp-0006.h5\n","41/41 [==============================] - 33s 793ms/step - loss: 1.0879 - accuracy: 0.5122 - val_loss: 1.1127 - val_accuracy: 0.4446\n","Epoch 7/20\n","41/41 [==============================] - ETA: 0s - loss: 1.0612 - accuracy: 0.5008\n","Epoch 00007: val_loss did not improve from 1.11265\n","41/41 [==============================] - 33s 799ms/step - loss: 1.0612 - accuracy: 0.5008 - val_loss: 1.1625 - val_accuracy: 0.4247\n","Epoch 8/20\n","41/41 [==============================] - ETA: 0s - loss: 1.0393 - accuracy: 0.5316\n","Epoch 00008: val_loss improved from 1.11265 to 1.10297, saving model to drive/My Drive/checkpoints/pose-classifier-v5/cp-0008.h5\n","41/41 [==============================] - 33s 796ms/step - loss: 1.0393 - accuracy: 0.5316 - val_loss: 1.1030 - val_accuracy: 0.4659\n","Epoch 9/20\n","41/41 [==============================] - ETA: 0s - loss: 1.0267 - accuracy: 0.5347\n","Epoch 00009: val_loss did not improve from 1.10297\n","41/41 [==============================] - 33s 795ms/step - loss: 1.0267 - accuracy: 0.5347 - val_loss: 1.1162 - val_accuracy: 0.4219\n","Epoch 10/20\n","41/41 [==============================] - ETA: 0s - loss: 1.0189 - accuracy: 0.5339\n","Epoch 00010: val_loss improved from 1.10297 to 1.07944, saving model to drive/My Drive/checkpoints/pose-classifier-v5/cp-0010.h5\n","41/41 [==============================] - 33s 799ms/step - loss: 1.0189 - accuracy: 0.5339 - val_loss: 1.0794 - val_accuracy: 0.4631\n","Epoch 11/20\n","41/41 [==============================] - ETA: 0s - loss: 1.0147 - accuracy: 0.5217\n","Epoch 00011: val_loss did not improve from 1.07944\n","41/41 [==============================] - 33s 809ms/step - loss: 1.0147 - accuracy: 0.5217 - val_loss: 1.0857 - val_accuracy: 0.4517\n","Epoch 12/20\n","41/41 [==============================] - ETA: 0s - loss: 1.0081 - accuracy: 0.5217\n","Epoch 00012: val_loss did not improve from 1.07944\n","41/41 [==============================] - 33s 807ms/step - loss: 1.0081 - accuracy: 0.5217 - val_loss: 1.1158 - val_accuracy: 0.4006\n","Epoch 13/20\n","41/41 [==============================] - ETA: 0s - loss: 0.9927 - accuracy: 0.5381\n","Epoch 00013: val_loss improved from 1.07944 to 1.06208, saving model to drive/My Drive/checkpoints/pose-classifier-v5/cp-0013.h5\n","41/41 [==============================] - 33s 793ms/step - loss: 0.9927 - accuracy: 0.5381 - val_loss: 1.0621 - val_accuracy: 0.4517\n","Epoch 14/20\n","41/41 [==============================] - ETA: 0s - loss: 0.9867 - accuracy: 0.5415\n","Epoch 00014: val_loss did not improve from 1.06208\n","41/41 [==============================] - 33s 794ms/step - loss: 0.9867 - accuracy: 0.5415 - val_loss: 1.0978 - val_accuracy: 0.4375\n","Epoch 15/20\n","41/41 [==============================] - ETA: 0s - loss: 0.9863 - accuracy: 0.5488\n","Epoch 00015: val_loss did not improve from 1.06208\n","41/41 [==============================] - 32s 789ms/step - loss: 0.9863 - accuracy: 0.5488 - val_loss: 1.0776 - val_accuracy: 0.4503\n","Epoch 16/20\n","41/41 [==============================] - ETA: 0s - loss: 0.9807 - accuracy: 0.5492\n","Epoch 00016: val_loss did not improve from 1.06208\n","41/41 [==============================] - 32s 770ms/step - loss: 0.9807 - accuracy: 0.5492 - val_loss: 1.1059 - val_accuracy: 0.4134\n","Epoch 17/20\n","41/41 [==============================] - ETA: 0s - loss: 0.9742 - accuracy: 0.5507\n","Epoch 00017: val_loss did not improve from 1.06208\n","41/41 [==============================] - 31s 762ms/step - loss: 0.9742 - accuracy: 0.5507 - val_loss: 1.1051 - val_accuracy: 0.4134\n","Epoch 18/20\n","41/41 [==============================] - ETA: 0s - loss: 0.9673 - accuracy: 0.5575\n","Epoch 00018: val_loss did not improve from 1.06208\n","41/41 [==============================] - 31s 768ms/step - loss: 0.9673 - accuracy: 0.5575 - val_loss: 1.1235 - val_accuracy: 0.4176\n","Epoch 19/20\n","41/41 [==============================] - ETA: 0s - loss: 0.9633 - accuracy: 0.5598\n","Epoch 00019: val_loss did not improve from 1.06208\n","41/41 [==============================] - 31s 760ms/step - loss: 0.9633 - accuracy: 0.5598 - val_loss: 1.1081 - val_accuracy: 0.4233\n","Epoch 20/20\n","41/41 [==============================] - ETA: 0s - loss: 0.9567 - accuracy: 0.5777\n","Epoch 00020: val_loss did not improve from 1.06208\n","41/41 [==============================] - 33s 796ms/step - loss: 0.9567 - accuracy: 0.5777 - val_loss: 1.0877 - val_accuracy: 0.4446\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"UC4MPEze3rf5","colab_type":"code","outputId":"be0c1fe6-37b4-4945-a3a9-dd64ad3a57b5","executionInfo":{"status":"ok","timestamp":1591037088886,"user_tz":420,"elapsed":671055,"user":{"displayName":"Tom Tom Jin","photoUrl":"","userId":"01893011177174686364"}},"colab":{"base_uri":"https://localhost:8080/","height":513}},"source":["acc = history.history['accuracy']\n","val_acc = history.history['val_accuracy']\n","\n","loss = history.history['loss']\n","val_loss = history.history['val_loss']\n","\n","\n","plt.figure(figsize=(8, 8))\n","plt.subplot(2, 1, 1)\n","plt.plot(acc, label='Training Accuracy')\n","plt.plot(val_acc, label='Validation Accuracy')\n","plt.legend(loc='lower right')\n","plt.ylabel('Accuracy')\n","plt.title('Training and Validation Accuracy')\n","\n","plt.subplot(2, 1, 2)\n","plt.plot(loss, label='Training Loss')\n","plt.plot(val_loss, label='Validation Loss')\n","plt.legend(loc='upper right')\n","plt.ylabel('Cross Entropy')\n","plt.title('Training and Validation Loss')\n","plt.xlabel('epoch')\n","plt.show()\n"],"execution_count":0,"outputs":[{"output_type":"display_data","data":{"image/png":"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\n","text/plain":["<Figure size 576x576 with 2 Axes>"]},"metadata":{"tags":[],"needs_background":"light"}}]},{"cell_type":"markdown","metadata":{"id":"fmLevS74-v6j","colab_type":"text"},"source":["### Let's try more neurons?"]},{"cell_type":"code","metadata":{"id":"a2pU3Jxi-4w4","colab_type":"code","colab":{}},"source":["#\n","# CONFIGURATION\n","#\n","# Define any constants for the model here\n","#\n","\n","IMG_WIDTH = 480\n","IMG_HEIGHT = 320\n","BATCH_SIZE = 64\n","MODEL_NAME = \"pose-classifier-v5.1\"\n","FRAMES = 12\n"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"rPM3-HoE9qFx","colab_type":"code","outputId":"5cd83415-bd91-433e-d88b-8a07c659ca09","executionInfo":{"status":"ok","timestamp":1591037089231,"user_tz":420,"elapsed":666778,"user":{"displayName":"Tom Tom Jin","photoUrl":"","userId":"01893011177174686364"}},"colab":{"base_uri":"https://localhost:8080/","height":272}},"source":["from pathlib import Path\n","\n","Path(f\"drive/My Drive/checkpoints/{MODEL_NAME}\").mkdir(parents=True, exist_ok=True)\n","checkpoint_path = \"drive/My Drive/checkpoints/\" + MODEL_NAME + \"/cp-{epoch:04d}.h5\"\n","\n","# Create a callback that saves the model's weights every 1 epochs\n","cp_callback = tf.keras.callbacks.ModelCheckpoint(\n","    filepath=checkpoint_path, \n","    verbose=1,\n","    save_weights_only=False,\n","    save_best_only=True,\n","    period=1)\n","\n","def create_model(inputs):\n","    x = tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(64, return_sequences=False, kernel_regularizer=tf.keras.regularizers.l2()))(inputs)\n","    x = tf.keras.layers.Dense(3, activation='softmax', kernel_regularizer=tf.keras.regularizers.l2())(x)\n","\n","    model = tf.keras.Model(inputs=inputs, outputs=x)\n","    model.compile(optimizer='adam',\n","                  loss = 'categorical_crossentropy',\n","                  metrics=['accuracy'])\n","    return model\n","\n","inputs = tf.keras.Input(shape=(FRAMES, 2 * 13 + 1))\n","model = create_model(inputs)\n","model.summary()\n","\n"],"execution_count":0,"outputs":[{"output_type":"stream","text":["WARNING:tensorflow:`period` argument is deprecated. Please use `save_freq` to specify the frequency in number of batches seen.\n","Model: \"model_1\"\n","_________________________________________________________________\n","Layer (type)                 Output Shape              Param #   \n","=================================================================\n","input_2 (InputLayer)         [(None, 12, 27)]          0         \n","_________________________________________________________________\n","bidirectional_1 (Bidirection (None, 128)               47104     \n","_________________________________________________________________\n","dense_1 (Dense)              (None, 3)                 387       \n","=================================================================\n","Total params: 47,491\n","Trainable params: 47,491\n","Non-trainable params: 0\n","_________________________________________________________________\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"jm3eUcVW-_n_","colab_type":"code","outputId":"9b3e5b83-83f4-4f46-dc3d-404e21cb9c71","executionInfo":{"status":"ok","timestamp":1591037755629,"user_tz":420,"elapsed":1331159,"user":{"displayName":"Tom Tom Jin","photoUrl":"","userId":"01893011177174686364"}},"colab":{"base_uri":"https://localhost:8080/","height":1000}},"source":["\n","\n","import pickle\n","history = model.fit(\n","          train_generator,\n","          epochs=20,\n","          callbacks=[cp_callback],\n","          validation_data=validation_generator\n",")\n","\n","with open(f\"drive/My Drive/checkpoints/{MODEL_NAME}/history.pkl\", 'wb') as handle:\n","    pickle.dump(history.history, handle)\n","\n","\n","acc = history.history['accuracy']\n","val_acc = history.history['val_accuracy']\n","\n","loss = history.history['loss']\n","val_loss = history.history['val_loss']\n","\n","\n","plt.figure(figsize=(8, 8))\n","plt.subplot(2, 1, 1)\n","plt.plot(acc, label='Training Accuracy')\n","plt.plot(val_acc, label='Validation Accuracy')\n","plt.legend(loc='lower right')\n","plt.ylabel('Accuracy')\n","plt.title('Training and Validation Accuracy')\n","\n","plt.subplot(2, 1, 2)\n","plt.plot(loss, label='Training Loss')\n","plt.plot(val_loss, label='Validation Loss')\n","plt.legend(loc='upper right')\n","plt.ylabel('Cross Entropy')\n","plt.title('Training and Validation Loss')\n","plt.xlabel('epoch')\n","plt.show()\n"],"execution_count":0,"outputs":[{"output_type":"stream","text":["/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:117: RuntimeWarning: invalid value encountered in double_scalars\n","/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py:118: RuntimeWarning: invalid value encountered in double_scalars\n"],"name":"stderr"},{"output_type":"stream","text":["Epoch 1/20\n","41/41 [==============================] - ETA: 0s - loss: 1.8371 - accuracy: 0.4345\n","Epoch 00001: val_loss improved from inf to 1.55400, saving model to drive/My Drive/checkpoints/pose-classifier-v5.1/cp-0001.h5\n","41/41 [==============================] - 32s 788ms/step - loss: 1.8371 - accuracy: 0.4345 - val_loss: 1.5540 - val_accuracy: 0.4531\n","Epoch 2/20\n","41/41 [==============================] - ETA: 0s - loss: 1.4188 - accuracy: 0.4794\n","Epoch 00002: val_loss improved from 1.55400 to 1.32161, saving model to drive/My Drive/checkpoints/pose-classifier-v5.1/cp-0002.h5\n","41/41 [==============================] - 33s 796ms/step - loss: 1.4188 - accuracy: 0.4794 - val_loss: 1.3216 - val_accuracy: 0.4560\n","Epoch 3/20\n","41/41 [==============================] - ETA: 0s - loss: 1.2208 - accuracy: 0.4931\n","Epoch 00003: val_loss improved from 1.32161 to 1.18274, saving model to drive/My Drive/checkpoints/pose-classifier-v5.1/cp-0003.h5\n","41/41 [==============================] - 32s 793ms/step - loss: 1.2208 - accuracy: 0.4931 - val_loss: 1.1827 - val_accuracy: 0.4631\n","Epoch 4/20\n","41/41 [==============================] - ETA: 0s - loss: 1.1319 - accuracy: 0.5023\n","Epoch 00004: val_loss improved from 1.18274 to 1.16923, saving model to drive/My Drive/checkpoints/pose-classifier-v5.1/cp-0004.h5\n","41/41 [==============================] - 33s 795ms/step - loss: 1.1319 - accuracy: 0.5023 - val_loss: 1.1692 - val_accuracy: 0.4304\n","Epoch 5/20\n","41/41 [==============================] - ETA: 0s - loss: 1.0894 - accuracy: 0.5057\n","Epoch 00005: val_loss improved from 1.16923 to 1.14861, saving model to drive/My Drive/checkpoints/pose-classifier-v5.1/cp-0005.h5\n","41/41 [==============================] - 32s 789ms/step - loss: 1.0894 - accuracy: 0.5057 - val_loss: 1.1486 - val_accuracy: 0.4702\n","Epoch 6/20\n","41/41 [==============================] - ETA: 0s - loss: 1.0588 - accuracy: 0.5183\n","Epoch 00006: val_loss improved from 1.14861 to 1.11550, saving model to drive/My Drive/checkpoints/pose-classifier-v5.1/cp-0006.h5\n","41/41 [==============================] - 33s 801ms/step - loss: 1.0588 - accuracy: 0.5183 - val_loss: 1.1155 - val_accuracy: 0.4517\n","Epoch 7/20\n","41/41 [==============================] - ETA: 0s - loss: 1.0394 - accuracy: 0.5183\n","Epoch 00007: val_loss improved from 1.11550 to 1.11073, saving model to drive/My Drive/checkpoints/pose-classifier-v5.1/cp-0007.h5\n","41/41 [==============================] - 33s 807ms/step - loss: 1.0394 - accuracy: 0.5183 - val_loss: 1.1107 - val_accuracy: 0.4858\n","Epoch 8/20\n","41/41 [==============================] - ETA: 0s - loss: 1.0322 - accuracy: 0.5301\n","Epoch 00008: val_loss improved from 1.11073 to 1.08561, saving model to drive/My Drive/checkpoints/pose-classifier-v5.1/cp-0008.h5\n","41/41 [==============================] - 33s 803ms/step - loss: 1.0322 - accuracy: 0.5301 - val_loss: 1.0856 - val_accuracy: 0.4446\n","Epoch 9/20\n","41/41 [==============================] - ETA: 0s - loss: 1.0185 - accuracy: 0.5263\n","Epoch 00009: val_loss did not improve from 1.08561\n","41/41 [==============================] - 33s 807ms/step - loss: 1.0185 - accuracy: 0.5263 - val_loss: 1.1138 - val_accuracy: 0.4403\n","Epoch 10/20\n","41/41 [==============================] - ETA: 0s - loss: 1.0127 - accuracy: 0.5274\n","Epoch 00010: val_loss did not improve from 1.08561\n","41/41 [==============================] - 33s 807ms/step - loss: 1.0127 - accuracy: 0.5274 - val_loss: 1.1283 - val_accuracy: 0.4205\n","Epoch 11/20\n","41/41 [==============================] - ETA: 0s - loss: 1.0124 - accuracy: 0.5225\n","Epoch 00011: val_loss improved from 1.08561 to 1.03560, saving model to drive/My Drive/checkpoints/pose-classifier-v5.1/cp-0011.h5\n","41/41 [==============================] - 33s 802ms/step - loss: 1.0124 - accuracy: 0.5225 - val_loss: 1.0356 - val_accuracy: 0.4815\n","Epoch 12/20\n","41/41 [==============================] - ETA: 0s - loss: 0.9941 - accuracy: 0.5400\n","Epoch 00012: val_loss did not improve from 1.03560\n","41/41 [==============================] - 33s 797ms/step - loss: 0.9941 - accuracy: 0.5400 - val_loss: 1.1706 - val_accuracy: 0.4034\n","Epoch 13/20\n","41/41 [==============================] - ETA: 0s - loss: 1.0082 - accuracy: 0.5210\n","Epoch 00013: val_loss did not improve from 1.03560\n","41/41 [==============================] - 33s 798ms/step - loss: 1.0082 - accuracy: 0.5210 - val_loss: 1.0813 - val_accuracy: 0.4602\n","Epoch 14/20\n","41/41 [==============================] - ETA: 0s - loss: 0.9984 - accuracy: 0.5343\n","Epoch 00014: val_loss did not improve from 1.03560\n","41/41 [==============================] - 33s 795ms/step - loss: 0.9984 - accuracy: 0.5343 - val_loss: 1.0599 - val_accuracy: 0.4730\n","Epoch 15/20\n","41/41 [==============================] - ETA: 0s - loss: 0.9849 - accuracy: 0.5530\n","Epoch 00015: val_loss did not improve from 1.03560\n","41/41 [==============================] - 33s 794ms/step - loss: 0.9849 - accuracy: 0.5530 - val_loss: 1.0736 - val_accuracy: 0.4673\n","Epoch 16/20\n","41/41 [==============================] - ETA: 0s - loss: 0.9772 - accuracy: 0.5473\n","Epoch 00016: val_loss did not improve from 1.03560\n","41/41 [==============================] - 32s 789ms/step - loss: 0.9772 - accuracy: 0.5473 - val_loss: 1.1010 - val_accuracy: 0.4119\n","Epoch 17/20\n","41/41 [==============================] - ETA: 0s - loss: 0.9784 - accuracy: 0.5480\n","Epoch 00017: val_loss did not improve from 1.03560\n","41/41 [==============================] - 32s 774ms/step - loss: 0.9784 - accuracy: 0.5480 - val_loss: 1.0663 - val_accuracy: 0.4531\n","Epoch 18/20\n","41/41 [==============================] - ETA: 0s - loss: 0.9656 - accuracy: 0.5499\n","Epoch 00018: val_loss did not improve from 1.03560\n","41/41 [==============================] - 31s 755ms/step - loss: 0.9656 - accuracy: 0.5499 - val_loss: 1.1411 - val_accuracy: 0.3920\n","Epoch 19/20\n","41/41 [==============================] - ETA: 0s - loss: 0.9653 - accuracy: 0.5614\n","Epoch 00019: val_loss did not improve from 1.03560\n","41/41 [==============================] - 32s 769ms/step - loss: 0.9653 - accuracy: 0.5614 - val_loss: 1.1075 - val_accuracy: 0.4020\n","Epoch 20/20\n","41/41 [==============================] - ETA: 0s - loss: 0.9633 - accuracy: 0.5583\n","Epoch 00020: val_loss did not improve from 1.03560\n","41/41 [==============================] - 33s 796ms/step - loss: 0.9633 - accuracy: 0.5583 - val_loss: 1.0509 - val_accuracy: 0.4574\n"],"name":"stdout"},{"output_type":"display_data","data":{"image/png":"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\n","text/plain":["<Figure size 576x576 with 2 Axes>"]},"metadata":{"tags":[],"needs_background":"light"}}]},{"cell_type":"markdown","metadata":{"id":"R3nejpV8_I0g","colab_type":"text"},"source":["### Transfer Best Model to GCS"]},{"cell_type":"code","metadata":{"id":"9IAo6mpXAUc-","colab_type":"code","outputId":"1bb0a72b-864b-4fc5-83b2-ff1ac6ca5170","executionInfo":{"status":"ok","timestamp":1590966727662,"user_tz":420,"elapsed":26885,"user":{"displayName":"Tom Tom Jin","photoUrl":"","userId":"01893011177174686364"}},"colab":{"base_uri":"https://localhost:8080/","height":122}},"source":["from google.colab import drive\n","drive.mount('/content/drive')"],"execution_count":0,"outputs":[{"output_type":"stream","text":["Go to this URL in a browser: https://accounts.google.com/o/oauth2/auth?client_id=947318989803-6bn6qk8qdgf4n4g3pfee6491hc0brc4i.apps.googleusercontent.com&redirect_uri=urn%3aietf%3awg%3aoauth%3a2.0%3aoob&response_type=code&scope=email%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdocs.test%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdrive%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdrive.photos.readonly%20https%3a%2f%2fwww.googleapis.com%2fauth%2fpeopleapi.readonly\n","\n","Enter your authorization code:\n","··········\n","Mounted at /content/drive\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"MwwWzH9mDAJc","colab_type":"code","outputId":"1ac4ea86-7365-4681-cbd7-a79dfe71c796","executionInfo":{"status":"ok","timestamp":1591037966690,"user_tz":420,"elapsed":39581,"user":{"displayName":"Tom Tom Jin","photoUrl":"","userId":"01893011177174686364"}},"colab":{"base_uri":"https://localhost:8080/","height":102}},"source":["\n","\n","from google.colab import auth\n","auth.authenticate_user()\n","project_id = 'calm-depot-274104'\n","!gcloud config set project {project_id}\n","!gsutil ls\n","\n","# !gsutil -m cp -r drive/My\\ Drive/checkpoints/pose-classifier-v5.1/m1.h5 gs://cs231n-emotiw/models/pose-classifier-bestloss-64lstm-0.01reg.h5\n","\n","# Upload the best loss model\n","!gsutil -m cp -r drive/My\\ Drive/checkpoints/pose-classifier-v5.1/cp-0011.h5 gs://cs231n-emotiw/models/pose-classifier-64lstm-0.01reg.h5"],"execution_count":0,"outputs":[{"output_type":"stream","text":["Updated property [core/project].\n","gs://cs231n-emotiw/\n","Copying file://drive/My Drive/checkpoints/pose-classifier-v5.1/cp-0011.h5 [Content-Type=application/octet-stream]...\n","\\\n","Operation completed over 1 objects/598.5 KiB.                                    \n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"55eNpZve_hwV","colab_type":"code","colab":{}},"source":[""],"execution_count":0,"outputs":[]}]}