machinelearning

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit b98d5a0c98bae5873b5ac1c5c90b78ad1bee6de2
parent 53cfb87457de6a8a7f2ef8c901d0fb0bbf32d2d5
Author: Andrew <andrewlaack1@gmail.com>
Date:   Fri, 14 Jun 2024 15:04:08 -0500

v

Diffstat:
Mmnist/MNISTRegressionClassificationNN.ipynb | 134+++++++++++++++++++++++++++++++++++++++++++------------------------------------
1 file changed, 73 insertions(+), 61 deletions(-)

diff --git a/mnist/MNISTRegressionClassificationNN.ipynb b/mnist/MNISTRegressionClassificationNN.ipynb @@ -13,18 +13,18 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "2024-06-11 11:01:32.011039: I external/local_tsl/tsl/cuda/cudart_stub.cc:32] Could not find cuda drivers on your machine, GPU will not be used.\n", - "2024-06-11 11:01:32.014718: I external/local_tsl/tsl/cuda/cudart_stub.cc:32] Could not find cuda drivers on your machine, GPU will not be used.\n", - "2024-06-11 11:01:32.057818: I tensorflow/core/platform/cpu_feature_guard.cc:210] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.\n", + "2024-06-14 11:57:09.924151: I external/local_tsl/tsl/cuda/cudart_stub.cc:32] Could not find cuda drivers on your machine, GPU will not be used.\n", + "2024-06-14 11:57:09.927539: I external/local_tsl/tsl/cuda/cudart_stub.cc:32] Could not find cuda drivers on your machine, GPU will not be used.\n", + "2024-06-14 11:57:09.970132: I tensorflow/core/platform/cpu_feature_guard.cc:210] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.\n", "To enable the following instructions: AVX2 FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.\n", - "2024-06-11 11:01:32.797741: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT\n" + "2024-06-14 11:57:10.704842: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT\n" ] } ], @@ -38,7 +38,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "metadata": {}, "outputs": [ { @@ -47,7 +47,7 @@ "(70000, 784)" ] }, - "execution_count": 3, + "execution_count": 2, "metadata": {}, "output_type": "execute_result" } @@ -60,7 +60,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ @@ -80,15 +80,15 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "2024-06-11 11:01:47.515719: I external/local_xla/xla/stream_executor/cuda/cuda_executor.cc:998] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355\n", - "2024-06-11 11:01:47.516239: W tensorflow/core/common_runtime/gpu/gpu_device.cc:2251] Cannot dlopen some GPU libraries. Please make sure the missing libraries mentioned above are installed properly if you would like to use GPU. Follow the guide at https://www.tensorflow.org/install/gpu for how to download and setup the required libraries for your platform.\n", + "2024-06-14 11:57:17.182720: I external/local_xla/xla/stream_executor/cuda/cuda_executor.cc:998] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero. See more at https://github.com/torvalds/linux/blob/v6.0/Documentation/ABI/testing/sysfs-bus-pci#L344-L355\n", + "2024-06-14 11:57:17.184240: W tensorflow/core/common_runtime/gpu/gpu_device.cc:2251] Cannot dlopen some GPU libraries. Please make sure the missing libraries mentioned above are installed properly if you would like to use GPU. Follow the guide at https://www.tensorflow.org/install/gpu for how to download and setup the required libraries for your platform.\n", "Skipping registering GPU devices...\n" ] } @@ -110,7 +110,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 5, "metadata": {}, "outputs": [ { @@ -205,7 +205,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 6, "metadata": {}, "outputs": [], "source": [ @@ -215,88 +215,82 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Epoch 1/30\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 1ms/step - accuracy: 0.1138 - loss: 222.9251 - val_accuracy: 0.1199 - val_loss: 7.9898\n", + "Epoch 1/30\n", + "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 1ms/step - loss: 202.9985 - mae: 7.8408 - val_loss: 4.2281 - val_mae: 1.6003\n", "Epoch 2/30\n", - "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 1ms/step - accuracy: 0.1301 - loss: 5.0046 - val_accuracy: 0.1330 - val_loss: 3.2245\n", + "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 1ms/step - loss: 4.2868 - mae: 1.6209 - val_loss: 3.1366 - val_mae: 1.3650\n", "Epoch 3/30\n", - "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 1ms/step - accuracy: 0.1341 - loss: 3.3604 - val_accuracy: 0.1118 - val_loss: 4.7502\n", + "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 1ms/step - loss: 3.0048 - mae: 1.3345 - val_loss: 2.1976 - val_mae: 1.1122\n", "Epoch 4/30\n", - "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 1ms/step - accuracy: 0.1357 - loss: 2.6554 - val_accuracy: 0.1126 - val_loss: 2.4580\n", + "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 1ms/step - loss: 2.1743 - mae: 1.1217 - val_loss: 1.8770 - val_mae: 1.0113\n", "Epoch 5/30\n", - "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 1ms/step - accuracy: 0.1494 - loss: 1.7955 - val_accuracy: 0.1631 - val_loss: 1.7636\n", + "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 1ms/step - loss: 1.6681 - mae: 0.9647 - val_loss: 1.4420 - val_mae: 0.8738\n", "Epoch 6/30\n", - "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 1ms/step - accuracy: 0.1558 - loss: 1.3815 - val_accuracy: 0.1415 - val_loss: 1.2325\n", + "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 1ms/step - loss: 1.3077 - mae: 0.8395 - val_loss: 1.5200 - val_mae: 0.9104\n", "Epoch 7/30\n", - "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 1ms/step - accuracy: 0.1644 - loss: 1.0503 - val_accuracy: 0.1847 - val_loss: 1.0859\n", + "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 1ms/step - loss: 0.9894 - mae: 0.7081 - val_loss: 1.4996 - val_mae: 0.9626\n", "Epoch 8/30\n", - "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 1ms/step - accuracy: 0.1766 - loss: 0.8273 - val_accuracy: 0.1707 - val_loss: 1.0465\n", + "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 1ms/step - loss: 0.8075 - mae: 0.6240 - val_loss: 1.0141 - val_mae: 0.6623\n", "Epoch 9/30\n", - "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 1ms/step - accuracy: 0.1835 - loss: 0.7227 - val_accuracy: 0.1813 - val_loss: 0.7586\n", + "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 1ms/step - loss: 0.6778 - mae: 0.5564 - val_loss: 0.8471 - val_mae: 0.5888\n", "Epoch 10/30\n", - "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 1ms/step - accuracy: 0.1827 - loss: 0.6235 - val_accuracy: 0.1931 - val_loss: 0.7283\n", + "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 1ms/step - loss: 0.5963 - mae: 0.5153 - val_loss: 0.7413 - val_mae: 0.5223\n", "Epoch 11/30\n", - "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 1ms/step - accuracy: 0.1825 - loss: 0.5756 - val_accuracy: 0.1542 - val_loss: 0.7893\n", + "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 1ms/step - loss: 0.5044 - mae: 0.4551 - val_loss: 0.6787 - val_mae: 0.4632\n", "Epoch 12/30\n", - "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 1ms/step - accuracy: 0.1900 - loss: 0.4808 - val_accuracy: 0.1903 - val_loss: 0.7062\n", + "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 1ms/step - loss: 0.4623 - mae: 0.4353 - val_loss: 0.6637 - val_mae: 0.4663\n", "Epoch 13/30\n", - "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 1ms/step - accuracy: 0.1955 - loss: 0.4436 - val_accuracy: 0.1995 - val_loss: 0.7161\n", + "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 1ms/step - loss: 0.3952 - mae: 0.3990 - val_loss: 0.6840 - val_mae: 0.4617\n", "Epoch 14/30\n", - "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 1ms/step - accuracy: 0.1892 - loss: 0.4469 - val_accuracy: 0.1789 - val_loss: 0.6684\n", + "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 1ms/step - loss: 0.3724 - mae: 0.3854 - val_loss: 0.6865 - val_mae: 0.4951\n", "Epoch 15/30\n", - "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 1ms/step - accuracy: 0.1950 - loss: 0.3970 - val_accuracy: 0.1193 - val_loss: 0.7309\n", + "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 2ms/step - loss: 0.3377 - mae: 0.3649 - val_loss: 0.5628 - val_mae: 0.3864\n", "Epoch 16/30\n", - "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 1ms/step - accuracy: 0.1945 - loss: 0.3584 - val_accuracy: 0.1604 - val_loss: 0.5815\n", + "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 2ms/step - loss: 0.2954 - mae: 0.3337 - val_loss: 0.6157 - val_mae: 0.4369\n", "Epoch 17/30\n", - "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 1ms/step - accuracy: 0.1989 - loss: 0.3285 - val_accuracy: 0.2011 - val_loss: 0.6027\n", + "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m5s\u001b[0m 2ms/step - loss: 0.2833 - mae: 0.3199 - val_loss: 0.5496 - val_mae: 0.3746\n", "Epoch 18/30\n", - "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 1ms/step - accuracy: 0.1927 - loss: 0.3314 - val_accuracy: 0.2016 - val_loss: 0.5064\n", + "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 1ms/step - loss: 0.2465 - mae: 0.3095 - val_loss: 0.6086 - val_mae: 0.4012\n", "Epoch 19/30\n", - "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 1ms/step - accuracy: 0.1990 - loss: 0.2962 - val_accuracy: 0.2012 - val_loss: 0.5226\n", + "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 1ms/step - loss: 0.2436 - mae: 0.3003 - val_loss: 0.5564 - val_mae: 0.3431\n", "Epoch 20/30\n", - "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 1ms/step - accuracy: 0.2079 - loss: 0.2676 - val_accuracy: 0.1995 - val_loss: 0.5952\n", + "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 1ms/step - loss: 0.2413 - mae: 0.2940 - val_loss: 0.5232 - val_mae: 0.3490\n", "Epoch 21/30\n", - "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 1ms/step - accuracy: 0.2021 - loss: 0.2709 - val_accuracy: 0.2036 - val_loss: 0.5544\n", + "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 1ms/step - loss: 0.2087 - mae: 0.2784 - val_loss: 0.5680 - val_mae: 0.3854\n", "Epoch 22/30\n", - "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 1ms/step - accuracy: 0.2027 - loss: 0.2493 - val_accuracy: 0.2012 - val_loss: 0.5411\n", + "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 1ms/step - loss: 0.2286 - mae: 0.2898 - val_loss: 0.5172 - val_mae: 0.3380\n", "Epoch 23/30\n", - "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 1ms/step - accuracy: 0.2090 - loss: 0.2353 - val_accuracy: 0.2035 - val_loss: 0.4856\n", + "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 1ms/step - loss: 0.2041 - mae: 0.2718 - val_loss: 0.4947 - val_mae: 0.3167\n", "Epoch 24/30\n", - "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 1ms/step - accuracy: 0.2064 - loss: 0.2244 - val_accuracy: 0.1806 - val_loss: 0.5377\n", + "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 1ms/step - loss: 0.1863 - mae: 0.2601 - val_loss: 0.5392 - val_mae: 0.3530\n", "Epoch 25/30\n", - "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 1ms/step - accuracy: 0.2076 - loss: 0.2348 - val_accuracy: 0.2038 - val_loss: 0.5044\n", + "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 1ms/step - loss: 0.1917 - mae: 0.2661 - val_loss: 0.5393 - val_mae: 0.3282\n", "Epoch 26/30\n", - "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 1ms/step - accuracy: 0.2053 - loss: 0.2084 - val_accuracy: 0.2024 - val_loss: 0.4909\n", + "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 1ms/step - loss: 0.1691 - mae: 0.2516 - val_loss: 0.4788 - val_mae: 0.3174\n", "Epoch 27/30\n", - "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 1ms/step - accuracy: 0.2112 - loss: 0.1926 - val_accuracy: 0.2032 - val_loss: 0.5354\n", + "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 1ms/step - loss: 0.1597 - mae: 0.2428 - val_loss: 0.5443 - val_mae: 0.3862\n", "Epoch 28/30\n", - "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 1ms/step - accuracy: 0.2056 - loss: 0.1908 - val_accuracy: 0.2018 - val_loss: 0.4798\n", + "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 1ms/step - loss: 0.1663 - mae: 0.2417 - val_loss: 0.4760 - val_mae: 0.3027\n", "Epoch 29/30\n", - "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 1ms/step - accuracy: 0.2100 - loss: 0.1958 - val_accuracy: 0.2008 - val_loss: 0.5213\n", + "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 1ms/step - loss: 0.1673 - mae: 0.2456 - val_loss: 0.5956 - val_mae: 0.3623\n", "Epoch 30/30\n", - "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 1ms/step - accuracy: 0.2081 - loss: 0.2056 - val_accuracy: 0.2031 - val_loss: 0.4574\n" + "\u001b[1m1641/1641\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 1ms/step - loss: 0.1619 - mae: 0.2360 - val_loss: 0.4810 - val_mae: 0.3082\n" ] }, { "data": { "text/plain": [ - "<keras.src.callbacks.history.History at 0x7fcc41b0b510>" + "<keras.src.callbacks.history.History at 0x7fb8eca64ad0>" ] }, - "execution_count": 8, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -314,14 +308,14 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "\u001b[1m547/547\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 652us/step\n" + "\u001b[1m547/547\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 627us/step\n" ] } ], @@ -331,7 +325,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 9, "metadata": {}, "outputs": [], "source": [ @@ -343,7 +337,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 10, "metadata": {}, "outputs": [], "source": [ @@ -361,16 +355,16 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "15378\n", - "2122\n", - "0.8787428571428572\n" + "15254\n", + "2246\n", + "0.8716571428571429\n" ] } ], @@ -379,6 +373,24 @@ "print(wrong)\n", "print(correct / (correct + wrong))" ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], + "source": [ + "model.save('../models/MNISTClassificationModel.keras')" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "loadedModel = tf.keras.models.load_model('../models/MNISTClassificationModel.keras')" + ] } ], "metadata": {