-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathMNIST_Convolution_Tensorflow
More file actions
280 lines (280 loc) · 28.7 KB
/
MNIST_Convolution_Tensorflow
File metadata and controls
280 lines (280 loc) · 28.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"name": "Course 1 - Part 6 - Lesson 2 - Notebook.ipynb",
"version": "0.3.2",
"provenance": [],
"collapsed_sections": []
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
}
},
"cells": [
{
"metadata": {
"id": "R6gHiH-I7uFa",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"#Improving Computer Vision Accuracy using Convolutions\n",
"\n",
"In the previous lessons you saw how to do fashion recognition using a Deep Neural Network (DNN) containing three layers -- the input layer (in the shape of the data), the output layer (in the shape of the desired output) and a hidden layer. You experimented with the impact of different sized of hidden layer, number of training epochs etc on the final accuracy.\n",
"\n",
"For convenience, here's the entire code again. Run it and take a note of the test accuracy that is printed out at the end. "
]
},
{
"metadata": {
"id": "xcsRtq9OLorS",
"colab_type": "code",
"outputId": "027ddd16-b2d9-41a0-85aa-9da6275085e9",
"colab": {
"height": 207
}
},
"cell_type": "code",
"source": [
"import tensorflow as tf\n",
"mnist = tf.keras.datasets.fashion_mnist\n",
"(training_images, training_labels), (test_images, test_labels) = mnist.load_data()\n",
"training_images=training_images / 255.0\n",
"test_images=test_images / 255.0\n",
"model = tf.keras.models.Sequential([\n",
" tf.keras.layers.Flatten(),\n",
" tf.keras.layers.Dense(128, activation=tf.nn.relu),\n",
" tf.keras.layers.Dense(10, activation=tf.nn.softmax)\n",
"])\n",
"model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])\n",
"model.fit(training_images, training_labels, epochs=5)\n",
"\n",
"test_loss = model.evaluate(test_images, test_labels)"
],
"execution_count": 0,
"outputs": [
{
"output_type": "stream",
"text": [
"Epoch 1/5\n",
"60000/60000==============================] - 4s 74us/sample - loss: 0.4989 - acc: 0.8252\n",
"Epoch 2/5\n",
"60000/60000==============================] - 3s 56us/sample - loss: 0.3745 - acc: 0.8652\n",
"Epoch 3/5\n",
"60000/60000==============================] - 3s 55us/sample - loss: 0.3378 - acc: 0.8769\n",
"Epoch 4/5\n",
"60000/60000==============================] - 3s 55us/sample - loss: 0.3126 - acc: 0.8854\n",
"Epoch 5/5\n",
"60000/60000==============================] - 3s 55us/sample - loss: 0.2943 - acc: 0.8915\n",
"10000/10000==============================] - 0s 39us/sample - loss: 0.3594 - acc: 0.8744\n"
],
"name": "stdout"
}
]
},
{
"metadata": {
"id": "C0tFgT1MMKi6",
"colab_type": "code",
"outputId": "b9c48f3c-639a-4c14-ebbe-657cacca81f8",
"colab": {
"height": 605
}
},
"cell_type": "code",
"source": [
"import tensorflow as tf\n",
"print(tf.__version__)\n",
"mnist = tf.keras.datasets.fashion_mnist\n",
"(training_images, training_labels), (test_images, test_labels) = mnist.load_data()\n",
"training_images=training_images.reshape(60000, 28, 28, 1)\n",
"training_images=training_images / 255.0\n",
"test_images = test_images.reshape(10000, 28, 28, 1)\n",
"test_images=test_images/255.0\n",
"model = tf.keras.models.Sequential([\n",
" tf.keras.layers.Conv2D(64, (3,3), activation='relu', input_shape=(28, 28, 1)),\n",
" tf.keras.layers.MaxPooling2D(2, 2),\n",
" tf.keras.layers.Conv2D(64, (3,3), activation='relu'),\n",
" tf.keras.layers.MaxPooling2D(2,2),\n",
" tf.keras.layers.Flatten(),\n",
" tf.keras.layers.Dense(128, activation='relu'),\n",
" tf.keras.layers.Dense(10, activation='softmax')\n",
"])\n",
"model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])\n",
"model.summary()\n",
"model.fit(training_images, training_labels, epochs=5)\n",
"test_loss = model.evaluate(test_images, test_labels)\n"
],
"execution_count": 0,
"outputs": [
{
"output_type": "stream",
"text": [
"1.12.0\n",
"Model: \"sequential_3\"\n",
"_________________________________________________________________\n",
"Layer (type) Output Shape Param # \n",
"=================================================================\n",
"conv2d_6 (Conv2D) (None, 26, 26, 64) 640 \n",
"_________________________________________________________________\n",
"max_pooling2d_4 (MaxPooling2 (None, 13, 13, 64) 0 \n",
"_________________________________________________________________\n",
"conv2d_7 (Conv2D) (None, 11, 11, 64) 36928 \n",
"_________________________________________________________________\n",
"max_pooling2d_5 (MaxPooling2 (None, 5, 5, 64) 0 \n",
"_________________________________________________________________\n",
"flatten_3 (Flatten) (None, 1600) 0 \n",
"_________________________________________________________________\n",
"dense_6 (Dense) (None, 128) 204928 \n",
"_________________________________________________________________\n",
"dense_7 (Dense) (None, 10) 1290 \n",
"=================================================================\n",
"Total params: 243,786\n",
"Trainable params: 243,786\n",
"Non-trainable params: 0\n",
"_________________________________________________________________\n",
"Epoch 1/5\n",
"60000/60000==============================] - 6s 95us/sample - loss: 0.4325 - acc: 0.8411\n",
"Epoch 2/5\n",
"60000/60000==============================] - 6s 92us/sample - loss: 0.2930 - acc: 0.8914\n",
"Epoch 3/5\n",
"60000/60000==============================] - 5s 91us/sample - loss: 0.2463 - acc: 0.9079\n",
"Epoch 4/5\n",
"60000/60000==============================] - 5s 90us/sample - loss: 0.2156 - acc: 0.9187\n",
"Epoch 5/5\n",
"60000/60000==============================] - 6s 92us/sample - loss: 0.1874 - acc: 0.9307\n",
"10000/10000==============================] - 0s 42us/sample - loss: 0.2589 - acc: 0.9089\n"
],
"name": "stdout"
}
]
},
{
"metadata": {
"id": "IXx_LX3SAlFs",
"colab_type": "text"
},
"cell_type": "markdown",
"source": [
"# Visualizing the Convolutions and Pooling\n",
"\n",
"This code will show us the convolutions graphically. The print (test_labels[;100]) shows us the first 100 labels in the test set, and you can see that the ones at index 0, index 23 and index 28 are all the same value (9). They're all shoes. Let's take a look at the result of running the convolution on each, and you'll begin to see common features between them emerge. Now, when the DNN is training on that data, it's working with a lot less, and it's perhaps finding a commonality between shoes based on this convolution/pooling combination."
]
},
{
"metadata": {
"id": "9FGsHhv6JvDx",
"colab_type": "code",
"outputId": "e144d639-cebc-4d0a-9c7a-8571f70d6159",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 349
}
},
"cell_type": "code",
"source": [
"import matplotlib.pyplot as plt\n",
"f, axarr = plt.subplots(3,4)\n",
"FIRST_IMAGE=0\n",
"SECOND_IMAGE=7\n",
"THIRD_IMAGE=26\n",
"CONVOLUTION_NUMBER = 1\n",
"from tensorflow.keras import models\n",
"layer_outputs = [layer.output for layer in model.layers]\n",
"activation_model = tf.keras.models.Model(inputs = model.input, outputs = layer_outputs)\n",
"for x in range(0,4):\n",
" f1 = activation_model.predict(test_images[FIRST_IMAGE].reshape(1, 28, 28, 1))[x]\n",
" axarr[0,x].imshow(f1[0, : , :, CONVOLUTION_NUMBER], cmap='inferno')\n",
" axarr[0,x].grid(False)\n",
" f2 = activation_model.predict(test_images[SECOND_IMAGE].reshape(1, 28, 28, 1))[x]\n",
" axarr[1,x].imshow(f2[0, : , :, CONVOLUTION_NUMBER], cmap='inferno')\n",
" axarr[1,x].grid(False)\n",
" f3 = activation_model.predict(test_images[THIRD_IMAGE].reshape(1, 28, 28, 1))[x]\n",
" axarr[2,x].imshow(f3[0, : , :, CONVOLUTION_NUMBER], cmap='inferno')\n",
" axarr[2,x].grid(False)"
],
"execution_count": 0,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\nRZWIiEgm/w+R7SMKuqXkOQAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 576x396 with 12 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"metadata": {
"id": "ZpYRidBXpBPM",
"colab_type": "code",
"outputId": "70c1f9f2-880c-4923-9887-8f1d4c6b8383",
"colab": {
"height": 415
}
},
"cell_type": "code",
"source": [
"import tensorflow as tf\n",
"print(tf.__version__)\n",
"mnist = tf.keras.datasets.mnist\n",
"(training_images, training_labels), (test_images, test_labels) = mnist.load_data()\n",
"training_images=training_images.reshape(60000, 28, 28, 1)\n",
"training_images=training_images / 255.0\n",
"test_images = test_images.reshape(10000, 28, 28, 1)\n",
"test_images=test_images/255.0\n",
"model = tf.keras.models.Sequential([\n",
" tf.keras.layers.Conv2D(32, (3,3), activation='relu', input_shape=(28, 28, 1)),\n",
" tf.keras.layers.MaxPooling2D(2, 2),\n",
" tf.keras.layers.Flatten(),\n",
" tf.keras.layers.Dense(128, activation='relu'),\n",
" tf.keras.layers.Dense(10, activation='softmax')\n",
"])\n",
"model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])\n",
"model.fit(training_images, training_labels, epochs=10)\n",
"test_loss, test_acc = model.evaluate(test_images, test_labels)\n",
"print(test_acc)"
],
"execution_count": 0,
"outputs": [
{
"output_type": "stream",
"text": [
"1.12.0\n",
"Epoch 1/10\n",
"60000/60000==============================] - 6s 104us/sample - loss: 0.1510 - acc: 0.9551\n",
"Epoch 2/10\n",
"60000/60000==============================] - 5s 79us/sample - loss: 0.0512 - acc: 0.9843\n",
"Epoch 3/10\n",
"60000/60000==============================] - 5s 77us/sample - loss: 0.0319 - acc: 0.9902\n",
"Epoch 4/10\n",
"60000/60000==============================] - 5s 78us/sample - loss: 0.0209 - acc: 0.9934\n",
"Epoch 5/10\n",
"60000/60000==============================] - 5s 78us/sample - loss: 0.0136 - acc: 0.9956\n",
"Epoch 6/10\n",
"60000/60000==============================] - 5s 78us/sample - loss: 0.0111 - acc: 0.9964\n",
"Epoch 7/10\n",
"60000/60000==============================] - 5s 79us/sample - loss: 0.0076 - acc: 0.9974\n",
"Epoch 8/10\n",
"60000/60000==============================] - 5s 78us/sample - loss: 0.0052 - acc: 0.9985\n",
"Epoch 9/10\n",
"60000/60000==============================] - 5s 81us/sample - loss: 0.0046 - acc: 0.9988\n",
"Epoch 10/10\n",
"60000/60000==============================] - 5s 81us/sample - loss: 0.0053 - acc: 0.9981\n",
"10000/10000==============================] - 1s 53us/sample - loss: 0.0583 - acc: 0.9873\n",
"0.9873\n"
],
"name": "stdout"
}
]
}
]
}