{ "nbformat": 4, "nbformat_minor": 0, "metadata": { "colab": { "provenance": [] }, "kernelspec": { "name": "python3", "display_name": "Python 3" }, "language_info": { "name": "python" } }, "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "id": "VbFGMGSuD6ah", "colab": { "base_uri": "https://localhost:8080/" }, "outputId": "146bf567-96f5-4a99-ea61-79764b967f8d" }, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Tensorflow version: 2.12.0\n", "Keras version: 2.12.0\n" ] } ], "source": [ "import tensorflow as tf\n", "import numpy as np\n", "import math\n", "\n", "print('Tensorflow version:', tf.__version__)\n", "print('Keras version:', tf.keras.__version__)" ] }, { "cell_type": "code", "source": [ "mnist_dataset = tf.keras.datasets.mnist\n", "(x_train, y_train), (x_test, y_test) = mnist_dataset.load_data()" ], "metadata": { "id": "vVlqmwDZIogB" }, "execution_count": 2, "outputs": [] }, { "cell_type": "code", "source": [ "print('x_train:', x_train.shape)\n", "print('y_train:', y_train.shape)\n", "print('x_test:', x_test.shape)\n", "print('y_test:', y_test.shape)" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "If3m6kQ-I0E7", "outputId": "83c804c4-8fdc-4d08-874a-c02cbfe3a188" }, "execution_count": 3, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "x_train: (60000, 28, 28)\n", "y_train: (60000,)\n", "x_test: (10000, 28, 28)\n", "y_test: (10000,)\n" ] } ] }, { "cell_type": "code", "source": [ "x_train_normalized = x_train / 255\n", "x_test_normalized = x_test / 255" ], "metadata": { "id": "t_kqUGgRJCeD" }, "execution_count": 4, "outputs": [] }, { "cell_type": "code", "source": [ "model = tf.keras.models.Sequential()\n", "\n", "model.add(tf.keras.layers.Flatten(input_shape=x_train_normalized.shape[1:]))\n", "model.add(tf.keras.layers.Dense(\n", " units=128,\n", " activation=tf.keras.activations.relu,\n", " kernel_regularizer=tf.keras.regularizers.l2(0.002)\n", "))\n", "model.add(tf.keras.layers.Dense(\n", " units=128,\n", " activation=tf.keras.activations.relu,\n", " kernel_regularizer=tf.keras.regularizers.l2(0.002)\n", "))\n", "model.add(tf.keras.layers.Dense(\n", " units=256,\n", " activation=tf.keras.activations.relu,\n", " kernel_regularizer=tf.keras.regularizers.l2(0.002)\n", "))\n", "model.add(tf.keras.layers.Dense(\n", " units=128,\n", " activation=tf.keras.activations.relu,\n", " kernel_regularizer=tf.keras.regularizers.l2(0.002)\n", "))\n", "model.add(tf.keras.layers.Dense(\n", " units=10,\n", " activation=tf.keras.activations.softmax\n", "))" ], "metadata": { "id": "AZakRf4FJDVU" }, "execution_count": 5, "outputs": [] }, { "cell_type": "code", "source": [ "model.summary()" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "BPQbyhXtKIaV", "outputId": "6d976e09-aeeb-47b1-d8ce-e57bb094b844" }, "execution_count": 6, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Model: \"sequential\"\n", "_________________________________________________________________\n", " Layer (type) Output Shape Param # \n", "=================================================================\n", " flatten (Flatten) (None, 784) 0 \n", " \n", " dense (Dense) (None, 128) 100480 \n", " \n", " dense_1 (Dense) (None, 128) 16512 \n", " \n", " dense_2 (Dense) (None, 256) 33024 \n", " \n", " dense_3 (Dense) (None, 128) 32896 \n", " \n", " dense_4 (Dense) (None, 10) 1290 \n", " \n", "=================================================================\n", "Total params: 184,202\n", "Trainable params: 184,202\n", "Non-trainable params: 0\n", "_________________________________________________________________\n" ] } ] }, { "cell_type": "code", "source": [ "tf.keras.utils.plot_model(\n", " model,\n", " show_shapes=True,\n", " show_layer_names=True,\n", " show_layer_activations=True\n", ")" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 754 }, "id": "ow5FXTsuKOxO", "outputId": "113abbfb-7001-4045-94ad-39d642704670" }, "execution_count": 7, "outputs": [ { "output_type": "execute_result", "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "execution_count": 7 } ] }, { "cell_type": "code", "source": [ "adam_optimizer = tf.keras.optimizers.Adam(learning_rate=0.0001)\n", "\n", "model.compile(\n", " optimizer=adam_optimizer,\n", " loss=tf.keras.losses.sparse_categorical_crossentropy,\n", " metrics=['accuracy']\n", ")" ], "metadata": { "id": "KSvg_9owKYmN" }, "execution_count": 8, "outputs": [] }, { "cell_type": "code", "source": [ "model.fit(\n", " x_train_normalized,\n", " y_train,\n", " epochs=20,\n", " validation_data=(x_test_normalized[:5000], y_test[:5000]),\n", ")" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "LvcWeLwtKkOT", "outputId": "1c76098b-689f-4689-8829-9a199c39e7b5" }, "execution_count": 9, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Epoch 1/20\n", "1875/1875 [==============================] - 13s 6ms/step - loss: 1.3872 - accuracy: 0.8697 - val_loss: 1.0446 - val_accuracy: 0.9152\n", "Epoch 2/20\n", "1875/1875 [==============================] - 16s 9ms/step - loss: 0.8811 - accuracy: 0.9396 - val_loss: 0.8314 - val_accuracy: 0.9310\n", "Epoch 3/20\n", "1875/1875 [==============================] - 14s 7ms/step - loss: 0.7184 - accuracy: 0.9510 - val_loss: 0.7091 - val_accuracy: 0.9358\n", "Epoch 4/20\n", "1875/1875 [==============================] - 12s 6ms/step - loss: 0.6041 - accuracy: 0.9573 - val_loss: 0.5985 - val_accuracy: 0.9450\n", "Epoch 5/20\n", "1875/1875 [==============================] - 11s 6ms/step - loss: 0.5179 - accuracy: 0.9627 - val_loss: 0.5283 - val_accuracy: 0.9478\n", "Epoch 6/20\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.4529 - accuracy: 0.9664 - val_loss: 0.4722 - val_accuracy: 0.9490\n", "Epoch 7/20\n", "1875/1875 [==============================] - 11s 6ms/step - loss: 0.4019 - accuracy: 0.9693 - val_loss: 0.4224 - val_accuracy: 0.9538\n", "Epoch 8/20\n", "1875/1875 [==============================] - 12s 6ms/step - loss: 0.3636 - accuracy: 0.9714 - val_loss: 0.3964 - val_accuracy: 0.9534\n", "Epoch 9/20\n", "1875/1875 [==============================] - 12s 6ms/step - loss: 0.3325 - accuracy: 0.9733 - val_loss: 0.3565 - val_accuracy: 0.9564\n", "Epoch 10/20\n", "1875/1875 [==============================] - 12s 6ms/step - loss: 0.3083 - accuracy: 0.9755 - val_loss: 0.3649 - val_accuracy: 0.9486\n", "Epoch 11/20\n", "1875/1875 [==============================] - 12s 6ms/step - loss: 0.2894 - accuracy: 0.9762 - val_loss: 0.3252 - val_accuracy: 0.9604\n", "Epoch 12/20\n", "1875/1875 [==============================] - 11s 6ms/step - loss: 0.2740 - accuracy: 0.9779 - val_loss: 0.3137 - val_accuracy: 0.9602\n", "Epoch 13/20\n", "1875/1875 [==============================] - 12s 6ms/step - loss: 0.2613 - accuracy: 0.9781 - val_loss: 0.3059 - val_accuracy: 0.9618\n", "Epoch 14/20\n", "1875/1875 [==============================] - 12s 6ms/step - loss: 0.2497 - accuracy: 0.9789 - val_loss: 0.2970 - val_accuracy: 0.9604\n", "Epoch 15/20\n", "1875/1875 [==============================] - 12s 6ms/step - loss: 0.2409 - accuracy: 0.9794 - val_loss: 0.2789 - val_accuracy: 0.9656\n", "Epoch 16/20\n", "1875/1875 [==============================] - 11s 6ms/step - loss: 0.2327 - accuracy: 0.9808 - val_loss: 0.2767 - val_accuracy: 0.9648\n", "Epoch 17/20\n", "1875/1875 [==============================] - 9s 5ms/step - loss: 0.2255 - accuracy: 0.9818 - val_loss: 0.2637 - val_accuracy: 0.9666\n", "Epoch 18/20\n", "1875/1875 [==============================] - 10s 5ms/step - loss: 0.2197 - accuracy: 0.9821 - val_loss: 0.2738 - val_accuracy: 0.9616\n", "Epoch 19/20\n", "1875/1875 [==============================] - 11s 6ms/step - loss: 0.2146 - accuracy: 0.9822 - val_loss: 0.2646 - val_accuracy: 0.9624\n", "Epoch 20/20\n", "1875/1875 [==============================] - 11s 6ms/step - loss: 0.2091 - accuracy: 0.9832 - val_loss: 0.2492 - val_accuracy: 0.9676\n" ] }, { "output_type": "execute_result", "data": { "text/plain": [ "" ] }, "metadata": {}, "execution_count": 9 } ] }, { "cell_type": "code", "source": [ "model.save('My_model')" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "Bi49maNlTi42", "outputId": "30bfd7e8-1e8d-49b3-e993-a177ebf1edba" }, "execution_count": 10, "outputs": [ { "output_type": "stream", "name": "stderr", "text": [ "WARNING:absl:Found untraced functions such as _update_step_xla while saving (showing 1 of 1). These functions will not be directly callable after loading.\n" ] } ] }, { "cell_type": "code", "source": [ "train_loss, train_accuracy = model.evaluate(x_train_normalized, y_train)\n", "print('Training loss: ', train_loss)\n", "print('Training accuracy: ', train_accuracy)" ], "metadata": { "id": "edMfWjlptiPy", "outputId": "3d3c2efd-97cb-44d0-ee2f-bdafd8db03c4", "colab": { "base_uri": "https://localhost:8080/" } }, "execution_count": 11, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "1875/1875 [==============================] - 6s 3ms/step - loss: 0.1969 - accuracy: 0.9866\n", "Training loss: 0.1968870609998703\n", "Training accuracy: 0.9866499900817871\n" ] } ] }, { "cell_type": "code", "source": [ "val_loss, val_accuracy = model.evaluate(x_test_normalized[:5000], y_test[:5000])\n", "print('Validation loss: ', val_loss)\n", "print('Validation accuracy: ', val_accuracy)" ], "metadata": { "id": "-3s8T6jwuCsY", "outputId": "fd00200e-9bb3-461b-9be7-597b14efd245", "colab": { "base_uri": "https://localhost:8080/" } }, "execution_count": 12, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "157/157 [==============================] - 0s 3ms/step - loss: 0.2492 - accuracy: 0.9676\n", "Validation loss: 0.2491597682237625\n", "Validation accuracy: 0.9675999879837036\n" ] } ] }, { "cell_type": "code", "source": [ "test_loss, test_accuracy = model.evaluate(x_test_normalized[5000:], y_test[5000:])\n", "print('Test loss: ', test_loss)\n", "print('Test accuracy: ', test_accuracy)" ], "metadata": { "id": "EKPbwEUhvBlS", "outputId": "9ecec90e-e3c7-423f-9010-d04fbe599671", "colab": { "base_uri": "https://localhost:8080/" } }, "execution_count": 13, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "157/157 [==============================] - 0s 2ms/step - loss: 0.1933 - accuracy: 0.9858\n", "Test loss: 0.19332264363765717\n", "Test accuracy: 0.98580002784729\n" ] } ] } ] }