| { |
| "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": "kLutYXp-ecSf", |
| "colab": { |
| "base_uri": "https://localhost:8080/" |
| }, |
| "outputId": "dd3f2061-b234-4c54-9a85-91ac3fadf6e5" |
| }, |
| "outputs": [ |
| { |
| "output_type": "stream", |
| "name": "stdout", |
| "text": [ |
| "Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/mnist.npz\n", |
| "11490434/11490434 [==============================] - 1s 0us/step\n" |
| ] |
| } |
| ], |
| "source": [ |
| "import numpy as np\n", |
| "import matplotlib.pyplot as plt\n", |
| "from tensorflow.keras.datasets import mnist\n", |
| "from tensorflow import keras\n", |
| "import keras.backend as K\n", |
| "from tensorflow.keras.layers import Dense, Flatten, Reshape, Input, Lambda, BatchNormalization, Dropout\n", |
| "\n", |
| "(x_train, y_train), (x_test, y_test) = mnist.load_data()\n", |
| "\n", |
| "x_train = x_train / 255\n", |
| "x_test = x_test/ 255\n", |
| "\n", |
| "y_train = y_train % 2\n", |
| "y_train = keras.utils.to_categorical(y_train, 10)" |
| ] |
| }, |
| { |
| "cell_type": "code", |
| "source": [ |
| "input_img = Input((28, 28))\n", |
| "x = Flatten()(input_img)\n", |
| "x = Dense(128, activation = 'relu')(x)\n", |
| "x = Dense(256, activation = 'relu')(x)\n", |
| "x = Dense(64, activation = 'relu')(x)\n", |
| "classif = Dense(10, activation = 'softmax')(x)" |
| ], |
| "metadata": { |
| "id": "Ffd2RsvUedfQ" |
| }, |
| "execution_count": 2, |
| "outputs": [] |
| }, |
| { |
| "cell_type": "code", |
| "source": [ |
| "model = keras.Model(input_img, classif)" |
| ], |
| "metadata": { |
| "id": "5aVLXHYNe5R_" |
| }, |
| "execution_count": 3, |
| "outputs": [] |
| }, |
| { |
| "cell_type": "code", |
| "source": [ |
| "model.compile(optimizer = 'adam', loss = 'categorical_crossentropy', metrics = ['accuracy'])" |
| ], |
| "metadata": { |
| "id": "tG0HHttBVuxs" |
| }, |
| "execution_count": 4, |
| "outputs": [] |
| }, |
| { |
| "cell_type": "code", |
| "source": [ |
| "model.fit(x_train, y_train, epochs = 10, batch_size = 30, shuffle = True)" |
| ], |
| "metadata": { |
| "colab": { |
| "base_uri": "https://localhost:8080/" |
| }, |
| "id": "L6tEkyZdWIZy", |
| "outputId": "ab46112c-85ee-4d43-eeb3-4657296ef823" |
| }, |
| "execution_count": 5, |
| "outputs": [ |
| { |
| "output_type": "stream", |
| "name": "stdout", |
| "text": [ |
| "Epoch 1/10\n", |
| "2000/2000 [==============================] - 12s 5ms/step - loss: 0.1117 - accuracy: 0.9597\n", |
| "Epoch 2/10\n", |
| "2000/2000 [==============================] - 11s 5ms/step - loss: 0.0523 - accuracy: 0.9825\n", |
| "Epoch 3/10\n", |
| "2000/2000 [==============================] - 10s 5ms/step - loss: 0.0389 - accuracy: 0.9862\n", |
| "Epoch 4/10\n", |
| "2000/2000 [==============================] - 9s 5ms/step - loss: 0.0304 - accuracy: 0.9895\n", |
| "Epoch 5/10\n", |
| "2000/2000 [==============================] - 10s 5ms/step - loss: 0.0250 - accuracy: 0.9915\n", |
| "Epoch 6/10\n", |
| "2000/2000 [==============================] - 10s 5ms/step - loss: 0.0203 - accuracy: 0.9929\n", |
| "Epoch 7/10\n", |
| "2000/2000 [==============================] - 9s 4ms/step - loss: 0.0162 - accuracy: 0.9945\n", |
| "Epoch 8/10\n", |
| "2000/2000 [==============================] - 11s 5ms/step - loss: 0.0148 - accuracy: 0.9947\n", |
| "Epoch 9/10\n", |
| "2000/2000 [==============================] - 11s 5ms/step - loss: 0.0117 - accuracy: 0.9961\n", |
| "Epoch 10/10\n", |
| "2000/2000 [==============================] - 9s 4ms/step - loss: 0.0114 - accuracy: 0.9960\n" |
| ] |
| }, |
| { |
| "output_type": "execute_result", |
| "data": { |
| "text/plain": [ |
| "<keras.callbacks.History at 0x7fb0108d3a90>" |
| ] |
| }, |
| "metadata": {}, |
| "execution_count": 5 |
| } |
| ] |
| }, |
| { |
| "cell_type": "code", |
| "source": [ |
| "tf.keras.utils.plot_model(model, show_shapes= True, show_layer_names= True, show_layer_activations= True)\n" |
| ], |
| "metadata": { |
| "colab": { |
| "base_uri": "https://localhost:8080/", |
| "height": 518 |
| }, |
| "id": "WGei66Vbdtzk", |
| "outputId": "1d66ceeb-7a58-489a-ec83-6a46a3b507fa" |
| }, |
| "execution_count": 7, |
| "outputs": [ |
| { |
| "output_type": "error", |
| "ename": "NameError", |
| "evalue": "ignored", |
| "traceback": [ |
| "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", |
| "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", |
| "\u001b[0;32m<ipython-input-7-668ba8cae1eb>\u001b[0m in \u001b[0;36m<cell line: 1>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mtf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mkeras\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mutils\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mplot_model\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmodel\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mshow_shapes\u001b[0m\u001b[0;34m=\u001b[0m \u001b[0;32mTrue\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mshow_layer_names\u001b[0m\u001b[0;34m=\u001b[0m \u001b[0;32mTrue\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mshow_layer_activations\u001b[0m\u001b[0;34m=\u001b[0m \u001b[0;32mTrue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", |
| "\u001b[0;31mNameError\u001b[0m: name 'tf' is not defined" |
| ] |
| } |
| ] |
| }, |
| { |
| "cell_type": "code", |
| "source": [ |
| "model.save('drive/MyDrive/my_model')" |
| ], |
| "metadata": { |
| "colab": { |
| "base_uri": "https://localhost:8080/" |
| }, |
| "id": "YkhzAnVeePCm", |
| "outputId": "88492cf4-5d9d-4a4e-ca91-690740e40961" |
| }, |
| "execution_count": 8, |
| "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": [ |
| "model.summary()" |
| ], |
| "metadata": { |
| "id": "H4_sMVCpvNUG" |
| }, |
| "execution_count": null, |
| "outputs": [] |
| } |
| ] |
| } |