Commit d2466c6f1d97dbb40cb089bfffe9e471e1277ddf

Authored by Junghwan Park
1 parent e846ebadad
Exists in main

Update test_ml.ipynb

Showing 1 changed file with 298 additions and 0 deletions Inline Diff

python-notebook/test_ml.ipynb View file @ d2466c6
1 {
2 "cells": [
3 {
4 "cell_type": "code",
5 "execution_count": 1,
6 "metadata": {},
7 "outputs": [],
8 "source": [
9 "from tensorflow.keras.models import Sequential\n",
10 "from tensorflow.keras.layers import Dense, Activation\n",
11 "from tensorflow.keras.utils import to_categorical\n",
12 "from tensorflow.keras.datasets import mnist\n",
13 "import numpy as np\n",
14 "import matplotlib.pyplot as plt"
15 ]
16 },
17 {
18 "cell_type": "code",
19 "execution_count": 2,
20 "metadata": {},
21 "outputs": [
22 {
23 "name": "stdout",
24 "output_type": "stream",
25 "text": [
26 "x_train.shape: (60000, 28, 28)\n",
27 "y_train.shape: (60000,)\n",
28 "x_test.shape: (10000, 28, 28)\n",
29 "y_test.shape: (10000,)\n"
30 ]
31 }
32 ],
33 "source": [
34 "(x_train, y_train), (x_test, y_test) = mnist.load_data()\n",
35 "print(\"x_train.shape:\", x_train.shape)\n",
36 "print(\"y_train.shape:\", y_train.shape)\n",
37 "print(\"x_test.shape:\", x_test.shape)\n",
38 "print(\"y_test.shape:\", y_test.shape)"
39 ]
40 },
41 {
42 "cell_type": "code",
43 "execution_count": 3,
44 "metadata": {},
45 "outputs": [
46 {
47 "name": "stdout",
48 "output_type": "stream",
49 "text": [
50 "X Training matrix shape: (60000, 784)\n",
51 "X Testing matrix shape: (10000, 784)\n"
52 ]
53 }
54 ],
55 "source": [
56 "X_train = x_train.reshape(60000, 784)\n",
57 "X_test = x_test.reshape(10000, 784)\n",
58 "X_train = X_train.astype('float32')\n",
59 "X_test = X_test.astype('float32')\n",
60 "X_train /= 255\n",
61 "X_test /= 255\n",
62 "print(\"X Training matrix shape:\", X_train.shape)\n",
63 "print(\"X Testing matrix shape:\", X_test.shape)"
64 ]
65 },
66 {
67 "cell_type": "code",
68 "execution_count": 4,
69 "metadata": {},
70 "outputs": [
71 {
72 "name": "stdout",
73 "output_type": "stream",
74 "text": [
75 "Y Training matrix shape: (60000, 10)\n",
76 "Y Testing matrix shape: (10000, 10)\n"
77 ]
78 }
79 ],
80 "source": [
81 "Y_train = to_categorical(y_train, 10)\n",
82 "Y_test = to_categorical(y_test, 10)\n",
83 "print(\"Y Training matrix shape:\", Y_train.shape)\n",
84 "print(\"Y Testing matrix shape:\", Y_test.shape)"
85 ]
86 },
87 {
88 "cell_type": "code",
89 "execution_count": 5,
90 "metadata": {},
91 "outputs": [
92 {
93 "name": "stdout",
94 "output_type": "stream",
95 "text": [
96 "Model: \"sequential\"\n",
97 "_________________________________________________________________\n",
98 " Layer (type) Output Shape Param # \n",
99 "=================================================================\n",
100 " dense (Dense) (None, 512) 401920 \n",
101 " \n",
102 " activation (Activation) (None, 512) 0 \n",
103 " \n",
104 " dense_1 (Dense) (None, 256) 131328 \n",
105 " \n",
106 " activation_1 (Activation) (None, 256) 0 \n",
107 " \n",
108 " dense_2 (Dense) (None, 10) 2570 \n",
109 " \n",
110 " activation_2 (Activation) (None, 10) 0 \n",
111 " \n",
112 "=================================================================\n",
113 "Total params: 535,818\n",
114 "Trainable params: 535,818\n",
115 "Non-trainable params: 0\n",
116 "_________________________________________________________________\n"
117 ]
118 },
119 {
120 "name": "stderr",
121 "output_type": "stream",
122 "text": [
123 "2022-02-17 08:15:51.572224: I tensorflow/core/platform/cpu_feature_guard.cc:151] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations: AVX2 FMA\n",
124 "To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.\n"
125 ]
126 }
127 ],
128 "source": [
129 "model = Sequential()\n",
130 "model.add(Dense(512, input_shape=(784,)))\n",
131 "model.add(Activation('relu'))\n",
132 "model.add(Dense(256))\n",
133 "model.add(Activation('relu'))\n",
134 "model.add(Dense(10))\n",
135 "model.add(Activation('softmax'))\n",
136 "model.summary()"
137 ]
138 },
139 {
140 "cell_type": "code",
141 "execution_count": 6,
142 "metadata": {},
143 "outputs": [
144 {
145 "name": "stdout",
146 "output_type": "stream",
147 "text": [
148 "Epoch 1/10\n",
149 "469/469 [==============================] - 2s 3ms/step - loss: 0.2282 - accuracy: 0.9332\n",
150 "Epoch 2/10\n",
151 "469/469 [==============================] - 2s 3ms/step - loss: 0.0823 - accuracy: 0.9749\n",
152 "Epoch 3/10\n",
153 "469/469 [==============================] - 2s 4ms/step - loss: 0.0515 - accuracy: 0.9841\n",
154 "Epoch 4/10\n",
155 "469/469 [==============================] - 2s 3ms/step - loss: 0.0365 - accuracy: 0.9884\n",
156 "Epoch 5/10\n",
157 "469/469 [==============================] - 2s 4ms/step - loss: 0.0278 - accuracy: 0.9912\n",
158 "Epoch 6/10\n",
159 "469/469 [==============================] - 2s 3ms/step - loss: 0.0223 - accuracy: 0.9924\n",
160 "Epoch 7/10\n",
161 "469/469 [==============================] - 2s 4ms/step - loss: 0.0176 - accuracy: 0.9942\n",
162 "Epoch 8/10\n",
163 "469/469 [==============================] - 2s 3ms/step - loss: 0.0164 - accuracy: 0.9944\n",
164 "Epoch 9/10\n",
165 "469/469 [==============================] - 2s 3ms/step - loss: 0.0142 - accuracy: 0.9949\n",
166 "Epoch 10/10\n",
167 "469/469 [==============================] - 2s 3ms/step - loss: 0.0097 - accuracy: 0.9969\n"
168 ]
169 },
170 {
171 "data": {
172 "text/plain": [
173 "<keras.callbacks.History at 0x7fefbc6d0750>"
174 ]
175 },
176 "execution_count": 6,
177 "metadata": {},
178 "output_type": "execute_result"
179 }
180 ],
181 "source": [
182 "model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])\n",
183 "model.fit(X_train, Y_train, batch_size=128, epochs=10, verbose=1)"
184 ]
185 },
186 {
187 "cell_type": "code",
188 "execution_count": 7,
189 "metadata": {},
190 "outputs": [
191 {
192 "name": "stdout",
193 "output_type": "stream",
194 "text": [
195 "313/313 [==============================] - 0s 1ms/step - loss: 0.0739 - accuracy: 0.9819\n",
196 "Test score: 0.07394378632307053\n",
197 "Test accuracy: 0.9818999767303467\n"
198 ]
199 }
200 ],
201 "source": [
202 "score = model.evaluate(X_test, Y_test)\n",
203 "print('Test score:', score[0])\n",
204 "print('Test accuracy:', score[1])"
205 ]
206 },
207 {
208 "cell_type": "code",
209 "execution_count": 8,
210 "metadata": {},
211 "outputs": [],
212 "source": [
213 "predicted_classes = np.argmax(model.predict(X_test), axis=1)\n",
214 "correct_indices = np.nonzero(predicted_classes == y_test)[0]\n",
215 "incorrect_indices = np.nonzero(predicted_classes != y_test)[0]"
216 ]
217 },
218 {
219 "cell_type": "code",
220 "execution_count": 13,
221 "metadata": {},
222 "outputs": [
223 {
224 "data": {
225 "image/png": "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F1+k++6773IfExERzZkzh3784x9f9PULz/G1116jtLQ0UigUlJOTQx999BH/Wk1NDV1//fWkUqkoOjqaFi1aREREXq+Xnn76adLpdKRUKik/P5+OHz8+4ecyVLjFABHRN998Q9dccw29//77NGfOnDF/VoEWA1dzLhcKxzggInrvvffohhtuGNdn9cADD9D8+fMv+np9fT0BIJfLRURE77//PmVnZ5NCoaDU1FT605/+xG/b2dlJd9xxB6nVatJoNDR37lzyeDxERLRy5UqKj48nhUJBWVlZ9MUXX1yyXDt27KDk5OQxncO4kkNTUxPl5ubSiy++eH5ngG699VYym800ODhIhw8fJp1OR/v37ye3203r1q2j5ORkstvt5HA4KCkpiVatWkVOp5M2b95MIpFo1IBwu91UWFhITz/9NFmtVrLZbLRnzx4iIlq7du2IAH/66afpe9/7HpnNZurr66M777yTVqxYQURE27ZtI71eT8ePHyer1Ur333//RQOiu7ubAFB7ezv/u82bN1N+fv5lP8iBgQESCAT05ZdfXnSbC4N+06ZN1NLSQh6PhzZu3EgymYxaW1uJiGjx4sX0yiuvkMfjGXb+27dvp+LiYurp6SGv10snT57k95moc7lQOMWA79gzZsygioqKUY91MYEWA1dzLqMJtzjwuZLkEBsbS++///5FX78wOXzyySdUW1tLXq+Xdu/eTZGRkXTo0CEiIlqxYgU99thj5HQ6yel00tdff01er5dOnz5NCQkJ1NLSwr9nbW3tJcs14cnBl5mTkpLoiSee4DMxANq5cye/7eOPP84Hi09WVhbt3r2bvvrqKzIYDOT1evnXZs+ePWpA7Nu3j2JiYvgPbqgLA8Lr9ZJMJhv2oezbt4+/ennkkUfo+eef51+rrq6+aEA0NTURALLZbPzv/vWvf43pw2xubiYAdOrUqYtuc2HFcKHp06fTli1biIjoRz/6ES1dupRMJtOwbXbu3EmZmZn07bff8lcPo7mac7lQOMUAEdGqVavo8ccfH/VYlxJoMXA15zKacIsDnytJDiKRiLZt23bR1y9MDhe66667aPXq1URE9J//+Z+0YMGCEeWsqakhnU5HO3bsIKfTOaZyjSc5jKnPYcuWLbBYLGhsbMQf/vAHREZG8q8lJiby/9/Y2Ig333wTUVFR/I/JZEJraytaW1thNBrB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",
226 "text/plain": [
227 "<Figure size 432x288 with 8 Axes>"
228 ]
229 },
230 "metadata": {},
231 "output_type": "display_data"
232 }
233 ],
234 "source": [
235 "ax = plt.figure()\n",
236 "ax.patch.set_facecolor('white')\n",
237 "for i in range(9):\n",
238 " plt.subplot(3,3,i+1)\n",
239 " correct = correct_indices[i]\n",
240 " plt.imshow(X_test[correct].reshape(28, 28), cmap='gray')\n",
241 " plt.title(\"Predicted {}, Class {}\".format(predicted_classes[correct], y_test[correct]))\n",
242 " plt.tight_layout()"
243 ]
244 },
245 {
246 "cell_type": "code",
247 "execution_count": 14,
248 "metadata": {},
249 "outputs": [
250 {
251 "data": {
252 "image/png": "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4/HgdruHfNvD1UjLgX379iEqKmrItzvcsTwYfi5ZHGJjYyGRSCCXy6HT6XDPPffAZrNd9UCmT5+OoqKiS663adMmTJs27apvv9vvf/97GI1GKJVKxMTE4OWXX76s1589exZ33HEHwsLCoFKpkJ6ejnXr1sHj8QxSxP17/vnnERQUBLlczv2UlZVd9vuMtBy45557IBKJeuy3y/n+cnNzMXv2bISEhECtVmPixIl4//33By3egWhtbYVWq72i/TbS8sDpdGL58uVQKpXQ6/VYt27dZb1+uOXBnj17kJmZCZlMhqioKGzduvWi6w/ozOGLL76AzWbD8ePHcfToUbz44ou91gmUo+EVK1agsLAQFosFBw4cwL///W9s27ZtQK8tLS1FTk4OjEYjTp06hfb2dnz88cc4evQorFbrIEfet0WLFsFms3E/8fHxP+t9RlIOAOcOEs7fbwKBYECvO3jwIG644QZce+21KCkpQUtLC/72t79hx44dgxzxxT311FNISUm54vcZSXnw/PPPo7i4GJWVlfj222/x6quvYufOnQN67XDLg/z8fCxZsgQvvfQS2tvbcfLkSWRlZV30NZd1WSkyMhK33HILTp8+DeDcKdlbb72FxMREJCYmAgC+/PJLZGRkICQkBFOmTMFPP/3Evf7EiRPIzMyEQqHAokWL0NnZyS278DSruroa8+fPh1arhUajwUMPPYSCggLcf//9OHjwIORyOUJCQgCcq/BPPPEEoqOjodPpcP/998PhcHDv9dprr8FgMCAiIgLvvffeRT9jcnIyZDLZ/99BfP6ATzufe+45TJkyBevWrYPBYODe78MPP+RiPd/777+PlJQUKBQKxMfH93gISHNzM2699VbuqGP69Onwer0AgL/85S+IjIyEQqFAcnIy9u7dO6D4roaRkANX4sknn8Tdd9+Np556CmFhYeDxeMjKyur3KG3NmjUYNWoUFAoFUlNT8cknn3DLSkpKcO2110KlUiEsLAyLFi0CcO6JY48++ijCw8OhVCoxduxY7vvoy4EDB3D69Gnce++9V+1zjoQ82Lx5M/74xz8iNDQUKSkpWLlyJTZt2jSg/TPc8uDFF1/Efffdh1tuuQVCoRAajQajRo26+IegS4iJiaHdu3cTEVFVVRWlpqbSs88+S//3kCCaMWMGtbS0kN1up+PHj5NWq6VDhw6R2+2m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",
253 "text/plain": [
254 "<Figure size 432x288 with 8 Axes>"
255 ]
256 },
257 "metadata": {},
258 "output_type": "display_data"
259 }
260 ],
261 "source": [
262 "ax = plt.figure()\n",
263 "ax.patch.set_facecolor('white')\n",
264 "for i in range(9):\n",
265 " plt.subplot(3,3,i+1)\n",
266 " incorrect = incorrect_indices[i]\n",
267 " plt.imshow(X_test[incorrect].reshape(28, 28), cmap='gray')\n",
268 " plt.title(\"Predicted {}, Class {}\".format(predicted_classes[incorrect], y_test[incorrect]))\n",
269 " plt.tight_layout()"
270 ]
271 }
272 ],
273 "metadata": {
274 "interpreter": {
275 "hash": "80dbe1014b4652684caa329d41db00af3ae439be86b11eab7e35b518e5d8ab1a"
276 },
277 "kernelspec": {
278 "display_name": "Python 3.7.9 64-bit ('venv': venv)",
279 "language": "python",
280 "name": "python3"
281 },
282 "language_info": {
283 "codemirror_mode": {
284 "name": "ipython",
285 "version": 3
286 },
287 "file_extension": ".py",
288 "mimetype": "text/x-python",
289 "name": "python",
290 "nbconvert_exporter": "python",
291 "pygments_lexer": "ipython3",
292 "version": "3.7.9"
293 },
294 "orig_nbformat": 4
295 },
296 "nbformat": 4,
297 "nbformat_minor": 2
298 }