diff --git a/1-first-project/Abgabe.ipynb b/1-first-project/Abgabe.ipynb index 9c62eea..bfb02c1 100644 --- a/1-first-project/Abgabe.ipynb +++ b/1-first-project/Abgabe.ipynb @@ -2,8 +2,8 @@ "cells": [ { "cell_type": "code", - "execution_count": null, - "id": "5046da60", + "execution_count": 1, + "id": "25366fc5", "metadata": {}, "outputs": [], "source": [ @@ -13,7 +13,7 @@ "\n", "pickle_file = 'data.pickle'\n", "\n", - "create_new = True\n", + "create_new = False\n", "checkpoint_path = \"training_1/cp.ckpt\"\n", "checkpoint_dir = os.path.dirname(checkpoint_path)\n", "\n", @@ -27,8 +27,19 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "52925985", + "execution_count": 2, + "id": "0394ccfe", + "metadata": {}, + "outputs": [], + "source": [ + "os.environ['TF_FORCE_GPU_ALLOW_GROWTH'] = 'true' # this is required\n", + "os.environ['CUDA_VISIBLE_DEVICES'] = '2' # set to '0' for GPU0, '1' for GPU1 or '2' for GPU2. Check \"gpustat\" in a terminal." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "de4b0575", "metadata": {}, "outputs": [], "source": [ @@ -56,8 +67,8 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "3dc191e7", + "execution_count": 4, + "id": "fb2cbb23", "metadata": {}, "outputs": [], "source": [ @@ -69,8 +80,8 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "858d807e", + "execution_count": 5, + "id": "da88ad64", "metadata": {}, "outputs": [], "source": [ @@ -86,10 +97,19 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "0885776a", + "execution_count": 6, + "id": "e0eb540b", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Loading data...\n", + "data.pickle found...\n" + ] + } + ], "source": [ "import os\n", "def load_data() -> list:\n", @@ -109,8 +129,8 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "4ec7f36a", + "execution_count": 7, + "id": "06d7c640", "metadata": {}, "outputs": [], "source": [ @@ -165,8 +185,8 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "631fedbc", + "execution_count": 8, + "id": "4d60cf83", "metadata": {}, "outputs": [], "source": [ @@ -181,8 +201,8 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "c86572fb", + "execution_count": 9, + "id": "e9ee34bc", "metadata": {}, "outputs": [], "source": [ @@ -211,8 +231,8 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "875a8179", + "execution_count": 10, + "id": "435cc54c", "metadata": {}, "outputs": [], "source": [ @@ -230,8 +250,8 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "084feef0", + "execution_count": 11, + "id": "f521d549", "metadata": {}, "outputs": [], "source": [ @@ -248,8 +268,8 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "ab674796", + "execution_count": 12, + "id": "c0d35f7e", "metadata": {}, "outputs": [], "source": [ @@ -277,10 +297,25 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "cb1866fc", + "execution_count": 13, + "id": "9972009a", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Preprocessing...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 26179/26179 [01:29<00:00, 291.28it/s]\n" + ] + } + ], "source": [ "def preproc(d):\n", " flist = {} \n", @@ -319,10 +354,18 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "12ec5a1a", + "execution_count": 14, + "id": "d65fcf35", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Truncating...\n" + ] + } + ], "source": [ "def throw(pdata):\n", " llist = pd.Series([len(x['data']) for x in pdata])\n", @@ -341,10 +384,32 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "44aaa509", + "execution_count": 15, + "id": "e3b48487", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 19%|█▉ | 3717/19640 [00:00<00:00, 18600.96it/s]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Padding...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 19640/19640 [00:01<00:00, 18565.30it/s]\n" + ] + } + ], "source": [ "from tensorflow.keras.preprocessing.sequence import pad_sequences\n", "# ltpdata = []\n", @@ -361,8 +426,8 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "594a3d76", + "execution_count": 16, + "id": "ba0c9798", "metadata": {}, "outputs": [], "source": [ @@ -405,8 +470,8 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "e63d8c6a", + "execution_count": 17, + "id": "08d775aa", "metadata": {}, "outputs": [], "source": [ @@ -438,21 +503,8 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "8ba620e1", - "metadata": { - "tags": [] - }, - "outputs": [], - "source": [ - "os.environ['TF_FORCE_GPU_ALLOW_GROWTH'] = 'true' # this is required\n", - "os.environ['CUDA_VISIBLE_DEVICES'] = '0' # set to '0' for GPU0, '1' for GPU1 or '2' for GPU2. Check \"gpustat\" in a terminal." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "4449465c", + "execution_count": 18, + "id": "0666829a", "metadata": {}, "outputs": [], "source": [ @@ -476,12 +528,22 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "f36d7904", + "execution_count": 19, + "id": "adfe695d", "metadata": { "tags": [] }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Loaded weights...\n", + "CPU times: user 400 ms, sys: 145 ms, total: 545 ms\n", + "Wall time: 573 ms\n" + ] + } + ], "source": [ "%%time\n", "if not os.path.isdir(checkpoint_dir) or create_new:\n", @@ -495,7 +557,7 @@ }, { "cell_type": "markdown", - "id": "45d3110f", + "id": "35a8741f", "metadata": {}, "source": [ "# Evaluation" @@ -503,8 +565,8 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "e05ce2ac", + "execution_count": 20, + "id": "f0fa25f6", "metadata": {}, "outputs": [], "source": [ @@ -514,10 +576,90 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "8b2f0353", + "execution_count": 21, + "id": "fc983eae", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " precision recall f1-score support\n", + "\n", + " A 0.94 0.90 0.92 52\n", + " B 0.86 0.79 0.83 24\n", + " C 0.74 0.67 0.70 93\n", + " D 0.94 0.91 0.92 65\n", + " E 1.00 0.71 0.83 14\n", + " F 0.87 0.89 0.88 38\n", + " G 0.97 0.88 0.92 67\n", + " H 0.93 0.90 0.91 29\n", + " I 0.70 0.81 0.75 96\n", + " J 0.88 0.88 0.88 101\n", + " K 0.81 0.85 0.83 60\n", + " L 0.86 0.78 0.82 92\n", + " M 0.83 0.87 0.85 55\n", + " N 0.89 0.89 0.89 82\n", + " O 0.67 0.76 0.71 80\n", + " P 0.64 0.53 0.58 55\n", + " Q 0.90 1.00 0.95 36\n", + " R 0.95 0.93 0.94 42\n", + " S 0.61 0.66 0.63 86\n", + " T 0.80 0.79 0.80 89\n", + " U 0.82 0.42 0.56 97\n", + " V 0.57 0.82 0.67 76\n", + " W 0.90 0.57 0.70 67\n", + " X 0.79 0.56 0.66 80\n", + " Y 0.60 0.46 0.52 76\n", + " Z 0.72 0.85 0.78 59\n", + " a 0.76 0.77 0.77 96\n", + " b 0.82 0.89 0.86 93\n", + " c 0.69 0.77 0.72 77\n", + " d 0.86 0.88 0.87 82\n", + " e 0.81 0.93 0.86 95\n", + " f 0.88 0.96 0.92 76\n", + " g 0.87 0.85 0.86 71\n", + " h 0.85 0.87 0.86 94\n", + " i 0.81 0.90 0.86 82\n", + " j 0.96 0.86 0.91 59\n", + " k 0.91 0.77 0.83 78\n", + " l 0.68 0.75 0.71 100\n", + " m 0.87 0.93 0.90 58\n", + " n 0.77 0.86 0.81 98\n", + " o 0.66 0.71 0.68 82\n", + " p 0.75 0.90 0.82 96\n", + " q 0.85 0.68 0.75 65\n", + " r 0.76 0.83 0.79 118\n", + " s 0.67 0.68 0.68 109\n", + " t 0.84 0.78 0.81 82\n", + " u 0.62 0.43 0.51 104\n", + " v 0.53 0.55 0.54 92\n", + " w 0.62 0.89 0.73 62\n", + " x 0.60 0.75 0.67 85\n", + " y 0.57 0.58 0.57 83\n", + " z 0.87 0.59 0.70 80\n", + "\n", + " accuracy 0.77 3928\n", + " macro avg 0.79 0.78 0.78 3928\n", + "weighted avg 0.77 0.77 0.76 3928\n", + "\n", + "CPU times: user 1.01 s, sys: 209 ms, total: 1.22 s\n", + "Wall time: 966 ms\n" + ] + } + ], "source": [ "%%time\n", "\n", @@ -540,10 +682,46 @@ "print(classification_report(ltest, ptest, zero_division=0))" ] }, + { + "cell_type": "code", + "execution_count": 22, + "id": "70716586", + "metadata": {}, + "outputs": [], + "source": [ + "def plot_keras_history(history, name='', acc='acc'):\n", + " \"\"\"Plots keras history.\"\"\"\n", + " import matplotlib.pyplot as plt\n", + "\n", + " training_acc = history.history[acc]\n", + " validation_acc = history.history['val_' + acc]\n", + " loss = history.history['loss']\n", + " val_loss = history.history['val_loss']\n", + "\n", + " epochs = range(len(training_acc))\n", + "\n", + " plt.ylim(0, 1)\n", + " plt.plot(epochs, training_acc, 'tab:blue', label='Training acc')\n", + " plt.plot(epochs, validation_acc, 'tab:orange', label='Validation acc')\n", + " plt.title('Training and validation accuracy ' + name)\n", + " plt.legend()\n", + "\n", + " plt.figure()\n", + "\n", + " plt.plot(epochs, loss, 'tab:green', label='Training loss')\n", + " plt.plot(epochs, val_loss, 'tab:red', label='Validation loss')\n", + " plt.title('Training and validation loss ' + name)\n", + " plt.legend()\n", + " plt.show()\n", + " plt.close()\n", + "if 'history' in locals():\n", + " plot_keras_history(history)" + ] + }, { "cell_type": "code", "execution_count": null, - "id": "5121b883", + "id": "d28c3de8", "metadata": {}, "outputs": [], "source": [] diff --git a/2-second-project/tdt/DataViz.ipynb b/2-second-project/tdt/DataViz.ipynb index 4a93451..9e2de37 100644 --- a/2-second-project/tdt/DataViz.ipynb +++ b/2-second-project/tdt/DataViz.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "eafd6e6c", + "id": "f97d492f", "metadata": {}, "source": [ "# Change Scenario here.\n", @@ -24,18 +24,18 @@ { "cell_type": "code", "execution_count": 1, - "id": "89c6a73c", + "id": "f6220693", "metadata": {}, "outputs": [], "source": [ "# Possibilities: 'SYY', 'SYN', 'SNY', 'SNN', \n", "# 'JYY', 'JYN', 'JNY', 'JNN'\n", - "cenario = 'SNY'" + "cenario = 'JNY'" ] }, { "cell_type": "markdown", - "id": "5c1dc34e", + "id": "6d569ebf", "metadata": {}, "source": [ "## Constants" @@ -44,20 +44,20 @@ { "cell_type": "code", "execution_count": 2, - "id": "6921bc6b", + "id": "3d34815c", "metadata": {}, "outputs": [], "source": [ "import os\n", "\n", "os.environ['TF_FORCE_GPU_ALLOW_GROWTH'] = 'true' # this is required\n", - "os.environ['CUDA_VISIBLE_DEVICES'] = '0' # set to '0' for GPU0, '1' for GPU1 or '2' for GPU2. Check \"gpustat\" in a terminal." + "os.environ['CUDA_VISIBLE_DEVICES'] = '2' # set to '0' for GPU0, '1' for GPU1 or '2' for GPU2. Check \"gpustat\" in a terminal." ] }, { "cell_type": "code", "execution_count": 3, - "id": "9b20b30b", + "id": "22237fa1", "metadata": {}, "outputs": [], "source": [ @@ -72,7 +72,7 @@ }, { "cell_type": "markdown", - "id": "047b3321", + "id": "b220134d", "metadata": {}, "source": [ "# Config" @@ -81,11 +81,11 @@ { "cell_type": "code", "execution_count": 4, - "id": "0c2275bf", + "id": "ff0d90d9", "metadata": {}, "outputs": [], "source": [ - "create_new = False\n", + "create_new = True\n", "checkpoint_path = f\"training_{cenario}/cp.ckpt\"\n", "checkpoint_dir = os.path.dirname(checkpoint_path)\n", "\n", @@ -104,7 +104,7 @@ }, { "cell_type": "markdown", - "id": "10d070f3", + "id": "819834af", "metadata": {}, "source": [ "# Helper Functions" @@ -113,7 +113,7 @@ { "cell_type": "code", "execution_count": 5, - "id": "46f13510", + "id": "db6e77dc", "metadata": {}, "outputs": [], "source": [ @@ -131,7 +131,7 @@ }, { "cell_type": "markdown", - "id": "8aa25439", + "id": "6a0431cf", "metadata": {}, "source": [ "# Loading Data" @@ -140,7 +140,7 @@ { "cell_type": "code", "execution_count": 6, - "id": "94f77686", + "id": "e959d5aa", "metadata": { "tags": [] }, @@ -185,7 +185,7 @@ { "cell_type": "code", "execution_count": 7, - "id": "f021e1d8", + "id": "19976126", "metadata": {}, "outputs": [], "source": [ @@ -200,7 +200,7 @@ { "cell_type": "code", "execution_count": 8, - "id": "f4a1b342", + "id": "3cb2910c", "metadata": {}, "outputs": [], "source": [ @@ -215,7 +215,7 @@ { "cell_type": "code", "execution_count": 9, - "id": "1540ece8", + "id": "062fbcda", "metadata": {}, "outputs": [ { @@ -225,8 +225,8 @@ "Loading data...\n", "../data.pickle found...\n", "768\n", - "CPU times: user 535 ms, sys: 2.43 s, total: 2.97 s\n", - "Wall time: 2.97 s\n" + "CPU times: user 548 ms, sys: 2.58 s, total: 3.13 s\n", + "Wall time: 3.13 s\n" ] } ], @@ -251,7 +251,7 @@ { "cell_type": "code", "execution_count": 10, - "id": "25f648ae", + "id": "eb844cab", "metadata": { "tags": [] }, @@ -260,8 +260,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 343 µs, sys: 200 µs, total: 543 µs\n", - "Wall time: 549 µs\n" + "CPU times: user 90 µs, sys: 305 µs, total: 395 µs\n", + "Wall time: 399 µs\n" ] } ], @@ -309,7 +309,7 @@ }, { "cell_type": "markdown", - "id": "049c83fa", + "id": "21caabe5", "metadata": {}, "source": [ "# Preprocessing" @@ -318,7 +318,7 @@ { "cell_type": "code", "execution_count": 11, - "id": "95a39c6e", + "id": "3f72125c", "metadata": { "tags": [] }, @@ -338,7 +338,7 @@ { "cell_type": "code", "execution_count": 12, - "id": "5bc3de2b", + "id": "4ce4cae7", "metadata": {}, "outputs": [], "source": [ @@ -367,7 +367,7 @@ { "cell_type": "code", "execution_count": 13, - "id": "ca4a71d9", + "id": "c72e677d", "metadata": {}, "outputs": [], "source": [ @@ -395,7 +395,7 @@ { "cell_type": "code", "execution_count": 14, - "id": "71aa29b6", + "id": "322c13e7", "metadata": {}, "outputs": [], "source": [ @@ -411,7 +411,7 @@ { "cell_type": "code", "execution_count": 15, - "id": "bdbada4a", + "id": "bf81d3ed", "metadata": {}, "outputs": [], "source": [ @@ -435,8 +435,8 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "612c5b39", + "execution_count": 16, + "id": "d5dd8da8", "metadata": { "tags": [] }, @@ -445,7 +445,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "100%|██████████| 96/96 [00:05<00:00, 9.51it/s] " + "100%|██████████| 96/96 [00:07<00:00, 12.98it/s]\n" ] } ], @@ -471,8 +471,8 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "d8dde568", + "execution_count": 17, + "id": "9733336e", "metadata": {}, "outputs": [], "source": [ @@ -482,8 +482,8 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "238e7d22", + "execution_count": 18, + "id": "3f74d664", "metadata": {}, "outputs": [], "source": [ @@ -506,8 +506,8 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "311ad27d", + "execution_count": 19, + "id": "84b87eac", "metadata": {}, "outputs": [], "source": [ @@ -524,10 +524,33 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "9ce4736b", + "execution_count": 20, + "id": "bdd01b2f", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 96/96 [00:15<00:00, 6.08it/s]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CPU times: user 14.8 s, sys: 1.46 s, total: 16.2 s\n", + "Wall time: 15.8 s\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\n" + ] + } + ], "source": [ "%%time\n", "\n", @@ -570,10 +593,33 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "2684b1c6", + "execution_count": 21, + "id": "892d5852", "metadata": {}, - "outputs": [], + "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": [ "a = drop(cdata[cenario][0]['data'], False)\n", "a['left_OVRHandPrefab_pos_X'].plot()\n", @@ -582,10 +628,33 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "225ba8a8", + "execution_count": 22, + "id": "39ad9063", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "b = rem_low_acc(a, False)\n", "b['left_OVRHandPrefab_pos_X'].plot()\n", @@ -594,10 +663,33 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "d42fc99a", + "execution_count": 23, + "id": "5257f8a3", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "c = norm(b, False)\n", "c['left_OVRHandPrefab_pos_X'].plot()\n", @@ -606,10 +698,33 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "7d58b0f5", + "execution_count": 24, + "id": "ce91623f", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "d = interpol(c, False)\n", "d['left_OVRHandPrefab_pos_X'].plot()\n", @@ -618,10 +733,29 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "fb02ea59", + "execution_count": 25, + "id": "01759009", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CPU times: user 120 µs, sys: 96 µs, total: 216 µs\n", + "Wall time: 226 µs\n" + ] + }, + { + "data": { + "text/plain": [ + "(48, 48)" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "%%time\n", "train = np.array([x['data'] for x in pdata if x['session'] == 1])\n", @@ -632,10 +766,27 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "64b1f388", + "execution_count": 26, + "id": "84b6ba0b", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 96/96 [00:39<00:00, 2.42it/s]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(59496, 5, 408) (59496,) (54212, 5, 408) (54212,)\n", + "CPU times: user 1min 55s, sys: 17.4 s, total: 2min 12s\n", + "Wall time: 40 s\n" + ] + } + ], "source": [ "%%time\n", "\n", @@ -689,12 +840,55 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "4bf9d67f", + "execution_count": 27, + "id": "11d535e3", "metadata": { "tags": [] }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Key: 1: 3907\n", + "Key: 2: 2358\n", + "Key: 3: 2044\n", + "Key: 4: 5157\n", + "Key: 5: 5080\n", + "Key: 6: 4624\n", + "Key: 7: 7405\n", + "Key: 8: 1386\n", + "Key: 9: 2344\n", + "Key: 10: 561\n", + "Key: 11: 1397\n", + "Key: 12: 748\n", + "Key: 13: 3929\n", + "Key: 14: 3588\n", + "Key: 15: 6981\n", + "Key: 16: 7987\n" + ] + }, + { + "data": { + "text/plain": [ + "array([], dtype=object)" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "Xy_train = list(zip(X_train, y_train))\n", "Xy_test = list(zip(X_test, y_test))\n", @@ -707,12 +901,55 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "e608f7f3", + "execution_count": 28, + "id": "8b39db31", "metadata": { "tags": [] }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Key: 1: 2292\n", + "Key: 2: 1617\n", + "Key: 3: 1958\n", + "Key: 4: 0\n", + "Key: 5: 1463\n", + "Key: 6: 3972\n", + "Key: 7: 7160\n", + "Key: 8: 561\n", + "Key: 9: 3797\n", + "Key: 10: 3175\n", + "Key: 11: 5723\n", + "Key: 12: 773\n", + "Key: 13: 2487\n", + "Key: 14: 6576\n", + "Key: 15: 2338\n", + "Key: 16: 10320\n" + ] + }, + { + "data": { + "text/plain": [ + "array([], dtype=object)" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "Xy_test = list(zip(X_test, y_test))\n", "test_dict = {\"1\":[], \"2\":[],\"3\":[], \"4\":[], \"5\":[],\"6\":[], \"7\":[], \"8\":[],\"9\":[], \"10\":[], \"11\":[],\"12\":[], \"13\":[], \"14\":[], \"15\": [], \"16\": []}\n", @@ -724,10 +961,19 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "b681b93c", + "execution_count": 29, + "id": "8ab5b1b0", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CPU times: user 206 ms, sys: 23.9 ms, total: 230 ms\n", + "Wall time: 229 ms\n" + ] + } + ], "source": [ "%%time\n", "\n", @@ -741,8 +987,8 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "630ad588", + "execution_count": 30, + "id": "17ab5592", "metadata": {}, "outputs": [], "source": [ @@ -758,10 +1004,21 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "3d127f9a", + "execution_count": 31, + "id": "ae01b11b", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(59496, 5, 408)\n", + "(59496, 16)\n", + "(54212, 5, 408)\n", + "(54212, 16)\n" + ] + } + ], "source": [ "print(X_train.shape)\n", "print(yy_train.shape)\n", @@ -771,7 +1028,7 @@ }, { "cell_type": "markdown", - "id": "5647746c", + "id": "61aa2f65", "metadata": {}, "source": [ "# Building Model" @@ -779,8 +1036,8 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "c5b4f772", + "execution_count": 32, + "id": "dda54ca3", "metadata": {}, "outputs": [], "source": [ @@ -824,8 +1081,8 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "a4ad2401", + "execution_count": 33, + "id": "9da5f916", "metadata": {}, "outputs": [], "source": [ @@ -857,10 +1114,176 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "704b40fb", + "execution_count": 34, + "id": "f078aec3", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Model: \"sequential\"\n", + "_________________________________________________________________\n", + "Layer (type) Output Shape Param # \n", + "=================================================================\n", + "flatten (Flatten) (None, 2040) 0 \n", + "_________________________________________________________________\n", + "dropout_10.0 (Dropout) (None, 2040) 0 \n", + "_________________________________________________________________\n", + "batchNorm (BatchNormalizatio (None, 2040) 8160 \n", + "_________________________________________________________________\n", + "HiddenDropout_20 (Dropout) (None, 2040) 0 \n", + "_________________________________________________________________\n", + "Hidden_2 (Dense) (None, 226) 461266 \n", + "_________________________________________________________________\n", + "HiddenDropout_30 (Dropout) (None, 226) 0 \n", + "_________________________________________________________________\n", + "Hidden_3 (Dense) (None, 75) 17025 \n", + "_________________________________________________________________\n", + "HiddenDropout_40 (Dropout) (None, 75) 0 \n", + "_________________________________________________________________\n", + "Hidden_4 (Dense) (None, 25) 1900 \n", + "_________________________________________________________________\n", + "Output (Dense) (None, 16) 416 \n", + "=================================================================\n", + "Total params: 488,767\n", + "Trainable params: 484,687\n", + "Non-trainable params: 4,080\n", + "_________________________________________________________________\n", + "Epoch 1/50\n", + "1860/1860 - 9s - loss: 1.1439 - acc: 0.8277 - val_loss: 4.1534 - val_acc: 0.3367\n", + "INFO:tensorflow:Assets written to: training_JNY/cp.ckpt/assets\n", + "Epoch 2/50\n", + "1860/1860 - 8s - loss: 0.6508 - acc: 0.9432 - val_loss: 4.2615 - val_acc: 0.3517\n", + "INFO:tensorflow:Assets written to: training_JNY/cp.ckpt/assets\n", + "Epoch 3/50\n", + "1860/1860 - 8s - loss: 0.5574 - acc: 0.9578 - val_loss: 4.6319 - val_acc: 0.3213\n", + "INFO:tensorflow:Assets written to: training_JNY/cp.ckpt/assets\n", + "Epoch 4/50\n", + "1860/1860 - 8s - loss: 0.5164 - acc: 0.9626 - val_loss: 4.2537 - val_acc: 0.3229\n", + "INFO:tensorflow:Assets written to: training_JNY/cp.ckpt/assets\n", + "Epoch 5/50\n", + "1860/1860 - 8s - loss: 0.4962 - acc: 0.9650 - val_loss: 4.4670 - val_acc: 0.2816\n", + "INFO:tensorflow:Assets written to: training_JNY/cp.ckpt/assets\n", + "Epoch 6/50\n", + "1860/1860 - 8s - loss: 0.4865 - acc: 0.9677 - val_loss: 4.2317 - val_acc: 0.3228\n", + "INFO:tensorflow:Assets written to: training_JNY/cp.ckpt/assets\n", + "Epoch 7/50\n", + "1860/1860 - 8s - loss: 0.4641 - acc: 0.9696 - val_loss: 4.2347 - val_acc: 0.3028\n", + "INFO:tensorflow:Assets written to: training_JNY/cp.ckpt/assets\n", + "Epoch 8/50\n", + "1860/1860 - 8s - loss: 0.4593 - acc: 0.9693 - val_loss: 4.3525 - val_acc: 0.3061\n", + "INFO:tensorflow:Assets written to: training_JNY/cp.ckpt/assets\n", + "Epoch 9/50\n", + "1860/1860 - 8s - loss: 0.4479 - acc: 0.9708 - val_loss: 4.7173 - val_acc: 0.2928\n", + "INFO:tensorflow:Assets written to: training_JNY/cp.ckpt/assets\n", + "Epoch 10/50\n", + "1860/1860 - 8s - loss: 0.4377 - acc: 0.9709 - val_loss: 4.3594 - val_acc: 0.3111\n", + "INFO:tensorflow:Assets written to: training_JNY/cp.ckpt/assets\n", + "Epoch 11/50\n", + "1860/1860 - 8s - loss: 0.4305 - acc: 0.9712 - val_loss: 4.4137 - val_acc: 0.3213\n", + "INFO:tensorflow:Assets written to: training_JNY/cp.ckpt/assets\n", + "Epoch 12/50\n", + "1860/1860 - 8s - loss: 0.4305 - acc: 0.9712 - val_loss: 4.5386 - val_acc: 0.2677\n", + "Epoch 13/50\n", + "1860/1860 - 8s - loss: 0.4223 - acc: 0.9718 - val_loss: 4.2520 - val_acc: 0.2910\n", + "INFO:tensorflow:Assets written to: training_JNY/cp.ckpt/assets\n", + "Epoch 14/50\n", + "1860/1860 - 8s - loss: 0.4124 - acc: 0.9726 - val_loss: 4.0999 - val_acc: 0.3237\n", + "INFO:tensorflow:Assets written to: training_JNY/cp.ckpt/assets\n", + "Epoch 15/50\n", + "1860/1860 - 8s - loss: 0.4133 - acc: 0.9716 - val_loss: 4.8021 - val_acc: 0.2812\n", + "Epoch 16/50\n", + "1860/1860 - 8s - loss: 0.4052 - acc: 0.9730 - val_loss: 4.3781 - val_acc: 0.3171\n", + "INFO:tensorflow:Assets written to: training_JNY/cp.ckpt/assets\n", + "Epoch 17/50\n", + "1860/1860 - 8s - loss: 0.4016 - acc: 0.9715 - val_loss: 4.3116 - val_acc: 0.3006\n", + "INFO:tensorflow:Assets written to: training_JNY/cp.ckpt/assets\n", + "Epoch 18/50\n", + "1860/1860 - 8s - loss: 0.4027 - acc: 0.9730 - val_loss: 4.3661 - val_acc: 0.3093\n", + "Epoch 19/50\n", + "1860/1860 - 8s - loss: 0.3926 - acc: 0.9735 - val_loss: 4.4316 - val_acc: 0.3270\n", + "INFO:tensorflow:Assets written to: training_JNY/cp.ckpt/assets\n", + "Epoch 20/50\n", + "1860/1860 - 8s - loss: 0.3937 - acc: 0.9735 - val_loss: 4.3595 - val_acc: 0.3323\n", + "Epoch 21/50\n", + "1860/1860 - 8s - loss: 0.3894 - acc: 0.9726 - val_loss: 4.1465 - val_acc: 0.3015\n", + "INFO:tensorflow:Assets written to: training_JNY/cp.ckpt/assets\n", + "Epoch 22/50\n", + "1860/1860 - 8s - loss: 0.3807 - acc: 0.9748 - val_loss: 4.4357 - val_acc: 0.2999\n", + "INFO:tensorflow:Assets written to: training_JNY/cp.ckpt/assets\n", + "Epoch 23/50\n", + "1860/1860 - 8s - loss: 0.3821 - acc: 0.9742 - val_loss: 4.2996 - val_acc: 0.2980\n", + "Epoch 24/50\n", + "1860/1860 - 8s - loss: 0.3816 - acc: 0.9733 - val_loss: 4.3006 - val_acc: 0.3003\n", + "Epoch 25/50\n", + "1860/1860 - 8s - loss: 0.3813 - acc: 0.9738 - val_loss: 4.3178 - val_acc: 0.3021\n", + "Epoch 26/50\n", + "1860/1860 - 8s - loss: 0.3837 - acc: 0.9734 - val_loss: 4.1520 - val_acc: 0.3249\n", + "Epoch 27/50\n", + "1860/1860 - 8s - loss: 0.3731 - acc: 0.9738 - val_loss: 4.3379 - val_acc: 0.3001\n", + "INFO:tensorflow:Assets written to: training_JNY/cp.ckpt/assets\n", + "Epoch 28/50\n", + "1860/1860 - 8s - loss: 0.3770 - acc: 0.9740 - val_loss: 4.2641 - val_acc: 0.2848\n", + "Epoch 29/50\n", + "1860/1860 - 8s - loss: 0.3732 - acc: 0.9745 - val_loss: 4.4376 - val_acc: 0.2973\n", + "Epoch 30/50\n", + "1860/1860 - 8s - loss: 0.3661 - acc: 0.9754 - val_loss: 4.5851 - val_acc: 0.2762\n", + "INFO:tensorflow:Assets written to: training_JNY/cp.ckpt/assets\n", + "Epoch 31/50\n", + "1860/1860 - 8s - loss: 0.3703 - acc: 0.9746 - val_loss: 4.4630 - val_acc: 0.2816\n", + "Epoch 32/50\n", + "1860/1860 - 8s - loss: 0.3776 - acc: 0.9736 - val_loss: 4.3901 - val_acc: 0.2840\n", + "Epoch 33/50\n", + "1860/1860 - 8s - loss: 0.3629 - acc: 0.9757 - val_loss: 4.2703 - val_acc: 0.2749\n", + "INFO:tensorflow:Assets written to: training_JNY/cp.ckpt/assets\n", + "Epoch 34/50\n", + "1860/1860 - 8s - loss: 0.3709 - acc: 0.9744 - val_loss: 4.6455 - val_acc: 0.2860\n", + "Epoch 35/50\n", + "1860/1860 - 8s - loss: 0.3628 - acc: 0.9753 - val_loss: 4.5363 - val_acc: 0.3022\n", + "INFO:tensorflow:Assets written to: training_JNY/cp.ckpt/assets\n", + "Epoch 36/50\n", + "1860/1860 - 8s - loss: 0.3589 - acc: 0.9757 - val_loss: 4.0942 - val_acc: 0.3210\n", + "INFO:tensorflow:Assets written to: training_JNY/cp.ckpt/assets\n", + "Epoch 37/50\n", + "1860/1860 - 8s - loss: 0.3658 - acc: 0.9743 - val_loss: 4.4832 - val_acc: 0.2863\n", + "Epoch 38/50\n", + "1860/1860 - 8s - loss: 0.3729 - acc: 0.9739 - val_loss: 3.9867 - val_acc: 0.3346\n", + "Epoch 39/50\n", + "1860/1860 - 8s - loss: 0.3619 - acc: 0.9749 - val_loss: 4.2968 - val_acc: 0.2802\n", + "Epoch 40/50\n", + "1860/1860 - 8s - loss: 0.3606 - acc: 0.9759 - val_loss: 4.1525 - val_acc: 0.2883\n", + "Epoch 41/50\n", + "1860/1860 - 8s - loss: 0.3602 - acc: 0.9743 - val_loss: 4.2747 - val_acc: 0.2978\n", + "Epoch 42/50\n", + "1860/1860 - 8s - loss: 0.2673 - acc: 0.9859 - val_loss: 3.9356 - val_acc: 0.3196\n", + "INFO:tensorflow:Assets written to: training_JNY/cp.ckpt/assets\n", + "Epoch 43/50\n", + "1860/1860 - 8s - loss: 0.2155 - acc: 0.9865 - val_loss: 4.2117 - val_acc: 0.2991\n", + "INFO:tensorflow:Assets written to: training_JNY/cp.ckpt/assets\n", + "Epoch 44/50\n", + "1860/1860 - 8s - loss: 0.2059 - acc: 0.9860 - val_loss: 3.9830 - val_acc: 0.3013\n", + "INFO:tensorflow:Assets written to: training_JNY/cp.ckpt/assets\n", + "Epoch 45/50\n", + "1860/1860 - 8s - loss: 0.2032 - acc: 0.9851 - val_loss: 3.9253 - val_acc: 0.3093\n", + "INFO:tensorflow:Assets written to: training_JNY/cp.ckpt/assets\n", + "Epoch 46/50\n", + "1860/1860 - 8s - loss: 0.1954 - acc: 0.9858 - val_loss: 4.0545 - val_acc: 0.3242\n", + "INFO:tensorflow:Assets written to: training_JNY/cp.ckpt/assets\n", + "Epoch 47/50\n", + "1860/1860 - 8s - loss: 0.1898 - acc: 0.9867 - val_loss: 4.2185 - val_acc: 0.3063\n", + "INFO:tensorflow:Assets written to: training_JNY/cp.ckpt/assets\n", + "Epoch 48/50\n", + "1860/1860 - 8s - loss: 0.1980 - acc: 0.9855 - val_loss: 4.1222 - val_acc: 0.3030\n", + "Epoch 49/50\n", + "1860/1860 - 8s - loss: 0.1943 - acc: 0.9862 - val_loss: 4.0228 - val_acc: 0.3137\n", + "Epoch 50/50\n", + "1860/1860 - 8s - loss: 0.1900 - acc: 0.9871 - val_loss: 4.0491 - val_acc: 0.3201\n", + "CPU times: user 10min 53s, sys: 53.9 s, total: 11min 47s\n", + "Wall time: 7min 10s\n" + ] + } + ], "source": [ "%%time\n", "\n", @@ -875,7 +1298,7 @@ }, { "cell_type": "markdown", - "id": "03971701", + "id": "ef53285d", "metadata": {}, "source": [ "# Eval" @@ -883,8 +1306,8 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "580b1b78", + "execution_count": 35, + "id": "073e281f", "metadata": {}, "outputs": [], "source": [ @@ -902,10 +1325,29 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "3749d475", + "execution_count": 36, + "id": "61519002", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CPU times: user 3.76 s, sys: 476 ms, total: 4.23 s\n", + "Wall time: 2.89 s\n" + ] + }, + { + "data": { + "text/plain": [ + "(42, 42)" + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "%%time\n", "\n", @@ -917,10 +1359,29 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "c3c48d92", + "execution_count": 37, + "id": "77f6f25b", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CPU times: user 4.22 s, sys: 425 ms, total: 4.64 s\n", + "Wall time: 3.19 s\n" + ] + }, + { + "data": { + "text/plain": [ + "(48, 48)" + ] + }, + "execution_count": 37, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "%%time\n", "\n", @@ -933,20 +1394,76 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "80f0ac46", + "execution_count": 38, + "id": "28d924cb", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "({1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16},\n", + " {1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16})" + ] + }, + "execution_count": 38, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "set(ltrain), set(ltest)" ] }, { "cell_type": "code", - "execution_count": null, - "id": "8daae77e", + "execution_count": 39, + "id": "61f24ceb", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " precision recall f1-score support\n", + "\n", + " 1 0.50 0.67 0.57 3\n", + " 2 0.00 0.00 0.00 2\n", + " 3 0.25 0.67 0.36 3\n", + " 4 0.00 0.00 0.00 0\n", + " 5 1.00 0.50 0.67 2\n", + " 6 0.00 0.00 0.00 3\n", + " 7 0.17 0.33 0.22 3\n", + " 8 0.00 0.00 0.00 2\n", + " 9 0.50 0.67 0.57 3\n", + " 10 0.00 0.00 0.00 3\n", + " 11 0.00 0.00 0.00 3\n", + " 12 0.00 0.00 0.00 3\n", + " 13 0.00 0.00 0.00 3\n", + " 14 0.00 0.00 0.00 3\n", + " 15 0.50 0.67 0.57 3\n", + " 16 0.60 1.00 0.75 3\n", + "\n", + " accuracy 0.31 42\n", + " macro avg 0.22 0.28 0.23 42\n", + "weighted avg 0.23 0.31 0.25 42\n", + "\n", + "CPU times: user 648 ms, sys: 205 ms, total: 853 ms\n", + "Wall time: 623 ms\n" + ] + } + ], "source": [ "%%time\n", "\n", @@ -972,10 +1489,35 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "72055847", + "execution_count": 40, + "id": "3533008c", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "def plot_keras_history(history, name='', acc='acc'):\n", " \"\"\"Plots keras history.\"\"\"\n", @@ -1008,10 +1550,24 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "deb72af6", + "execution_count": 41, + "id": "066c889a", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Scenario: JNY\n", + "Window Size: 5\n", + "Strides: 1\n", + "Epochs: 50\n", + "HiddenL Count: 3\n", + "Neuron Factor: 3\n", + "Drop Factor: 0.1\n" + ] + } + ], "source": [ "print(f'Scenario: {cenario}')\n", "print(f'Window Size: {win_sz}')\n", @@ -1025,7 +1581,7 @@ { "cell_type": "code", "execution_count": null, - "id": "9b2ad872", + "id": "452840ea", "metadata": {}, "outputs": [], "source": [] diff --git a/2-second-project/tdt/training_JNN/cp.ckpt/keras_metadata.pb b/2-second-project/tdt/training_JNN/cp.ckpt/keras_metadata.pb new file mode 100644 index 0000000..d2fa4ce --- /dev/null +++ b/2-second-project/tdt/training_JNN/cp.ckpt/keras_metadata.pb @@ -0,0 +1,15 @@ + +Eroot"_tf_keras_sequential*D{"name": "sequential", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "must_restore_from_config": false, "class_name": "Sequential", "config": {"name": "sequential", "layers": [{"class_name": "InputLayer", "config": {"batch_input_shape": {"class_name": "__tuple__", "items": [null, 5, 408]}, "dtype": "float32", "sparse": false, "ragged": false, "name": "flatten_input"}}, {"class_name": "Flatten", "config": {"name": "flatten", "trainable": true, "batch_input_shape": {"class_name": "__tuple__", "items": [null, 5, 408]}, "dtype": "float32", "data_format": "channels_last"}}, {"class_name": "Dropout", "config": {"name": "dropout_10.0", "trainable": true, "dtype": "float32", "rate": 0.1, "noise_shape": null, "seed": null}}, {"class_name": "BatchNormalization", "config": {"name": "batchNorm", "trainable": true, "dtype": "float32", "axis": [1], "momentum": 0.99, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}}, {"class_name": "Dropout", "config": {"name": "HiddenDropout_20", "trainable": true, "dtype": "float32", "rate": 0.2, "noise_shape": null, "seed": null}}, {"class_name": "Dense", "config": {"name": "Hidden_2", "trainable": true, "dtype": "float32", "units": 226, "activation": "relu", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": {"class_name": "L2", "config": {"l2": 0.0010000000474974513}}, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}}, {"class_name": "Dropout", "config": {"name": "HiddenDropout_30", "trainable": true, "dtype": "float32", "rate": 0.30000000000000004, "noise_shape": null, "seed": null}}, {"class_name": "Dense", "config": {"name": "Hidden_3", "trainable": true, "dtype": "float32", "units": 75, "activation": "relu", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": {"class_name": "L2", "config": {"l2": 0.0010000000474974513}}, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}}, {"class_name": "Dropout", "config": {"name": "HiddenDropout_40", "trainable": true, "dtype": "float32", "rate": 0.4, "noise_shape": null, "seed": null}}, {"class_name": "Dense", "config": {"name": "Hidden_4", "trainable": true, "dtype": "float32", "units": 25, "activation": "relu", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": {"class_name": "L2", "config": {"l2": 0.0010000000474974513}}, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}}, {"class_name": "Dense", "config": {"name": "Output", "trainable": true, "dtype": "float32", "units": 16, "activation": "softmax", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}}]}, "shared_object_id": 26, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 1, "axes": {}}, "shared_object_id": 27}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 5, 408]}, "is_graph_network": true, "save_spec": {"class_name": "TypeSpec", "type_spec": "tf.TensorSpec", "serialized": [{"class_name": "TensorShape", "items": [null, 5, 408]}, "float32", "flatten_input"]}, "keras_version": "2.5.0", "backend": "tensorflow", "model_config": {"class_name": "Sequential", "config": {"name": "sequential", "layers": [{"class_name": "InputLayer", "config": {"batch_input_shape": {"class_name": "__tuple__", "items": [null, 5, 408]}, "dtype": "float32", "sparse": false, "ragged": false, "name": "flatten_input"}, "shared_object_id": 0}, {"class_name": "Flatten", "config": {"name": "flatten", "trainable": true, "batch_input_shape": {"class_name": "__tuple__", "items": [null, 5, 408]}, "dtype": "float32", "data_format": "channels_last"}, "shared_object_id": 1}, {"class_name": "Dropout", "config": {"name": "dropout_10.0", "trainable": true, "dtype": "float32", "rate": 0.1, "noise_shape": null, "seed": null}, "shared_object_id": 2}, {"class_name": "BatchNormalization", "config": {"name": "batchNorm", "trainable": true, "dtype": "float32", "axis": [1], "momentum": 0.99, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 3}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 4}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 5}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 6}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "shared_object_id": 7}, {"class_name": "Dropout", "config": {"name": "HiddenDropout_20", "trainable": true, "dtype": "float32", "rate": 0.2, "noise_shape": null, "seed": null}, "shared_object_id": 8}, {"class_name": "Dense", "config": {"name": "Hidden_2", "trainable": true, "dtype": "float32", "units": 226, "activation": "relu", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 9}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 10}, "kernel_regularizer": {"class_name": "L2", "config": {"l2": 0.0010000000474974513}, "shared_object_id": 11}, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "shared_object_id": 12}, {"class_name": "Dropout", "config": {"name": "HiddenDropout_30", "trainable": true, "dtype": "float32", "rate": 0.30000000000000004, "noise_shape": null, "seed": null}, "shared_object_id": 13}, {"class_name": "Dense", "config": {"name": "Hidden_3", "trainable": true, "dtype": "float32", "units": 75, "activation": "relu", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 14}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 15}, "kernel_regularizer": {"class_name": "L2", "config": {"l2": 0.0010000000474974513}, "shared_object_id": 16}, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "shared_object_id": 17}, {"class_name": "Dropout", "config": {"name": "HiddenDropout_40", "trainable": true, "dtype": "float32", "rate": 0.4, "noise_shape": null, "seed": null}, "shared_object_id": 18}, {"class_name": "Dense", "config": {"name": "Hidden_4", "trainable": true, "dtype": "float32", "units": 25, "activation": "relu", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 19}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 20}, "kernel_regularizer": {"class_name": "L2", "config": {"l2": 0.0010000000474974513}, "shared_object_id": 21}, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "shared_object_id": 22}, {"class_name": "Dense", "config": {"name": "Output", "trainable": true, "dtype": "float32", "units": 16, "activation": "softmax", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 23}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 24}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "shared_object_id": 25}]}}, "training_config": {"loss": "categorical_crossentropy", "metrics": [[{"class_name": "MeanMetricWrapper", "config": {"name": "acc", "dtype": "float32", "fn": "categorical_accuracy"}, "shared_object_id": 28}]], "weighted_metrics": null, "loss_weights": null, "optimizer_config": {"class_name": "Adam", "config": {"name": "Adam", "learning_rate": 0.0005000000237487257, "decay": 0.0, "beta_1": 0.8999999761581421, "beta_2": 0.9990000128746033, "epsilon": 1e-07, "amsgrad": false}}}}2 + root.layer-0"_tf_keras_layer*{"name": "flatten", "trainable": true, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": {"class_name": "__tuple__", "items": [null, 5, 408]}, "stateful": false, "must_restore_from_config": false, "class_name": "Flatten", "config": {"name": "flatten", "trainable": true, "batch_input_shape": {"class_name": "__tuple__", "items": [null, 5, 408]}, "dtype": "float32", "data_format": "channels_last"}, "shared_object_id": 1, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 1, "axes": {}}, "shared_object_id": 27}}2 + root.layer-1"_tf_keras_layer*{"name": "dropout_10.0", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "class_name": "Dropout", "config": {"name": "dropout_10.0", "trainable": true, "dtype": "float32", "rate": 0.1, "noise_shape": null, "seed": null}, "shared_object_id": 2}2 +root.layer_with_weights-0"_tf_keras_layer*{"name": "batchNorm", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "class_name": "BatchNormalization", "config": {"name": "batchNorm", "trainable": true, "dtype": "float32", "axis": [1], "momentum": 0.99, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 3}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 4}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 5}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 6}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "shared_object_id": 7, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": 2, "max_ndim": null, "min_ndim": null, "axes": {"1": 2040}}, "shared_object_id": 29}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 2040]}}2 + root.layer-3"_tf_keras_layer*{"name": "HiddenDropout_20", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "class_name": "Dropout", "config": {"name": "HiddenDropout_20", "trainable": true, "dtype": "float32", "rate": 0.2, "noise_shape": null, "seed": null}, "shared_object_id": 8}2 +root.layer_with_weights-1"_tf_keras_layer*{"name": "Hidden_2", "trainable": true, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "class_name": "Dense", "config": {"name": "Hidden_2", "trainable": true, "dtype": "float32", "units": 226, "activation": "relu", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 9}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 10}, "kernel_regularizer": {"class_name": "L2", "config": {"l2": 0.0010000000474974513}, "shared_object_id": 11}, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "shared_object_id": 12, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 2, "axes": {"-1": 2040}}, "shared_object_id": 30}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 2040]}}2 + root.layer-5"_tf_keras_layer*{"name": "HiddenDropout_30", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "class_name": "Dropout", "config": {"name": "HiddenDropout_30", "trainable": true, "dtype": "float32", "rate": 0.30000000000000004, "noise_shape": null, "seed": null}, "shared_object_id": 13}2 +root.layer_with_weights-2"_tf_keras_layer*{"name": "Hidden_3", "trainable": true, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "class_name": "Dense", "config": {"name": "Hidden_3", "trainable": true, "dtype": "float32", "units": 75, "activation": "relu", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 14}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 15}, "kernel_regularizer": {"class_name": "L2", "config": {"l2": 0.0010000000474974513}, "shared_object_id": 16}, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "shared_object_id": 17, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 2, "axes": {"-1": 226}}, "shared_object_id": 31}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 226]}}2 + root.layer-7"_tf_keras_layer*{"name": "HiddenDropout_40", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "class_name": "Dropout", "config": {"name": "HiddenDropout_40", "trainable": true, "dtype": "float32", "rate": 0.4, "noise_shape": null, "seed": null}, "shared_object_id": 18}2 + root.layer_with_weights-3"_tf_keras_layer*{"name": "Hidden_4", "trainable": true, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "class_name": "Dense", "config": {"name": "Hidden_4", "trainable": true, "dtype": "float32", "units": 25, "activation": "relu", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 19}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 20}, "kernel_regularizer": {"class_name": "L2", "config": {"l2": 0.0010000000474974513}, "shared_object_id": 21}, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "shared_object_id": 22, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 2, "axes": {"-1": 75}}, "shared_object_id": 32}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 75]}}2 + +root.layer_with_weights-4"_tf_keras_layer*{"name": "Output", "trainable": true, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "class_name": "Dense", "config": {"name": "Output", "trainable": true, "dtype": "float32", "units": 16, "activation": "softmax", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 23}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 24}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "shared_object_id": 25, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 2, "axes": {"-1": 25}}, "shared_object_id": 33}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 25]}}2 +root.keras_api.metrics.0"_tf_keras_metric*{"class_name": "Mean", "name": "loss", "dtype": "float32", "config": {"name": "loss", "dtype": "float32"}, "shared_object_id": 34}2 +root.keras_api.metrics.1"_tf_keras_metric*{"class_name": "MeanMetricWrapper", "name": "acc", "dtype": "float32", "config": {"name": "acc", "dtype": "float32", "fn": "categorical_accuracy"}, "shared_object_id": 28}2 \ No newline at end of file diff --git a/2-second-project/tdt/training_JNN/cp.ckpt/saved_model.pb b/2-second-project/tdt/training_JNN/cp.ckpt/saved_model.pb new file mode 100644 index 0000000..14a70ef Binary files /dev/null and b/2-second-project/tdt/training_JNN/cp.ckpt/saved_model.pb differ diff --git a/2-second-project/tdt/training_JNN/cp.ckpt/variables/variables.data-00000-of-00001 b/2-second-project/tdt/training_JNN/cp.ckpt/variables/variables.data-00000-of-00001 new file mode 100644 index 0000000..b7fd559 Binary files /dev/null and b/2-second-project/tdt/training_JNN/cp.ckpt/variables/variables.data-00000-of-00001 differ diff --git a/2-second-project/tdt/training_JNN/cp.ckpt/variables/variables.index b/2-second-project/tdt/training_JNN/cp.ckpt/variables/variables.index new file mode 100644 index 0000000..f5c3558 Binary files /dev/null and b/2-second-project/tdt/training_JNN/cp.ckpt/variables/variables.index differ diff --git a/2-second-project/tdt/training_JNY/cp.ckpt/keras_metadata.pb b/2-second-project/tdt/training_JNY/cp.ckpt/keras_metadata.pb new file mode 100644 index 0000000..d2fa4ce --- /dev/null +++ b/2-second-project/tdt/training_JNY/cp.ckpt/keras_metadata.pb @@ -0,0 +1,15 @@ + +Eroot"_tf_keras_sequential*D{"name": "sequential", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "must_restore_from_config": false, "class_name": "Sequential", "config": {"name": "sequential", "layers": [{"class_name": "InputLayer", "config": {"batch_input_shape": {"class_name": "__tuple__", "items": [null, 5, 408]}, "dtype": "float32", "sparse": false, "ragged": false, "name": "flatten_input"}}, {"class_name": "Flatten", "config": {"name": "flatten", "trainable": true, "batch_input_shape": {"class_name": "__tuple__", "items": [null, 5, 408]}, "dtype": "float32", "data_format": "channels_last"}}, {"class_name": "Dropout", "config": {"name": "dropout_10.0", "trainable": true, "dtype": "float32", "rate": 0.1, "noise_shape": null, "seed": null}}, {"class_name": "BatchNormalization", "config": {"name": "batchNorm", "trainable": true, "dtype": "float32", "axis": [1], "momentum": 0.99, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}}, {"class_name": "Dropout", "config": {"name": "HiddenDropout_20", "trainable": true, "dtype": "float32", "rate": 0.2, "noise_shape": null, "seed": null}}, {"class_name": "Dense", "config": {"name": "Hidden_2", "trainable": true, "dtype": "float32", "units": 226, "activation": "relu", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": {"class_name": "L2", "config": {"l2": 0.0010000000474974513}}, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}}, {"class_name": "Dropout", "config": {"name": "HiddenDropout_30", "trainable": true, "dtype": "float32", "rate": 0.30000000000000004, "noise_shape": null, "seed": null}}, {"class_name": "Dense", "config": {"name": "Hidden_3", "trainable": true, "dtype": "float32", "units": 75, "activation": "relu", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": {"class_name": "L2", "config": {"l2": 0.0010000000474974513}}, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}}, {"class_name": "Dropout", "config": {"name": "HiddenDropout_40", "trainable": true, "dtype": "float32", "rate": 0.4, "noise_shape": null, "seed": null}}, {"class_name": "Dense", "config": {"name": "Hidden_4", "trainable": true, "dtype": "float32", "units": 25, "activation": "relu", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": {"class_name": "L2", "config": {"l2": 0.0010000000474974513}}, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}}, {"class_name": "Dense", "config": {"name": "Output", "trainable": true, "dtype": "float32", "units": 16, "activation": "softmax", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}}]}, "shared_object_id": 26, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 1, "axes": {}}, "shared_object_id": 27}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 5, 408]}, "is_graph_network": true, "save_spec": {"class_name": "TypeSpec", "type_spec": "tf.TensorSpec", "serialized": [{"class_name": "TensorShape", "items": [null, 5, 408]}, "float32", "flatten_input"]}, "keras_version": "2.5.0", "backend": "tensorflow", "model_config": {"class_name": "Sequential", "config": {"name": "sequential", "layers": [{"class_name": "InputLayer", "config": {"batch_input_shape": {"class_name": "__tuple__", "items": [null, 5, 408]}, "dtype": "float32", "sparse": false, "ragged": false, "name": "flatten_input"}, "shared_object_id": 0}, {"class_name": "Flatten", "config": {"name": "flatten", "trainable": true, "batch_input_shape": {"class_name": "__tuple__", "items": [null, 5, 408]}, "dtype": "float32", "data_format": "channels_last"}, "shared_object_id": 1}, {"class_name": "Dropout", "config": {"name": "dropout_10.0", "trainable": true, "dtype": "float32", "rate": 0.1, "noise_shape": null, "seed": null}, "shared_object_id": 2}, {"class_name": "BatchNormalization", "config": {"name": "batchNorm", "trainable": true, "dtype": "float32", "axis": [1], "momentum": 0.99, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 3}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 4}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 5}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 6}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "shared_object_id": 7}, {"class_name": "Dropout", "config": {"name": "HiddenDropout_20", "trainable": true, "dtype": "float32", "rate": 0.2, "noise_shape": null, "seed": null}, "shared_object_id": 8}, {"class_name": "Dense", "config": {"name": "Hidden_2", "trainable": true, "dtype": "float32", "units": 226, "activation": "relu", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 9}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 10}, "kernel_regularizer": {"class_name": "L2", "config": {"l2": 0.0010000000474974513}, "shared_object_id": 11}, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "shared_object_id": 12}, {"class_name": "Dropout", "config": {"name": "HiddenDropout_30", "trainable": true, "dtype": "float32", "rate": 0.30000000000000004, "noise_shape": null, "seed": null}, "shared_object_id": 13}, {"class_name": "Dense", "config": {"name": "Hidden_3", "trainable": true, "dtype": "float32", "units": 75, "activation": "relu", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 14}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 15}, "kernel_regularizer": {"class_name": "L2", "config": {"l2": 0.0010000000474974513}, "shared_object_id": 16}, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "shared_object_id": 17}, {"class_name": "Dropout", "config": {"name": "HiddenDropout_40", "trainable": true, "dtype": "float32", "rate": 0.4, "noise_shape": null, "seed": null}, "shared_object_id": 18}, {"class_name": "Dense", "config": {"name": "Hidden_4", "trainable": true, "dtype": "float32", "units": 25, "activation": "relu", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 19}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 20}, "kernel_regularizer": {"class_name": "L2", "config": {"l2": 0.0010000000474974513}, "shared_object_id": 21}, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "shared_object_id": 22}, {"class_name": "Dense", "config": {"name": "Output", "trainable": true, "dtype": "float32", "units": 16, "activation": "softmax", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 23}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 24}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "shared_object_id": 25}]}}, "training_config": {"loss": "categorical_crossentropy", "metrics": [[{"class_name": "MeanMetricWrapper", "config": {"name": "acc", "dtype": "float32", "fn": "categorical_accuracy"}, "shared_object_id": 28}]], "weighted_metrics": null, "loss_weights": null, "optimizer_config": {"class_name": "Adam", "config": {"name": "Adam", "learning_rate": 0.0005000000237487257, "decay": 0.0, "beta_1": 0.8999999761581421, "beta_2": 0.9990000128746033, "epsilon": 1e-07, "amsgrad": false}}}}2 + root.layer-0"_tf_keras_layer*{"name": "flatten", "trainable": true, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": {"class_name": "__tuple__", "items": [null, 5, 408]}, "stateful": false, "must_restore_from_config": false, "class_name": "Flatten", "config": {"name": "flatten", "trainable": true, "batch_input_shape": {"class_name": "__tuple__", "items": [null, 5, 408]}, "dtype": "float32", "data_format": "channels_last"}, "shared_object_id": 1, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 1, "axes": {}}, "shared_object_id": 27}}2 + root.layer-1"_tf_keras_layer*{"name": "dropout_10.0", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "class_name": "Dropout", "config": {"name": "dropout_10.0", "trainable": true, "dtype": "float32", "rate": 0.1, "noise_shape": null, "seed": null}, "shared_object_id": 2}2 +root.layer_with_weights-0"_tf_keras_layer*{"name": "batchNorm", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "class_name": "BatchNormalization", "config": {"name": "batchNorm", "trainable": true, "dtype": "float32", "axis": [1], "momentum": 0.99, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 3}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 4}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 5}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 6}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "shared_object_id": 7, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": 2, "max_ndim": null, "min_ndim": null, "axes": {"1": 2040}}, "shared_object_id": 29}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 2040]}}2 + root.layer-3"_tf_keras_layer*{"name": "HiddenDropout_20", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "class_name": "Dropout", "config": {"name": "HiddenDropout_20", "trainable": true, "dtype": "float32", "rate": 0.2, "noise_shape": null, "seed": null}, "shared_object_id": 8}2 +root.layer_with_weights-1"_tf_keras_layer*{"name": "Hidden_2", "trainable": true, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "class_name": "Dense", "config": {"name": "Hidden_2", "trainable": true, "dtype": "float32", "units": 226, "activation": "relu", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 9}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 10}, "kernel_regularizer": {"class_name": "L2", "config": {"l2": 0.0010000000474974513}, "shared_object_id": 11}, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "shared_object_id": 12, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 2, "axes": {"-1": 2040}}, "shared_object_id": 30}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 2040]}}2 + root.layer-5"_tf_keras_layer*{"name": "HiddenDropout_30", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "class_name": "Dropout", "config": {"name": "HiddenDropout_30", "trainable": true, "dtype": "float32", "rate": 0.30000000000000004, "noise_shape": null, "seed": null}, "shared_object_id": 13}2 +root.layer_with_weights-2"_tf_keras_layer*{"name": "Hidden_3", "trainable": true, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "class_name": "Dense", "config": {"name": "Hidden_3", "trainable": true, "dtype": "float32", "units": 75, "activation": "relu", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 14}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 15}, "kernel_regularizer": {"class_name": "L2", "config": {"l2": 0.0010000000474974513}, "shared_object_id": 16}, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "shared_object_id": 17, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 2, "axes": {"-1": 226}}, "shared_object_id": 31}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 226]}}2 + root.layer-7"_tf_keras_layer*{"name": "HiddenDropout_40", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "class_name": "Dropout", "config": {"name": "HiddenDropout_40", "trainable": true, "dtype": "float32", "rate": 0.4, "noise_shape": null, "seed": null}, "shared_object_id": 18}2 + root.layer_with_weights-3"_tf_keras_layer*{"name": "Hidden_4", "trainable": true, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "class_name": "Dense", "config": {"name": "Hidden_4", "trainable": true, "dtype": "float32", "units": 25, "activation": "relu", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 19}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 20}, "kernel_regularizer": {"class_name": "L2", "config": {"l2": 0.0010000000474974513}, "shared_object_id": 21}, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "shared_object_id": 22, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 2, "axes": {"-1": 75}}, "shared_object_id": 32}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 75]}}2 + +root.layer_with_weights-4"_tf_keras_layer*{"name": "Output", "trainable": true, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "class_name": "Dense", "config": {"name": "Output", "trainable": true, "dtype": "float32", "units": 16, "activation": "softmax", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 23}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 24}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "shared_object_id": 25, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 2, "axes": {"-1": 25}}, "shared_object_id": 33}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 25]}}2 +root.keras_api.metrics.0"_tf_keras_metric*{"class_name": "Mean", "name": "loss", "dtype": "float32", "config": {"name": "loss", "dtype": "float32"}, "shared_object_id": 34}2 +root.keras_api.metrics.1"_tf_keras_metric*{"class_name": "MeanMetricWrapper", "name": "acc", "dtype": "float32", "config": {"name": "acc", "dtype": "float32", "fn": "categorical_accuracy"}, "shared_object_id": 28}2 \ No newline at end of file diff --git a/2-second-project/tdt/training_JNY/cp.ckpt/saved_model.pb b/2-second-project/tdt/training_JNY/cp.ckpt/saved_model.pb new file mode 100644 index 0000000..309ae3c Binary files /dev/null and b/2-second-project/tdt/training_JNY/cp.ckpt/saved_model.pb differ diff --git a/2-second-project/tdt/training_JNY/cp.ckpt/variables/variables.data-00000-of-00001 b/2-second-project/tdt/training_JNY/cp.ckpt/variables/variables.data-00000-of-00001 new file mode 100644 index 0000000..1108eb1 Binary files /dev/null and b/2-second-project/tdt/training_JNY/cp.ckpt/variables/variables.data-00000-of-00001 differ diff --git a/2-second-project/tdt/training_JNY/cp.ckpt/variables/variables.index b/2-second-project/tdt/training_JNY/cp.ckpt/variables/variables.index new file mode 100644 index 0000000..d9cf02f Binary files /dev/null and b/2-second-project/tdt/training_JNY/cp.ckpt/variables/variables.index differ diff --git a/2-second-project/tdt/training_JYN/cp.ckpt/keras_metadata.pb b/2-second-project/tdt/training_JYN/cp.ckpt/keras_metadata.pb new file mode 100644 index 0000000..d9cfc2e --- /dev/null +++ b/2-second-project/tdt/training_JYN/cp.ckpt/keras_metadata.pb @@ -0,0 +1,15 @@ + +Eroot"_tf_keras_sequential*D{"name": "sequential", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "must_restore_from_config": false, "class_name": "Sequential", "config": {"name": "sequential", "layers": [{"class_name": "InputLayer", "config": {"batch_input_shape": {"class_name": "__tuple__", "items": [null, 5, 408]}, "dtype": "float32", "sparse": false, "ragged": false, "name": "flatten_input"}}, {"class_name": "Flatten", "config": {"name": "flatten", "trainable": true, "batch_input_shape": {"class_name": "__tuple__", "items": [null, 5, 408]}, "dtype": "float32", "data_format": "channels_last"}}, {"class_name": "Dropout", "config": {"name": "dropout_10.0", "trainable": true, "dtype": "float32", "rate": 0.1, "noise_shape": null, "seed": null}}, {"class_name": "BatchNormalization", "config": {"name": "batchNorm", "trainable": true, "dtype": "float32", "axis": [1], "momentum": 0.99, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}}, {"class_name": "Dropout", "config": {"name": "HiddenDropout_20", "trainable": true, "dtype": "float32", "rate": 0.2, "noise_shape": null, "seed": null}}, {"class_name": "Dense", "config": {"name": "Hidden_2", "trainable": true, "dtype": "float32", "units": 226, "activation": "relu", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": {"class_name": "L2", "config": {"l2": 0.0010000000474974513}}, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}}, {"class_name": "Dropout", "config": {"name": "HiddenDropout_30", "trainable": true, "dtype": "float32", "rate": 0.30000000000000004, "noise_shape": null, "seed": null}}, {"class_name": "Dense", "config": {"name": "Hidden_3", "trainable": true, "dtype": "float32", "units": 75, "activation": "relu", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": {"class_name": "L2", "config": {"l2": 0.0010000000474974513}}, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}}, {"class_name": "Dropout", "config": {"name": "HiddenDropout_40", "trainable": true, "dtype": "float32", "rate": 0.4, "noise_shape": null, "seed": null}}, {"class_name": "Dense", "config": {"name": "Hidden_4", "trainable": true, "dtype": "float32", "units": 25, "activation": "relu", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": {"class_name": "L2", "config": {"l2": 0.0010000000474974513}}, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}}, {"class_name": "Dense", "config": {"name": "Output", "trainable": true, "dtype": "float32", "units": 16, "activation": "softmax", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}}]}, "shared_object_id": 26, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 1, "axes": {}}, "shared_object_id": 27}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 5, 408]}, "is_graph_network": true, "save_spec": {"class_name": "TypeSpec", "type_spec": "tf.TensorSpec", "serialized": [{"class_name": "TensorShape", "items": [null, 5, 408]}, "float32", "flatten_input"]}, "keras_version": "2.5.0", "backend": "tensorflow", "model_config": {"class_name": "Sequential", "config": {"name": "sequential", "layers": [{"class_name": "InputLayer", "config": {"batch_input_shape": {"class_name": "__tuple__", "items": [null, 5, 408]}, "dtype": "float32", "sparse": false, "ragged": false, "name": "flatten_input"}, "shared_object_id": 0}, {"class_name": "Flatten", "config": {"name": "flatten", "trainable": true, "batch_input_shape": {"class_name": "__tuple__", "items": [null, 5, 408]}, "dtype": "float32", "data_format": "channels_last"}, "shared_object_id": 1}, {"class_name": "Dropout", "config": {"name": "dropout_10.0", "trainable": true, "dtype": "float32", "rate": 0.1, "noise_shape": null, "seed": null}, "shared_object_id": 2}, {"class_name": "BatchNormalization", "config": {"name": "batchNorm", "trainable": true, "dtype": "float32", "axis": [1], "momentum": 0.99, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 3}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 4}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 5}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 6}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "shared_object_id": 7}, {"class_name": "Dropout", "config": {"name": "HiddenDropout_20", "trainable": true, "dtype": "float32", "rate": 0.2, "noise_shape": null, "seed": null}, "shared_object_id": 8}, {"class_name": "Dense", "config": {"name": "Hidden_2", "trainable": true, "dtype": "float32", "units": 226, "activation": "relu", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 9}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 10}, "kernel_regularizer": {"class_name": "L2", "config": {"l2": 0.0010000000474974513}, "shared_object_id": 11}, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "shared_object_id": 12}, {"class_name": "Dropout", "config": {"name": "HiddenDropout_30", "trainable": true, "dtype": "float32", "rate": 0.30000000000000004, "noise_shape": null, "seed": null}, "shared_object_id": 13}, {"class_name": "Dense", "config": {"name": "Hidden_3", "trainable": true, "dtype": "float32", "units": 75, "activation": "relu", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 14}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 15}, "kernel_regularizer": {"class_name": "L2", "config": {"l2": 0.0010000000474974513}, "shared_object_id": 16}, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "shared_object_id": 17}, {"class_name": "Dropout", "config": {"name": "HiddenDropout_40", "trainable": true, "dtype": "float32", "rate": 0.4, "noise_shape": null, "seed": null}, "shared_object_id": 18}, {"class_name": "Dense", "config": {"name": "Hidden_4", "trainable": true, "dtype": "float32", "units": 25, "activation": "relu", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 19}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 20}, "kernel_regularizer": {"class_name": "L2", "config": {"l2": 0.0010000000474974513}, "shared_object_id": 21}, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "shared_object_id": 22}, {"class_name": "Dense", "config": {"name": "Output", "trainable": true, "dtype": "float32", "units": 16, "activation": "softmax", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 23}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 24}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "shared_object_id": 25}]}}, "training_config": {"loss": "categorical_crossentropy", "metrics": [[{"class_name": "MeanMetricWrapper", "config": {"name": "acc", "dtype": "float32", "fn": "categorical_accuracy"}, "shared_object_id": 28}]], "weighted_metrics": null, "loss_weights": null, "optimizer_config": {"class_name": "Adam", "config": {"name": "Adam", "learning_rate": 0.0010000000474974513, "decay": 0.0, "beta_1": 0.8999999761581421, "beta_2": 0.9990000128746033, "epsilon": 1e-07, "amsgrad": false}}}}2 + root.layer-0"_tf_keras_layer*{"name": "flatten", "trainable": true, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": {"class_name": "__tuple__", "items": [null, 5, 408]}, "stateful": false, "must_restore_from_config": false, "class_name": "Flatten", "config": {"name": "flatten", "trainable": true, "batch_input_shape": {"class_name": "__tuple__", "items": [null, 5, 408]}, "dtype": "float32", "data_format": "channels_last"}, "shared_object_id": 1, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 1, "axes": {}}, "shared_object_id": 27}}2 + root.layer-1"_tf_keras_layer*{"name": "dropout_10.0", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "class_name": "Dropout", "config": {"name": "dropout_10.0", "trainable": true, "dtype": "float32", "rate": 0.1, "noise_shape": null, "seed": null}, "shared_object_id": 2}2 +root.layer_with_weights-0"_tf_keras_layer*{"name": "batchNorm", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "class_name": "BatchNormalization", "config": {"name": "batchNorm", "trainable": true, "dtype": "float32", "axis": [1], "momentum": 0.99, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 3}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 4}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 5}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 6}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "shared_object_id": 7, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": 2, "max_ndim": null, "min_ndim": null, "axes": {"1": 2040}}, "shared_object_id": 29}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 2040]}}2 + root.layer-3"_tf_keras_layer*{"name": "HiddenDropout_20", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "class_name": "Dropout", "config": {"name": "HiddenDropout_20", "trainable": true, "dtype": "float32", "rate": 0.2, "noise_shape": null, "seed": null}, "shared_object_id": 8}2 +root.layer_with_weights-1"_tf_keras_layer*{"name": "Hidden_2", "trainable": true, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "class_name": "Dense", "config": {"name": "Hidden_2", "trainable": true, "dtype": "float32", "units": 226, "activation": "relu", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 9}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 10}, "kernel_regularizer": {"class_name": "L2", "config": {"l2": 0.0010000000474974513}, "shared_object_id": 11}, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "shared_object_id": 12, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 2, "axes": {"-1": 2040}}, "shared_object_id": 30}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 2040]}}2 + root.layer-5"_tf_keras_layer*{"name": "HiddenDropout_30", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "class_name": "Dropout", "config": {"name": "HiddenDropout_30", "trainable": true, "dtype": "float32", "rate": 0.30000000000000004, "noise_shape": null, "seed": null}, "shared_object_id": 13}2 +root.layer_with_weights-2"_tf_keras_layer*{"name": "Hidden_3", "trainable": true, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "class_name": "Dense", "config": {"name": "Hidden_3", "trainable": true, "dtype": "float32", "units": 75, "activation": "relu", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 14}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 15}, "kernel_regularizer": {"class_name": "L2", "config": {"l2": 0.0010000000474974513}, "shared_object_id": 16}, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "shared_object_id": 17, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 2, "axes": {"-1": 226}}, "shared_object_id": 31}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 226]}}2 + root.layer-7"_tf_keras_layer*{"name": "HiddenDropout_40", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "class_name": "Dropout", "config": {"name": "HiddenDropout_40", "trainable": true, "dtype": "float32", "rate": 0.4, "noise_shape": null, "seed": null}, "shared_object_id": 18}2 + root.layer_with_weights-3"_tf_keras_layer*{"name": "Hidden_4", "trainable": true, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "class_name": "Dense", "config": {"name": "Hidden_4", "trainable": true, "dtype": "float32", "units": 25, "activation": "relu", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 19}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 20}, "kernel_regularizer": {"class_name": "L2", "config": {"l2": 0.0010000000474974513}, "shared_object_id": 21}, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "shared_object_id": 22, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 2, "axes": {"-1": 75}}, "shared_object_id": 32}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 75]}}2 + +root.layer_with_weights-4"_tf_keras_layer*{"name": "Output", "trainable": true, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "class_name": "Dense", "config": {"name": "Output", "trainable": true, "dtype": "float32", "units": 16, "activation": "softmax", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 23}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 24}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "shared_object_id": 25, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 2, "axes": {"-1": 25}}, "shared_object_id": 33}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 25]}}2 +root.keras_api.metrics.0"_tf_keras_metric*{"class_name": "Mean", "name": "loss", "dtype": "float32", "config": {"name": "loss", "dtype": "float32"}, "shared_object_id": 34}2 +root.keras_api.metrics.1"_tf_keras_metric*{"class_name": "MeanMetricWrapper", "name": "acc", "dtype": "float32", "config": {"name": "acc", "dtype": "float32", "fn": "categorical_accuracy"}, "shared_object_id": 28}2 \ No newline at end of file diff --git a/2-second-project/tdt/training_JYN/cp.ckpt/saved_model.pb b/2-second-project/tdt/training_JYN/cp.ckpt/saved_model.pb new file mode 100644 index 0000000..8c98b21 Binary files /dev/null and b/2-second-project/tdt/training_JYN/cp.ckpt/saved_model.pb differ diff --git a/2-second-project/tdt/training_JYN/cp.ckpt/variables/variables.data-00000-of-00001 b/2-second-project/tdt/training_JYN/cp.ckpt/variables/variables.data-00000-of-00001 new file mode 100644 index 0000000..fa99d1a Binary files /dev/null and b/2-second-project/tdt/training_JYN/cp.ckpt/variables/variables.data-00000-of-00001 differ diff --git a/2-second-project/tdt/training_JYN/cp.ckpt/variables/variables.index b/2-second-project/tdt/training_JYN/cp.ckpt/variables/variables.index new file mode 100644 index 0000000..da9bbb6 Binary files /dev/null and b/2-second-project/tdt/training_JYN/cp.ckpt/variables/variables.index differ diff --git a/2-second-project/tdt/training_JYY/cp.ckpt/keras_metadata.pb b/2-second-project/tdt/training_JYY/cp.ckpt/keras_metadata.pb new file mode 100644 index 0000000..d9cfc2e --- /dev/null +++ b/2-second-project/tdt/training_JYY/cp.ckpt/keras_metadata.pb @@ -0,0 +1,15 @@ + +Eroot"_tf_keras_sequential*D{"name": "sequential", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "must_restore_from_config": false, "class_name": "Sequential", "config": {"name": "sequential", "layers": [{"class_name": "InputLayer", "config": {"batch_input_shape": {"class_name": "__tuple__", "items": [null, 5, 408]}, "dtype": "float32", "sparse": false, "ragged": false, "name": "flatten_input"}}, {"class_name": "Flatten", "config": {"name": "flatten", "trainable": true, "batch_input_shape": {"class_name": "__tuple__", "items": [null, 5, 408]}, "dtype": "float32", "data_format": "channels_last"}}, {"class_name": "Dropout", "config": {"name": "dropout_10.0", "trainable": true, "dtype": "float32", "rate": 0.1, "noise_shape": null, "seed": null}}, {"class_name": "BatchNormalization", "config": {"name": "batchNorm", "trainable": true, "dtype": "float32", "axis": [1], "momentum": 0.99, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}}, {"class_name": "Dropout", "config": {"name": "HiddenDropout_20", "trainable": true, "dtype": "float32", "rate": 0.2, "noise_shape": null, "seed": null}}, {"class_name": "Dense", "config": {"name": "Hidden_2", "trainable": true, "dtype": "float32", "units": 226, "activation": "relu", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": {"class_name": "L2", "config": {"l2": 0.0010000000474974513}}, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}}, {"class_name": "Dropout", "config": {"name": "HiddenDropout_30", "trainable": true, "dtype": "float32", "rate": 0.30000000000000004, "noise_shape": null, "seed": null}}, {"class_name": "Dense", "config": {"name": "Hidden_3", "trainable": true, "dtype": "float32", "units": 75, "activation": "relu", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": {"class_name": "L2", "config": {"l2": 0.0010000000474974513}}, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}}, {"class_name": "Dropout", "config": {"name": "HiddenDropout_40", "trainable": true, "dtype": "float32", "rate": 0.4, "noise_shape": null, "seed": null}}, {"class_name": "Dense", "config": {"name": "Hidden_4", "trainable": true, "dtype": "float32", "units": 25, "activation": "relu", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": {"class_name": "L2", "config": {"l2": 0.0010000000474974513}}, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}}, {"class_name": "Dense", "config": {"name": "Output", "trainable": true, "dtype": "float32", "units": 16, "activation": "softmax", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}}]}, "shared_object_id": 26, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 1, "axes": {}}, "shared_object_id": 27}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 5, 408]}, "is_graph_network": true, "save_spec": {"class_name": "TypeSpec", "type_spec": "tf.TensorSpec", "serialized": [{"class_name": "TensorShape", "items": [null, 5, 408]}, "float32", "flatten_input"]}, "keras_version": "2.5.0", "backend": "tensorflow", "model_config": {"class_name": "Sequential", "config": {"name": "sequential", "layers": [{"class_name": "InputLayer", "config": {"batch_input_shape": {"class_name": "__tuple__", "items": [null, 5, 408]}, "dtype": "float32", "sparse": false, "ragged": false, "name": "flatten_input"}, "shared_object_id": 0}, {"class_name": "Flatten", "config": {"name": "flatten", "trainable": true, "batch_input_shape": {"class_name": "__tuple__", "items": [null, 5, 408]}, "dtype": "float32", "data_format": "channels_last"}, "shared_object_id": 1}, {"class_name": "Dropout", "config": {"name": "dropout_10.0", "trainable": true, "dtype": "float32", "rate": 0.1, "noise_shape": null, "seed": null}, "shared_object_id": 2}, {"class_name": "BatchNormalization", "config": {"name": "batchNorm", "trainable": true, "dtype": "float32", "axis": [1], "momentum": 0.99, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 3}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 4}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 5}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 6}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "shared_object_id": 7}, {"class_name": "Dropout", "config": {"name": "HiddenDropout_20", "trainable": true, "dtype": "float32", "rate": 0.2, "noise_shape": null, "seed": null}, "shared_object_id": 8}, {"class_name": "Dense", "config": {"name": "Hidden_2", "trainable": true, "dtype": "float32", "units": 226, "activation": "relu", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 9}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 10}, "kernel_regularizer": {"class_name": "L2", "config": {"l2": 0.0010000000474974513}, "shared_object_id": 11}, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "shared_object_id": 12}, {"class_name": "Dropout", "config": {"name": "HiddenDropout_30", "trainable": true, "dtype": "float32", "rate": 0.30000000000000004, "noise_shape": null, "seed": null}, "shared_object_id": 13}, {"class_name": "Dense", "config": {"name": "Hidden_3", "trainable": true, "dtype": "float32", "units": 75, "activation": "relu", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 14}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 15}, "kernel_regularizer": {"class_name": "L2", "config": {"l2": 0.0010000000474974513}, "shared_object_id": 16}, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "shared_object_id": 17}, {"class_name": "Dropout", "config": {"name": "HiddenDropout_40", "trainable": true, "dtype": "float32", "rate": 0.4, "noise_shape": null, "seed": null}, "shared_object_id": 18}, {"class_name": "Dense", "config": {"name": "Hidden_4", "trainable": true, "dtype": "float32", "units": 25, "activation": "relu", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 19}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 20}, "kernel_regularizer": {"class_name": "L2", "config": {"l2": 0.0010000000474974513}, "shared_object_id": 21}, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "shared_object_id": 22}, {"class_name": "Dense", "config": {"name": "Output", "trainable": true, "dtype": "float32", "units": 16, "activation": "softmax", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 23}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 24}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "shared_object_id": 25}]}}, "training_config": {"loss": "categorical_crossentropy", "metrics": [[{"class_name": "MeanMetricWrapper", "config": {"name": "acc", "dtype": "float32", "fn": "categorical_accuracy"}, "shared_object_id": 28}]], "weighted_metrics": null, "loss_weights": null, "optimizer_config": {"class_name": "Adam", "config": {"name": "Adam", "learning_rate": 0.0010000000474974513, "decay": 0.0, "beta_1": 0.8999999761581421, "beta_2": 0.9990000128746033, "epsilon": 1e-07, "amsgrad": false}}}}2 + root.layer-0"_tf_keras_layer*{"name": "flatten", "trainable": true, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": {"class_name": "__tuple__", "items": [null, 5, 408]}, "stateful": false, "must_restore_from_config": false, "class_name": "Flatten", "config": {"name": "flatten", "trainable": true, "batch_input_shape": {"class_name": "__tuple__", "items": [null, 5, 408]}, "dtype": "float32", "data_format": "channels_last"}, "shared_object_id": 1, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 1, "axes": {}}, "shared_object_id": 27}}2 + root.layer-1"_tf_keras_layer*{"name": "dropout_10.0", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "class_name": "Dropout", "config": {"name": "dropout_10.0", "trainable": true, "dtype": "float32", "rate": 0.1, "noise_shape": null, "seed": null}, "shared_object_id": 2}2 +root.layer_with_weights-0"_tf_keras_layer*{"name": "batchNorm", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "class_name": "BatchNormalization", "config": {"name": "batchNorm", "trainable": true, "dtype": "float32", "axis": [1], "momentum": 0.99, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 3}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 4}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 5}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 6}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "shared_object_id": 7, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": 2, "max_ndim": null, "min_ndim": null, "axes": {"1": 2040}}, "shared_object_id": 29}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 2040]}}2 + root.layer-3"_tf_keras_layer*{"name": "HiddenDropout_20", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "class_name": "Dropout", "config": {"name": "HiddenDropout_20", "trainable": true, "dtype": "float32", "rate": 0.2, "noise_shape": null, "seed": null}, "shared_object_id": 8}2 +root.layer_with_weights-1"_tf_keras_layer*{"name": "Hidden_2", "trainable": true, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "class_name": "Dense", "config": {"name": "Hidden_2", "trainable": true, "dtype": "float32", "units": 226, "activation": "relu", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 9}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 10}, "kernel_regularizer": {"class_name": "L2", "config": {"l2": 0.0010000000474974513}, "shared_object_id": 11}, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "shared_object_id": 12, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 2, "axes": {"-1": 2040}}, "shared_object_id": 30}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 2040]}}2 + root.layer-5"_tf_keras_layer*{"name": "HiddenDropout_30", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "class_name": "Dropout", "config": {"name": "HiddenDropout_30", "trainable": true, "dtype": "float32", "rate": 0.30000000000000004, "noise_shape": null, "seed": null}, "shared_object_id": 13}2 +root.layer_with_weights-2"_tf_keras_layer*{"name": "Hidden_3", "trainable": true, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "class_name": "Dense", "config": {"name": "Hidden_3", "trainable": true, "dtype": "float32", "units": 75, "activation": "relu", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 14}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 15}, "kernel_regularizer": {"class_name": "L2", "config": {"l2": 0.0010000000474974513}, "shared_object_id": 16}, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "shared_object_id": 17, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 2, "axes": {"-1": 226}}, "shared_object_id": 31}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 226]}}2 + root.layer-7"_tf_keras_layer*{"name": "HiddenDropout_40", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "class_name": "Dropout", "config": {"name": "HiddenDropout_40", "trainable": true, "dtype": "float32", "rate": 0.4, "noise_shape": null, "seed": null}, "shared_object_id": 18}2 + root.layer_with_weights-3"_tf_keras_layer*{"name": "Hidden_4", "trainable": true, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "class_name": "Dense", "config": {"name": "Hidden_4", "trainable": true, "dtype": "float32", "units": 25, "activation": "relu", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 19}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 20}, "kernel_regularizer": {"class_name": "L2", "config": {"l2": 0.0010000000474974513}, "shared_object_id": 21}, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "shared_object_id": 22, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 2, "axes": {"-1": 75}}, "shared_object_id": 32}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 75]}}2 + +root.layer_with_weights-4"_tf_keras_layer*{"name": "Output", "trainable": true, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "class_name": "Dense", "config": {"name": "Output", "trainable": true, "dtype": "float32", "units": 16, "activation": "softmax", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 23}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 24}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "shared_object_id": 25, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 2, "axes": {"-1": 25}}, "shared_object_id": 33}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 25]}}2 +root.keras_api.metrics.0"_tf_keras_metric*{"class_name": "Mean", "name": "loss", "dtype": "float32", "config": {"name": "loss", "dtype": "float32"}, "shared_object_id": 34}2 +root.keras_api.metrics.1"_tf_keras_metric*{"class_name": "MeanMetricWrapper", "name": "acc", "dtype": "float32", "config": {"name": "acc", "dtype": "float32", "fn": "categorical_accuracy"}, "shared_object_id": 28}2 \ No newline at end of file diff --git a/2-second-project/tdt/training_JYY/cp.ckpt/saved_model.pb b/2-second-project/tdt/training_JYY/cp.ckpt/saved_model.pb new file mode 100644 index 0000000..942ff63 Binary files /dev/null and b/2-second-project/tdt/training_JYY/cp.ckpt/saved_model.pb differ diff --git a/2-second-project/tdt/training_JYY/cp.ckpt/variables/variables.data-00000-of-00001 b/2-second-project/tdt/training_JYY/cp.ckpt/variables/variables.data-00000-of-00001 new file mode 100644 index 0000000..cdaab43 Binary files /dev/null and b/2-second-project/tdt/training_JYY/cp.ckpt/variables/variables.data-00000-of-00001 differ diff --git a/2-second-project/tdt/training_JYY/cp.ckpt/variables/variables.index b/2-second-project/tdt/training_JYY/cp.ckpt/variables/variables.index new file mode 100644 index 0000000..73b5952 Binary files /dev/null and b/2-second-project/tdt/training_JYY/cp.ckpt/variables/variables.index differ diff --git a/2-second-project/tdt/training_SNN/cp.ckpt/keras_metadata.pb b/2-second-project/tdt/training_SNN/cp.ckpt/keras_metadata.pb new file mode 100644 index 0000000..db9b1ce --- /dev/null +++ b/2-second-project/tdt/training_SNN/cp.ckpt/keras_metadata.pb @@ -0,0 +1,15 @@ + +Eroot"_tf_keras_sequential*D{"name": "sequential", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "must_restore_from_config": false, "class_name": "Sequential", "config": {"name": "sequential", "layers": [{"class_name": "InputLayer", "config": {"batch_input_shape": {"class_name": "__tuple__", "items": [null, 5, 336]}, "dtype": "float32", "sparse": false, "ragged": false, "name": "flatten_input"}}, {"class_name": "Flatten", "config": {"name": "flatten", "trainable": true, "batch_input_shape": {"class_name": "__tuple__", "items": [null, 5, 336]}, "dtype": "float32", "data_format": "channels_last"}}, {"class_name": "Dropout", "config": {"name": "dropout_10.0", "trainable": true, "dtype": "float32", "rate": 0.1, "noise_shape": null, "seed": null}}, {"class_name": "BatchNormalization", "config": {"name": "batchNorm", "trainable": true, "dtype": "float32", "axis": [1], "momentum": 0.99, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}}, "gamma_initializer": {"class_name": "Ones", "config": {}}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}}, "moving_variance_initializer": {"class_name": "Ones", "config": {}}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}}, {"class_name": "Dropout", "config": {"name": "HiddenDropout_20", "trainable": true, "dtype": "float32", "rate": 0.2, "noise_shape": null, "seed": null}}, {"class_name": "Dense", "config": {"name": "Hidden_2", "trainable": true, "dtype": "float32", "units": 186, "activation": "relu", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": {"class_name": "L2", "config": {"l2": 0.0010000000474974513}}, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}}, {"class_name": "Dropout", "config": {"name": "HiddenDropout_30", "trainable": true, "dtype": "float32", "rate": 0.30000000000000004, "noise_shape": null, "seed": null}}, {"class_name": "Dense", "config": {"name": "Hidden_3", "trainable": true, "dtype": "float32", "units": 62, "activation": "relu", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": {"class_name": "L2", "config": {"l2": 0.0010000000474974513}}, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}}, {"class_name": "Dropout", "config": {"name": "HiddenDropout_40", "trainable": true, "dtype": "float32", "rate": 0.4, "noise_shape": null, "seed": null}}, {"class_name": "Dense", "config": {"name": "Hidden_4", "trainable": true, "dtype": "float32", "units": 20, "activation": "relu", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": {"class_name": "L2", "config": {"l2": 0.0010000000474974513}}, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}}, {"class_name": "Dense", "config": {"name": "Output", "trainable": true, "dtype": "float32", "units": 16, "activation": "softmax", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}}, "bias_initializer": {"class_name": "Zeros", "config": {}}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}}]}, "shared_object_id": 26, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 1, "axes": {}}, "shared_object_id": 27}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 5, 336]}, "is_graph_network": true, "save_spec": {"class_name": "TypeSpec", "type_spec": "tf.TensorSpec", "serialized": [{"class_name": "TensorShape", "items": [null, 5, 336]}, "float32", "flatten_input"]}, "keras_version": "2.5.0", "backend": "tensorflow", "model_config": {"class_name": "Sequential", "config": {"name": "sequential", "layers": [{"class_name": "InputLayer", "config": {"batch_input_shape": {"class_name": "__tuple__", "items": [null, 5, 336]}, "dtype": "float32", "sparse": false, "ragged": false, "name": "flatten_input"}, "shared_object_id": 0}, {"class_name": "Flatten", "config": {"name": "flatten", "trainable": true, "batch_input_shape": {"class_name": "__tuple__", "items": [null, 5, 336]}, "dtype": "float32", "data_format": "channels_last"}, "shared_object_id": 1}, {"class_name": "Dropout", "config": {"name": "dropout_10.0", "trainable": true, "dtype": "float32", "rate": 0.1, "noise_shape": null, "seed": null}, "shared_object_id": 2}, {"class_name": "BatchNormalization", "config": {"name": "batchNorm", "trainable": true, "dtype": "float32", "axis": [1], "momentum": 0.99, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 3}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 4}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 5}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 6}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "shared_object_id": 7}, {"class_name": "Dropout", "config": {"name": "HiddenDropout_20", "trainable": true, "dtype": "float32", "rate": 0.2, "noise_shape": null, "seed": null}, "shared_object_id": 8}, {"class_name": "Dense", "config": {"name": "Hidden_2", "trainable": true, "dtype": "float32", "units": 186, "activation": "relu", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 9}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 10}, "kernel_regularizer": {"class_name": "L2", "config": {"l2": 0.0010000000474974513}, "shared_object_id": 11}, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "shared_object_id": 12}, {"class_name": "Dropout", "config": {"name": "HiddenDropout_30", "trainable": true, "dtype": "float32", "rate": 0.30000000000000004, "noise_shape": null, "seed": null}, "shared_object_id": 13}, {"class_name": "Dense", "config": {"name": "Hidden_3", "trainable": true, "dtype": "float32", "units": 62, "activation": "relu", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 14}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 15}, "kernel_regularizer": {"class_name": "L2", "config": {"l2": 0.0010000000474974513}, "shared_object_id": 16}, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "shared_object_id": 17}, {"class_name": "Dropout", "config": {"name": "HiddenDropout_40", "trainable": true, "dtype": "float32", "rate": 0.4, "noise_shape": null, "seed": null}, "shared_object_id": 18}, {"class_name": "Dense", "config": {"name": "Hidden_4", "trainable": true, "dtype": "float32", "units": 20, "activation": "relu", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 19}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 20}, "kernel_regularizer": {"class_name": "L2", "config": {"l2": 0.0010000000474974513}, "shared_object_id": 21}, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "shared_object_id": 22}, {"class_name": "Dense", "config": {"name": "Output", "trainable": true, "dtype": "float32", "units": 16, "activation": "softmax", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 23}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 24}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "shared_object_id": 25}]}}, "training_config": {"loss": "categorical_crossentropy", "metrics": [[{"class_name": "MeanMetricWrapper", "config": {"name": "acc", "dtype": "float32", "fn": "categorical_accuracy"}, "shared_object_id": 28}]], "weighted_metrics": null, "loss_weights": null, "optimizer_config": {"class_name": "Adam", "config": {"name": "Adam", "learning_rate": 0.0010000000474974513, "decay": 0.0, "beta_1": 0.8999999761581421, "beta_2": 0.9990000128746033, "epsilon": 1e-07, "amsgrad": false}}}}2 + root.layer-0"_tf_keras_layer*{"name": "flatten", "trainable": true, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": {"class_name": "__tuple__", "items": [null, 5, 336]}, "stateful": false, "must_restore_from_config": false, "class_name": "Flatten", "config": {"name": "flatten", "trainable": true, "batch_input_shape": {"class_name": "__tuple__", "items": [null, 5, 336]}, "dtype": "float32", "data_format": "channels_last"}, "shared_object_id": 1, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 1, "axes": {}}, "shared_object_id": 27}}2 + root.layer-1"_tf_keras_layer*{"name": "dropout_10.0", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "class_name": "Dropout", "config": {"name": "dropout_10.0", "trainable": true, "dtype": "float32", "rate": 0.1, "noise_shape": null, "seed": null}, "shared_object_id": 2}2 +root.layer_with_weights-0"_tf_keras_layer*{"name": "batchNorm", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "class_name": "BatchNormalization", "config": {"name": "batchNorm", "trainable": true, "dtype": "float32", "axis": [1], "momentum": 0.99, "epsilon": 0.001, "center": true, "scale": true, "beta_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 3}, "gamma_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 4}, "moving_mean_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 5}, "moving_variance_initializer": {"class_name": "Ones", "config": {}, "shared_object_id": 6}, "beta_regularizer": null, "gamma_regularizer": null, "beta_constraint": null, "gamma_constraint": null}, "shared_object_id": 7, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": 2, "max_ndim": null, "min_ndim": null, "axes": {"1": 1680}}, "shared_object_id": 29}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 1680]}}2 + root.layer-3"_tf_keras_layer*{"name": "HiddenDropout_20", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "class_name": "Dropout", "config": {"name": "HiddenDropout_20", "trainable": true, "dtype": "float32", "rate": 0.2, "noise_shape": null, "seed": null}, "shared_object_id": 8}2 +root.layer_with_weights-1"_tf_keras_layer*{"name": "Hidden_2", "trainable": true, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "class_name": "Dense", "config": {"name": "Hidden_2", "trainable": true, "dtype": "float32", "units": 186, "activation": "relu", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 9}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 10}, "kernel_regularizer": {"class_name": "L2", "config": {"l2": 0.0010000000474974513}, "shared_object_id": 11}, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "shared_object_id": 12, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 2, "axes": {"-1": 1680}}, "shared_object_id": 30}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 1680]}}2 + root.layer-5"_tf_keras_layer*{"name": "HiddenDropout_30", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "class_name": "Dropout", "config": {"name": "HiddenDropout_30", "trainable": true, "dtype": "float32", "rate": 0.30000000000000004, "noise_shape": null, "seed": null}, "shared_object_id": 13}2 +root.layer_with_weights-2"_tf_keras_layer*{"name": "Hidden_3", "trainable": true, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "class_name": "Dense", "config": {"name": "Hidden_3", "trainable": true, "dtype": "float32", "units": 62, "activation": "relu", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 14}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 15}, "kernel_regularizer": {"class_name": "L2", "config": {"l2": 0.0010000000474974513}, "shared_object_id": 16}, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "shared_object_id": 17, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 2, "axes": {"-1": 186}}, "shared_object_id": 31}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 186]}}2 + root.layer-7"_tf_keras_layer*{"name": "HiddenDropout_40", "trainable": true, "expects_training_arg": true, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "class_name": "Dropout", "config": {"name": "HiddenDropout_40", "trainable": true, "dtype": "float32", "rate": 0.4, "noise_shape": null, "seed": null}, "shared_object_id": 18}2 + root.layer_with_weights-3"_tf_keras_layer*{"name": "Hidden_4", "trainable": true, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "class_name": "Dense", "config": {"name": "Hidden_4", "trainable": true, "dtype": "float32", "units": 20, "activation": "relu", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 19}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 20}, "kernel_regularizer": {"class_name": "L2", "config": {"l2": 0.0010000000474974513}, "shared_object_id": 21}, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "shared_object_id": 22, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 2, "axes": {"-1": 62}}, "shared_object_id": 32}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 62]}}2 + +root.layer_with_weights-4"_tf_keras_layer*{"name": "Output", "trainable": true, "expects_training_arg": false, "dtype": "float32", "batch_input_shape": null, "stateful": false, "must_restore_from_config": false, "class_name": "Dense", "config": {"name": "Output", "trainable": true, "dtype": "float32", "units": 16, "activation": "softmax", "use_bias": true, "kernel_initializer": {"class_name": "GlorotUniform", "config": {"seed": null}, "shared_object_id": 23}, "bias_initializer": {"class_name": "Zeros", "config": {}, "shared_object_id": 24}, "kernel_regularizer": null, "bias_regularizer": null, "activity_regularizer": null, "kernel_constraint": null, "bias_constraint": null}, "shared_object_id": 25, "input_spec": {"class_name": "InputSpec", "config": {"dtype": null, "shape": null, "ndim": null, "max_ndim": null, "min_ndim": 2, "axes": {"-1": 20}}, "shared_object_id": 33}, "build_input_shape": {"class_name": "TensorShape", "items": [null, 20]}}2 +root.keras_api.metrics.0"_tf_keras_metric*{"class_name": "Mean", "name": "loss", "dtype": "float32", "config": {"name": "loss", "dtype": "float32"}, "shared_object_id": 34}2 +root.keras_api.metrics.1"_tf_keras_metric*{"class_name": "MeanMetricWrapper", "name": "acc", "dtype": "float32", "config": {"name": "acc", "dtype": "float32", "fn": "categorical_accuracy"}, "shared_object_id": 28}2 \ No newline at end of file diff --git a/2-second-project/tdt/training_SNN/cp.ckpt/saved_model.pb b/2-second-project/tdt/training_SNN/cp.ckpt/saved_model.pb new file mode 100644 index 0000000..1db9a11 Binary files /dev/null and b/2-second-project/tdt/training_SNN/cp.ckpt/saved_model.pb differ diff --git a/2-second-project/tdt/training_SNN/cp.ckpt/variables/variables.data-00000-of-00001 b/2-second-project/tdt/training_SNN/cp.ckpt/variables/variables.data-00000-of-00001 new file mode 100644 index 0000000..13f9d89 Binary files /dev/null and b/2-second-project/tdt/training_SNN/cp.ckpt/variables/variables.data-00000-of-00001 differ diff --git a/2-second-project/tdt/training_SNN/cp.ckpt/variables/variables.index b/2-second-project/tdt/training_SNN/cp.ckpt/variables/variables.index new file mode 100644 index 0000000..a9d78f2 Binary files /dev/null and b/2-second-project/tdt/training_SNN/cp.ckpt/variables/variables.index differ diff --git a/2-second-project/tdt/training_SNY/cp.ckpt/saved_model.pb b/2-second-project/tdt/training_SNY/cp.ckpt/saved_model.pb index 001fdcf..aa3c6ff 100644 Binary files a/2-second-project/tdt/training_SNY/cp.ckpt/saved_model.pb and b/2-second-project/tdt/training_SNY/cp.ckpt/saved_model.pb differ diff --git a/2-second-project/tdt/training_SNY/cp.ckpt/variables/variables.data-00000-of-00001 b/2-second-project/tdt/training_SNY/cp.ckpt/variables/variables.data-00000-of-00001 index fbf4d32..66fb806 100644 Binary files a/2-second-project/tdt/training_SNY/cp.ckpt/variables/variables.data-00000-of-00001 and b/2-second-project/tdt/training_SNY/cp.ckpt/variables/variables.data-00000-of-00001 differ diff --git a/2-second-project/tdt/training_SNY/cp.ckpt/variables/variables.index b/2-second-project/tdt/training_SNY/cp.ckpt/variables/variables.index index 2a1d7a0..912dab8 100644 Binary files a/2-second-project/tdt/training_SNY/cp.ckpt/variables/variables.index and b/2-second-project/tdt/training_SNY/cp.ckpt/variables/variables.index differ