diff --git a/1-first-project/Slides/IUI_MP1_Presentation-1.pptx b/1-first-project/Slides/IUI_MP1_Presentation-1.pptx index 5caf7a0..d113d51 100644 Binary files a/1-first-project/Slides/IUI_MP1_Presentation-1.pptx and b/1-first-project/Slides/IUI_MP1_Presentation-1.pptx differ diff --git a/1-first-project/tdt/Hyperparameter.ipynb b/1-first-project/tdt/Hyperparameter.ipynb index 4e99839..08f612b 100644 --- a/1-first-project/tdt/Hyperparameter.ipynb +++ b/1-first-project/tdt/Hyperparameter.ipynb @@ -3,7 +3,7 @@ { "cell_type": "code", "execution_count": 1, - "id": "25685460", + "id": "71b073fd", "metadata": {}, "outputs": [], "source": [ @@ -14,7 +14,7 @@ { "cell_type": "code", "execution_count": 2, - "id": "a7b5d6ab", + "id": "faccec4b", "metadata": {}, "outputs": [], "source": [ @@ -30,7 +30,7 @@ { "cell_type": "code", "execution_count": 3, - "id": "8a37e95b", + "id": "557006eb", "metadata": {}, "outputs": [], "source": [ @@ -52,7 +52,7 @@ { "cell_type": "code", "execution_count": 4, - "id": "53e288a8", + "id": "311c9b66", "metadata": {}, "outputs": [], "source": [ @@ -73,7 +73,7 @@ { "cell_type": "code", "execution_count": 5, - "id": "0e638fb8", + "id": "53b9bb75", "metadata": {}, "outputs": [], "source": [ @@ -97,7 +97,7 @@ { "cell_type": "code", "execution_count": 6, - "id": "5080bf16", + "id": "34c391e7", "metadata": {}, "outputs": [], "source": [ @@ -111,7 +111,7 @@ { "cell_type": "code", "execution_count": 7, - "id": "41f26d6c", + "id": "22346c9c", "metadata": {}, "outputs": [], "source": [ @@ -138,7 +138,7 @@ { "cell_type": "code", "execution_count": 8, - "id": "9bf4ea28", + "id": "dc81d9b9", "metadata": {}, "outputs": [], "source": [ @@ -174,7 +174,7 @@ { "cell_type": "code", "execution_count": 9, - "id": "fde0b3cf", + "id": "1a80e403", "metadata": {}, "outputs": [], "source": [ @@ -197,7 +197,7 @@ { "cell_type": "code", "execution_count": 10, - "id": "9712dd25", + "id": "e3dd7348", "metadata": {}, "outputs": [], "source": [ @@ -218,7 +218,7 @@ { "cell_type": "code", "execution_count": 11, - "id": "6decb953", + "id": "5bbb81d7", "metadata": {}, "outputs": [], "source": [ @@ -229,8 +229,8 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "ff6a75e9", + "execution_count": 12, + "id": "6f2dc487", "metadata": {}, "outputs": [ { @@ -939,7 +939,427 @@ " Dense Count 1: 2\n", " Dense Neurons 1: 2400\n", " Dense Count 2: 1\n", - " Dense Neurons 2: 2400\n" + " Dense Neurons 2: 2400\n", + "Accuracy: 78.00\n", + "Testing with: Threshold: 70\n", + " Leeway: 0\n", + " Epoch: 20\n", + " Dense Count 1: 2\n", + " Dense Neurons 1: 2400\n", + " Dense Count 2: 2\n", + " Dense Neurons 2: 600\n", + "Accuracy: 78.61\n", + "Testing with: Threshold: 70\n", + " Leeway: 0\n", + " Epoch: 20\n", + " Dense Count 1: 2\n", + " Dense Neurons 1: 2400\n", + " Dense Count 2: 2\n", + " Dense Neurons 2: 1200\n", + "Accuracy: 78.68\n", + "Testing with: Threshold: 70\n", + " Leeway: 0\n", + " Epoch: 20\n", + " Dense Count 1: 2\n", + " Dense Neurons 1: 2400\n", + " Dense Count 2: 2\n", + " Dense Neurons 2: 1800\n", + "Accuracy: 78.00\n", + "Testing with: Threshold: 70\n", + " Leeway: 0\n", + " Epoch: 20\n", + " Dense Count 1: 2\n", + " Dense Neurons 1: 2400\n", + " Dense Count 2: 2\n", + " Dense Neurons 2: 2400\n", + "Accuracy: 78.21\n", + "Testing with: Threshold: 70\n", + " Leeway: 0\n", + " Epoch: 20\n", + " Dense Count 1: 2\n", + " Dense Neurons 1: 2400\n", + " Dense Count 2: 3\n", + " Dense Neurons 2: 600\n", + "Accuracy: 78.99\n", + "Testing with: Threshold: 70\n", + " Leeway: 0\n", + " Epoch: 20\n", + " Dense Count 1: 2\n", + " Dense Neurons 1: 2400\n", + " Dense Count 2: 3\n", + " Dense Neurons 2: 1200\n", + "Accuracy: 78.20\n", + "Testing with: Threshold: 70\n", + " Leeway: 0\n", + " Epoch: 20\n", + " Dense Count 1: 2\n", + " Dense Neurons 1: 2400\n", + " Dense Count 2: 3\n", + " Dense Neurons 2: 1800\n", + "Accuracy: 77.88\n", + "Testing with: Threshold: 70\n", + " Leeway: 0\n", + " Epoch: 20\n", + " Dense Count 1: 2\n", + " Dense Neurons 1: 2400\n", + " Dense Count 2: 3\n", + " Dense Neurons 2: 2400\n", + "Accuracy: 77.83\n", + "Testing with: Threshold: 70\n", + " Leeway: 0\n", + " Epoch: 20\n", + " Dense Count 1: 3\n", + " Dense Neurons 1: 600\n", + " Dense Count 2: 1\n", + " Dense Neurons 2: 600\n", + "Accuracy: 77.78\n", + "Testing with: Threshold: 70\n", + " Leeway: 0\n", + " Epoch: 20\n", + " Dense Count 1: 3\n", + " Dense Neurons 1: 600\n", + " Dense Count 2: 1\n", + " Dense Neurons 2: 1200\n", + "Accuracy: 77.93\n", + "Testing with: Threshold: 70\n", + " Leeway: 0\n", + " Epoch: 20\n", + " Dense Count 1: 3\n", + " Dense Neurons 1: 600\n", + " Dense Count 2: 1\n", + " Dense Neurons 2: 1800\n", + "Accuracy: 77.98\n", + "Testing with: Threshold: 70\n", + " Leeway: 0\n", + " Epoch: 20\n", + " Dense Count 1: 3\n", + " Dense Neurons 1: 600\n", + " Dense Count 2: 1\n", + " Dense Neurons 2: 2400\n", + "Accuracy: 78.02\n", + "Testing with: Threshold: 70\n", + " Leeway: 0\n", + " Epoch: 20\n", + " Dense Count 1: 3\n", + " Dense Neurons 1: 600\n", + " Dense Count 2: 2\n", + " Dense Neurons 2: 600\n", + "Accuracy: 78.04\n", + "Testing with: Threshold: 70\n", + " Leeway: 0\n", + " Epoch: 20\n", + " Dense Count 1: 3\n", + " Dense Neurons 1: 600\n", + " Dense Count 2: 2\n", + " Dense Neurons 2: 1200\n", + "Accuracy: 77.59\n", + "Testing with: Threshold: 70\n", + " Leeway: 0\n", + " Epoch: 20\n", + " Dense Count 1: 3\n", + " Dense Neurons 1: 600\n", + " Dense Count 2: 2\n", + " Dense Neurons 2: 1800\n", + "Accuracy: 77.97\n", + "Testing with: Threshold: 70\n", + " Leeway: 0\n", + " Epoch: 20\n", + " Dense Count 1: 3\n", + " Dense Neurons 1: 600\n", + " Dense Count 2: 2\n", + " Dense Neurons 2: 2400\n", + "Accuracy: 77.55\n", + "Testing with: Threshold: 70\n", + " Leeway: 0\n", + " Epoch: 20\n", + " Dense Count 1: 3\n", + " Dense Neurons 1: 600\n", + " Dense Count 2: 3\n", + " Dense Neurons 2: 600\n", + "Accuracy: 77.38\n", + "Testing with: Threshold: 70\n", + " Leeway: 0\n", + " Epoch: 20\n", + " Dense Count 1: 3\n", + " Dense Neurons 1: 600\n", + " Dense Count 2: 3\n", + " Dense Neurons 2: 1200\n", + "Accuracy: 77.40\n", + "Testing with: Threshold: 70\n", + " Leeway: 0\n", + " Epoch: 20\n", + " Dense Count 1: 3\n", + " Dense Neurons 1: 600\n", + " Dense Count 2: 3\n", + " Dense Neurons 2: 1800\n", + "Accuracy: 77.10\n", + "Testing with: Threshold: 70\n", + " Leeway: 0\n", + " Epoch: 20\n", + " Dense Count 1: 3\n", + " Dense Neurons 1: 600\n", + " Dense Count 2: 3\n", + " Dense Neurons 2: 2400\n", + "Accuracy: 76.91\n", + "Testing with: Threshold: 70\n", + " Leeway: 0\n", + " Epoch: 20\n", + " Dense Count 1: 3\n", + " Dense Neurons 1: 1200\n", + " Dense Count 2: 1\n", + " Dense Neurons 2: 600\n", + "Accuracy: 78.61\n", + "Testing with: Threshold: 70\n", + " Leeway: 0\n", + " Epoch: 20\n", + " Dense Count 1: 3\n", + " Dense Neurons 1: 1200\n", + " Dense Count 2: 1\n", + " Dense Neurons 2: 1200\n", + "Accuracy: 78.61\n", + "Testing with: Threshold: 70\n", + " Leeway: 0\n", + " Epoch: 20\n", + " Dense Count 1: 3\n", + " Dense Neurons 1: 1200\n", + " Dense Count 2: 1\n", + " Dense Neurons 2: 1800\n", + "Accuracy: 78.44\n", + "Testing with: Threshold: 70\n", + " Leeway: 0\n", + " Epoch: 20\n", + " Dense Count 1: 3\n", + " Dense Neurons 1: 1200\n", + " Dense Count 2: 1\n", + " Dense Neurons 2: 2400\n", + "Accuracy: 78.40\n", + "Testing with: Threshold: 70\n", + " Leeway: 0\n", + " Epoch: 20\n", + " Dense Count 1: 3\n", + " Dense Neurons 1: 1200\n", + " Dense Count 2: 2\n", + " Dense Neurons 2: 600\n", + "Accuracy: 78.46\n", + "Testing with: Threshold: 70\n", + " Leeway: 0\n", + " Epoch: 20\n", + " Dense Count 1: 3\n", + " Dense Neurons 1: 1200\n", + " Dense Count 2: 2\n", + " Dense Neurons 2: 1200\n", + "Accuracy: 78.59\n", + "Testing with: Threshold: 70\n", + " Leeway: 0\n", + " Epoch: 20\n", + " Dense Count 1: 3\n", + " Dense Neurons 1: 1200\n", + " Dense Count 2: 2\n", + " Dense Neurons 2: 1800\n", + "Accuracy: 78.17\n", + "Testing with: Threshold: 70\n", + " Leeway: 0\n", + " Epoch: 20\n", + " Dense Count 1: 3\n", + " Dense Neurons 1: 1200\n", + " Dense Count 2: 2\n", + " Dense Neurons 2: 2400\n", + "Accuracy: 78.02\n", + "Testing with: Threshold: 70\n", + " Leeway: 0\n", + " Epoch: 20\n", + " Dense Count 1: 3\n", + " Dense Neurons 1: 1200\n", + " Dense Count 2: 3\n", + " Dense Neurons 2: 600\n", + "Accuracy: 78.15\n", + "Testing with: Threshold: 70\n", + " Leeway: 0\n", + " Epoch: 20\n", + " Dense Count 1: 3\n", + " Dense Neurons 1: 1200\n", + " Dense Count 2: 3\n", + " Dense Neurons 2: 1200\n", + "Accuracy: 77.58\n", + "Testing with: Threshold: 70\n", + " Leeway: 0\n", + " Epoch: 20\n", + " Dense Count 1: 3\n", + " Dense Neurons 1: 1200\n", + " Dense Count 2: 3\n", + " Dense Neurons 2: 2400\n", + "Accuracy: 77.02\n", + "Testing with: Threshold: 70\n", + " Leeway: 0\n", + " Epoch: 20\n", + " Dense Count 1: 3\n", + " Dense Neurons 1: 1800\n", + " Dense Count 2: 1\n", + " Dense Neurons 2: 600\n", + "Accuracy: 78.60\n", + "Testing with: Threshold: 70\n", + " Leeway: 0\n", + " Epoch: 20\n", + " Dense Count 1: 3\n", + " Dense Neurons 1: 1800\n", + " Dense Count 2: 1\n", + " Dense Neurons 2: 1200\n", + "Accuracy: 78.39\n", + "Testing with: Threshold: 70\n", + " Leeway: 0\n", + " Epoch: 20\n", + " Dense Count 1: 3\n", + " Dense Neurons 1: 1800\n", + " Dense Count 2: 1\n", + " Dense Neurons 2: 1800\n", + "Accuracy: 78.58\n", + "Testing with: Threshold: 70\n", + " Leeway: 0\n", + " Epoch: 20\n", + " Dense Count 1: 3\n", + " Dense Neurons 1: 1800\n", + " Dense Count 2: 1\n", + " Dense Neurons 2: 2400\n", + "Accuracy: 78.49\n", + "Testing with: Threshold: 70\n", + " Leeway: 0\n", + " Epoch: 20\n", + " Dense Count 1: 3\n", + " Dense Neurons 1: 1800\n", + " Dense Count 2: 2\n", + " Dense Neurons 2: 600\n", + "Accuracy: 78.37\n", + "Testing with: Threshold: 70\n", + " Leeway: 0\n", + " Epoch: 20\n", + " Dense Count 1: 3\n", + " Dense Neurons 1: 1800\n", + " Dense Count 2: 2\n", + " Dense Neurons 2: 1200\n", + "Accuracy: 78.45\n", + "Testing with: Threshold: 70\n", + " Leeway: 0\n", + " Epoch: 20\n", + " Dense Count 1: 3\n", + " Dense Neurons 1: 1800\n", + " Dense Count 2: 2\n", + " Dense Neurons 2: 1800\n", + "Accuracy: 78.02\n", + "Testing with: Threshold: 70\n", + " Leeway: 0\n", + " Epoch: 20\n", + " Dense Count 1: 3\n", + " Dense Neurons 1: 1800\n", + " Dense Count 2: 2\n", + " Dense Neurons 2: 2400\n", + "Accuracy: 77.69\n", + "Testing with: Threshold: 70\n", + " Leeway: 0\n", + " Epoch: 20\n", + " Dense Count 1: 3\n", + " Dense Neurons 1: 1800\n", + " Dense Count 2: 3\n", + " Dense Neurons 2: 600\n", + "Accuracy: 77.95\n", + "Testing with: Threshold: 70\n", + " Leeway: 0\n", + " Epoch: 20\n", + " Dense Count 1: 3\n", + " Dense Neurons 1: 1800\n", + " Dense Count 2: 3\n", + " Dense Neurons 2: 1200\n", + "Accuracy: 77.59\n", + "Testing with: Threshold: 70\n", + " Leeway: 0\n", + " Epoch: 20\n", + " Dense Count 1: 3\n", + " Dense Neurons 1: 1800\n", + " Dense Count 2: 3\n", + " Dense Neurons 2: 1800\n", + "Accuracy: 77.53\n", + "Testing with: Threshold: 70\n", + " Leeway: 0\n", + " Epoch: 20\n", + " Dense Count 1: 3\n", + " Dense Neurons 1: 1800\n", + " Dense Count 2: 3\n", + " Dense Neurons 2: 2400\n", + "Accuracy: 77.26\n", + "Testing with: Threshold: 70\n", + " Leeway: 0\n", + " Epoch: 20\n", + " Dense Count 1: 3\n", + " Dense Neurons 1: 2400\n", + " Dense Count 2: 1\n", + " Dense Neurons 2: 600\n", + "Accuracy: 78.33\n", + "Testing with: Threshold: 70\n", + " Leeway: 0\n", + " Epoch: 20\n", + " Dense Count 1: 3\n", + " Dense Neurons 1: 2400\n", + " Dense Count 2: 1\n", + " Dense Neurons 2: 1200\n", + "Accuracy: 78.39\n", + "Testing with: Threshold: 70\n", + " Leeway: 0\n", + " Epoch: 20\n", + " Dense Count 1: 3\n", + " Dense Neurons 1: 2400\n", + " Dense Count 2: 1\n", + " Dense Neurons 2: 1800\n", + "Accuracy: 78.46\n", + "Testing with: Threshold: 70\n", + " Leeway: 0\n", + " Epoch: 20\n", + " Dense Count 1: 3\n", + " Dense Neurons 1: 2400\n", + " Dense Count 2: 1\n", + " Dense Neurons 2: 2400\n", + "Accuracy: 78.38\n", + "Testing with: Threshold: 70\n", + " Leeway: 0\n", + " Epoch: 20\n", + " Dense Count 1: 3\n", + " Dense Neurons 1: 2400\n", + " Dense Count 2: 2\n", + " Dense Neurons 2: 600\n", + "Accuracy: 78.62\n", + "Testing with: Threshold: 70\n", + " Leeway: 0\n", + " Epoch: 20\n", + " Dense Count 1: 3\n", + " Dense Neurons 1: 2400\n", + " Dense Count 2: 2\n", + " Dense Neurons 2: 1200\n", + "Accuracy: 78.02\n", + "Testing with: Threshold: 70\n", + " Leeway: 0\n", + " Epoch: 20\n", + " Dense Count 1: 3\n", + " Dense Neurons 1: 2400\n", + " Dense Count 2: 2\n", + " Dense Neurons 2: 1800\n" + ] + }, + { + "ename": "KeyboardInterrupt", + "evalue": "", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n", + "\u001b[0;32m\u001b[0m in \u001b[0;36mget_avg_acc\u001b[0;34m(X_train, y_train, X_test, y_test, epoch, dcount, dnons, dcount2, dnons2)\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mi\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mAVG_FROM\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mmodel\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mbuild_model\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdcount\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdnons\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdcount2\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdnons2\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mX_train\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mshape\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 5\u001b[0;31m model.fit(X_train, y_train, \n\u001b[0m\u001b[1;32m 6\u001b[0m \u001b[0mepochs\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mepoch\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[0mbatch_size\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m128\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/opt/jupyterhub/lib/python3.8/site-packages/tensorflow/python/keras/engine/training.py\u001b[0m in \u001b[0;36mfit\u001b[0;34m(self, x, y, batch_size, epochs, verbose, callbacks, validation_split, validation_data, shuffle, class_weight, sample_weight, initial_epoch, steps_per_epoch, validation_steps, validation_batch_size, validation_freq, max_queue_size, workers, use_multiprocessing)\u001b[0m\n\u001b[1;32m 1129\u001b[0m \u001b[0mmodel\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1130\u001b[0m steps_per_execution=self._steps_per_execution)\n\u001b[0;32m-> 1131\u001b[0;31m val_logs = self.evaluate(\n\u001b[0m\u001b[1;32m 1132\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mval_x\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1133\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mval_y\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/opt/jupyterhub/lib/python3.8/site-packages/tensorflow/python/keras/engine/training.py\u001b[0m in \u001b[0;36mevaluate\u001b[0;34m(self, x, y, batch_size, verbose, sample_weight, steps, callbacks, max_queue_size, workers, use_multiprocessing, return_dict)\u001b[0m\n\u001b[1;32m 1387\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0mtrace\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mTrace\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'test'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mstep_num\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mstep\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0m_r\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1388\u001b[0m \u001b[0mcallbacks\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mon_test_batch_begin\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mstep\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1389\u001b[0;31m \u001b[0mtmp_logs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtest_function\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0miterator\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1390\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mdata_handler\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mshould_sync\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1391\u001b[0m \u001b[0mcontext\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0masync_wait\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/opt/jupyterhub/lib/python3.8/site-packages/tensorflow/python/eager/def_function.py\u001b[0m in \u001b[0;36m__call__\u001b[0;34m(self, *args, **kwds)\u001b[0m\n\u001b[1;32m 826\u001b[0m \u001b[0mtracing_count\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mexperimental_get_tracing_count\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 827\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0mtrace\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mTrace\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_name\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mtm\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 828\u001b[0;31m \u001b[0mresult\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_call\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwds\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 829\u001b[0m \u001b[0mcompiler\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m\"xla\"\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_experimental_compile\u001b[0m \u001b[0;32melse\u001b[0m \u001b[0;34m\"nonXla\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 830\u001b[0m \u001b[0mnew_tracing_count\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mexperimental_get_tracing_count\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/opt/jupyterhub/lib/python3.8/site-packages/tensorflow/python/eager/def_function.py\u001b[0m in \u001b[0;36m_call\u001b[0;34m(self, *args, **kwds)\u001b[0m\n\u001b[1;32m 860\u001b[0m \u001b[0;31m# In this case we have not created variables on the first call. So we can\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 861\u001b[0m \u001b[0;31m# run the first trace but we should fail if variables are created.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 862\u001b[0;31m \u001b[0mresults\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_stateful_fn\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwds\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 863\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_created_variables\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 864\u001b[0m raise ValueError(\"Creating variables on a non-first call to a function\"\n", + "\u001b[0;32m/opt/jupyterhub/lib/python3.8/site-packages/tensorflow/python/eager/function.py\u001b[0m in \u001b[0;36m__call__\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 2940\u001b[0m (graph_function,\n\u001b[1;32m 2941\u001b[0m filtered_flat_args) = self._maybe_define_function(args, kwargs)\n\u001b[0;32m-> 2942\u001b[0;31m return graph_function._call_flat(\n\u001b[0m\u001b[1;32m 2943\u001b[0m filtered_flat_args, captured_inputs=graph_function.captured_inputs) # pylint: disable=protected-access\n\u001b[1;32m 2944\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/opt/jupyterhub/lib/python3.8/site-packages/tensorflow/python/eager/function.py\u001b[0m in \u001b[0;36m_call_flat\u001b[0;34m(self, args, captured_inputs, cancellation_manager)\u001b[0m\n\u001b[1;32m 1916\u001b[0m and executing_eagerly):\n\u001b[1;32m 1917\u001b[0m \u001b[0;31m# No tape is watching; skip to running the function.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1918\u001b[0;31m return self._build_call_outputs(self._inference_function.call(\n\u001b[0m\u001b[1;32m 1919\u001b[0m ctx, args, cancellation_manager=cancellation_manager))\n\u001b[1;32m 1920\u001b[0m forward_backward = self._select_forward_and_backward_functions(\n", + "\u001b[0;32m/opt/jupyterhub/lib/python3.8/site-packages/tensorflow/python/eager/function.py\u001b[0m in \u001b[0;36mcall\u001b[0;34m(self, ctx, args, cancellation_manager)\u001b[0m\n\u001b[1;32m 553\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0m_InterpolateFunctionError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 554\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mcancellation_manager\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 555\u001b[0;31m outputs = execute.execute(\n\u001b[0m\u001b[1;32m 556\u001b[0m \u001b[0mstr\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msignature\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mname\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 557\u001b[0m \u001b[0mnum_outputs\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_num_outputs\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/opt/jupyterhub/lib/python3.8/site-packages/tensorflow/python/eager/execute.py\u001b[0m in \u001b[0;36mquick_execute\u001b[0;34m(op_name, num_outputs, inputs, attrs, ctx, name)\u001b[0m\n\u001b[1;32m 57\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 58\u001b[0m \u001b[0mctx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mensure_initialized\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 59\u001b[0;31m tensors = pywrap_tfe.TFE_Py_Execute(ctx._handle, device_name, op_name,\n\u001b[0m\u001b[1;32m 60\u001b[0m inputs, attrs, num_outputs)\n\u001b[1;32m 61\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mcore\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_NotOkStatusException\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mKeyboardInterrupt\u001b[0m: " ] } ], @@ -974,13 +1394,14 @@ " 'DENSE_COUNT2': dc2,\n", " 'DENSE_NEURON2': dn2,\n", " 'Accuracy': acc}, ignore_index=True)\n", - " print(f\"Accuracy: {acc*100:.2f}\\n\\n\")" + " print(f\"Accuracy: {acc*100:.2f}\\n\\n\")\n", + " result.to_csv('results.csv', header=False)" ] }, { "cell_type": "code", - "execution_count": null, - "id": "89a47c03", + "execution_count": 13, + "id": "88b3193a", "metadata": {}, "outputs": [], "source": [ @@ -989,8 +1410,8 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "7520408c", + "execution_count": 14, + "id": "5219e081", "metadata": {}, "outputs": [], "source": [ diff --git a/1-first-project/tdt/NeuralNetwork.ipynb b/1-first-project/tdt/NeuralNetwork.ipynb index 10c5e59..5317342 100644 --- a/1-first-project/tdt/NeuralNetwork.ipynb +++ b/1-first-project/tdt/NeuralNetwork.ipynb @@ -3,7 +3,7 @@ { "cell_type": "code", "execution_count": 1, - "id": "f9261918", + "id": "3bd1d4f2", "metadata": {}, "outputs": [], "source": [ @@ -14,7 +14,7 @@ { "cell_type": "code", "execution_count": 2, - "id": "a22e78f7", + "id": "f36963d0", "metadata": {}, "outputs": [], "source": [ @@ -29,28 +29,28 @@ }, { "cell_type": "code", - "execution_count": 42, - "id": "592e5107", + "execution_count": 3, + "id": "9d1e0e27", "metadata": {}, "outputs": [], "source": [ "THRESH = 70\n", - "LEEWAY = 2\n", - "EPOCH = 30\n", + "LEEWAY = 0\n", + "EPOCH = 20\n", "\n", - "DENSE_COUNT = 3\n", - "DENSE_NEURONS = 1800\n", + "DENSE_COUNT = 2\n", + "DENSE_NEURONS = 2400\n", "\n", - "DENSE2_COUNT = 2\n", - "DENSE2_NEURONS = 0\n", + "DENSE2_COUNT = 3\n", + "DENSE2_NEURONS = 600\n", "\n", "AVG_FROM = 20" ] }, { "cell_type": "code", - "execution_count": 43, - "id": "63671cad", + "execution_count": 4, + "id": "ba1c83b2", "metadata": {}, "outputs": [], "source": [ @@ -60,59 +60,13 @@ " leeway = LEEWAY\n", " \n", " temps_over_T = np.where(temp > thresh)[0]\n", - " print(temps_over_T)\n", " return npList[max(temps_over_T[0]-leeway,0):min(len(npList)-1,temps_over_T[-1]+leeway)]" ] }, { "cell_type": "code", - "execution_count": 44, - "id": "166cc6b8", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161\n", - " 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 196 197 198\n", - " 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214]\n" - ] - }, - { - "data": { - "text/plain": [ - "[]" - ] - }, - "execution_count": 44, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "import matplotlib.pyplot as plt\n", - "idata = shorten(X[5])['Force']\n", - "plt.plot(range(len(idata)), idata)\n", - "plt.plot(range(len(X[5]['Force'])),X[5]['Force'])" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "id": "9d829440", + "execution_count": 5, + "id": "a79b4c35", "metadata": {}, "outputs": [], "source": [ @@ -132,8 +86,8 @@ }, { "cell_type": "code", - "execution_count": 24, - "id": "0cd6bffc", + "execution_count": 6, + "id": "fb79455c", "metadata": {}, "outputs": [], "source": [ @@ -156,16 +110,16 @@ }, { "cell_type": "code", - "execution_count": 25, - "id": "0455518d", + "execution_count": 7, + "id": "f35f6309", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 3.58 s, sys: 74.8 ms, total: 3.65 s\n", - "Wall time: 3.65 s\n" + "CPU times: user 2.86 s, sys: 198 ms, total: 3.06 s\n", + "Wall time: 3.06 s\n" ] }, { @@ -174,7 +128,7 @@ "(13102,)" ] }, - "execution_count": 25, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -186,85 +140,30 @@ "X.shape" ] }, - { - "cell_type": "code", - "execution_count": 26, - "id": "c96adaf7", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[]" - ] - }, - "execution_count": 26, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "import matplotlib.pyplot as plt\n", - "idata = shorten(X[5])['Force']\n", - "plt.plot(range(len(idata)), idata)\n", - "plt.plot(range(len(X[5]['Force'])),X[5]['Force'])" - ] - }, { "cell_type": "code", "execution_count": 8, - "id": "2512addb", + "id": "38d1e707", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 3.14 s, sys: 9.72 ms, total: 3.15 s\n", - "Wall time: 3.15 s\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - ":1: VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray\n" + "CPU times: user 3.17 s, sys: 15.3 ms, total: 3.18 s\n", + "Wall time: 3.18 s\n" ] } ], "source": [ "%%time\n", - "XX = np.array(list(map(shorten, X)))\n" - ] - }, - { - "cell_type": "markdown", - "id": "e9c16d84", - "metadata": {}, - "source": [ - "**How to fix this error**:\n", - "```python\n", - ":1: VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray\n", - "```\n", - "\n" + "XX = np.array(list(map(shorten, X)), dtype=object)" ] }, { "cell_type": "code", "execution_count": 9, - "id": "28262137", + "id": "e988ec16", "metadata": {}, "outputs": [ { @@ -302,7 +201,7 @@ } ], "source": [ - "\n", + "import matplotlib.pyplot as plt\n", "\n", "X_len = np.asarray(list(map(len, XX)))\n", "l = []\n", @@ -317,7 +216,7 @@ { "cell_type": "code", "execution_count": 10, - "id": "64fce587", + "id": "1681bfe1", "metadata": {}, "outputs": [], "source": [ @@ -345,7 +244,7 @@ { "cell_type": "code", "execution_count": 11, - "id": "bd86589d", + "id": "04e0b2c7", "metadata": {}, "outputs": [ { @@ -373,7 +272,7 @@ { "cell_type": "code", "execution_count": 12, - "id": "ce528a76", + "id": "65ddb49e", "metadata": {}, "outputs": [], "source": [ @@ -384,7 +283,7 @@ { "cell_type": "code", "execution_count": 13, - "id": "59bf9140", + "id": "05bce242", "metadata": {}, "outputs": [], "source": [ @@ -394,7 +293,7 @@ { "cell_type": "code", "execution_count": 14, - "id": "66338e0b", + "id": "aa321f41", "metadata": {}, "outputs": [], "source": [ @@ -423,7 +322,7 @@ { "cell_type": "code", "execution_count": 15, - "id": "8df7f1f4", + "id": "51277ff0", "metadata": {}, "outputs": [ { @@ -470,7 +369,7 @@ }, { "cell_type": "markdown", - "id": "289b59cc", + "id": "3c0d675d", "metadata": {}, "source": [ "fig, axs = plt.subplots(13,2,figsize=(20, 60), sharey=True)\n", @@ -488,19 +387,19 @@ { "cell_type": "code", "execution_count": 16, - "id": "13d90f08", + "id": "e274802c", "metadata": {}, "outputs": [], "source": [ "# FIRST CELL: set these variables to limit GPU usage.\n", "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." + "os.environ['CUDA_VISIBLE_DEVICES'] = '1' # set to '0' for GPU0, '1' for GPU1 or '2' for GPU2. Check \"gpustat\" in a terminal." ] }, { "cell_type": "code", "execution_count": 17, - "id": "c52f868c", + "id": "dcc6adc8", "metadata": {}, "outputs": [], "source": [ @@ -510,7 +409,7 @@ { "cell_type": "code", "execution_count": 18, - "id": "93d225c1", + "id": "0c3c62a9", "metadata": {}, "outputs": [], "source": [ @@ -547,15 +446,15 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "29d17e4c", + "execution_count": 19, + "id": "08c34d33", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - " 0%| | 0/20 [00:00