Skip to content

Commit 525d24a

Browse files
authoredMar 23, 2019
Add files via upload
1 parent 9a18c1a commit 525d24a

5 files changed

+321
-393
lines changed
 

‎lab-11-1-mnist-cnn-keras-sequential-eager.ipynb

+56-70
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@
6464
"cell_type": "markdown",
6565
"metadata": {},
6666
"source": [
67-
"## Random Seed"
67+
"## Hyper Parameters"
6868
]
6969
},
7070
{
@@ -73,6 +73,10 @@
7373
"metadata": {},
7474
"outputs": [],
7575
"source": [
76+
"learning_rate = 0.001\n",
77+
"training_epochs = 15\n",
78+
"batch_size = 100\n",
79+
"\n",
7680
"tf.set_random_seed(777)"
7781
]
7882
},
@@ -127,14 +131,42 @@
127131
"cell_type": "markdown",
128132
"metadata": {},
129133
"source": [
130-
"## Model Function"
134+
"## Datasets"
131135
]
132136
},
133137
{
134138
"cell_type": "code",
135139
"execution_count": 7,
136140
"metadata": {},
137141
"outputs": [],
142+
"source": [
143+
"(train_images, train_labels), (test_images, test_labels) = mnist.load_data() \n",
144+
" \n",
145+
"train_images = train_images.astype(np.float32) / 255.\n",
146+
"test_images = test_images.astype(np.float32) / 255.\n",
147+
"train_images = np.expand_dims(train_images, axis=-1)\n",
148+
"test_images = np.expand_dims(test_images, axis=-1)\n",
149+
" \n",
150+
"train_labels = to_categorical(train_labels, 10)\n",
151+
"test_labels = to_categorical(test_labels, 10) \n",
152+
" \n",
153+
"train_dataset = tf.data.Dataset.from_tensor_slices((train_images, train_labels)).shuffle(\n",
154+
" buffer_size=100000).batch(batch_size)\n",
155+
"test_dataset = tf.data.Dataset.from_tensor_slices((test_images, test_labels)).batch(batch_size)"
156+
]
157+
},
158+
{
159+
"cell_type": "markdown",
160+
"metadata": {},
161+
"source": [
162+
"## Model Function"
163+
]
164+
},
165+
{
166+
"cell_type": "code",
167+
"execution_count": 8,
168+
"metadata": {},
169+
"outputs": [],
138170
"source": [
139171
"def create_model():\n",
140172
" model = keras.Sequential()\n",
@@ -154,7 +186,7 @@
154186
},
155187
{
156188
"cell_type": "code",
157-
"execution_count": 8,
189+
"execution_count": 9,
158190
"metadata": {},
159191
"outputs": [
160192
{
@@ -196,52 +228,6 @@
196228
"model.summary()"
197229
]
198230
},
199-
{
200-
"cell_type": "markdown",
201-
"metadata": {},
202-
"source": [
203-
"## Hyper Parameters"
204-
]
205-
},
206-
{
207-
"cell_type": "code",
208-
"execution_count": 9,
209-
"metadata": {},
210-
"outputs": [],
211-
"source": [
212-
"learning_rate = 0.001\n",
213-
"training_epochs = 15\n",
214-
"batch_size = 100"
215-
]
216-
},
217-
{
218-
"cell_type": "markdown",
219-
"metadata": {},
220-
"source": [
221-
"## Datasets"
222-
]
223-
},
224-
{
225-
"cell_type": "code",
226-
"execution_count": 10,
227-
"metadata": {},
228-
"outputs": [],
229-
"source": [
230-
"(train_images, train_labels), (test_images, test_labels) = mnist.load_data() \n",
231-
" \n",
232-
"train_images = train_images.astype(np.float32) / 255.\n",
233-
"test_images = test_images.astype(np.float32) / 255.\n",
234-
"train_images = np.expand_dims(train_images, axis=-1)\n",
235-
"test_images = np.expand_dims(test_images, axis=-1)\n",
236-
" \n",
237-
"train_labels = to_categorical(train_labels, 10)\n",
238-
"test_labels = to_categorical(test_labels, 10) \n",
239-
" \n",
240-
"train_dataset = tf.data.Dataset.from_tensor_slices((train_images, train_labels)).shuffle(\n",
241-
" buffer_size=100000).batch(batch_size)\n",
242-
"test_dataset = tf.data.Dataset.from_tensor_slices((test_images, test_labels)).batch(batch_size)"
243-
]
244-
},
245231
{
246232
"cell_type": "markdown",
247233
"metadata": {},
@@ -251,7 +237,7 @@
251237
},
252238
{
253239
"cell_type": "code",
254-
"execution_count": 11,
240+
"execution_count": 10,
255241
"metadata": {},
256242
"outputs": [],
257243
"source": [
@@ -271,7 +257,7 @@
271257
},
272258
{
273259
"cell_type": "code",
274-
"execution_count": 12,
260+
"execution_count": 11,
275261
"metadata": {},
276262
"outputs": [],
277263
"source": [
@@ -290,7 +276,7 @@
290276
},
291277
{
292278
"cell_type": "code",
293-
"execution_count": 13,
279+
"execution_count": 12,
294280
"metadata": {},
295281
"outputs": [],
296282
"source": [
@@ -310,7 +296,7 @@
310296
},
311297
{
312298
"cell_type": "code",
313-
"execution_count": 14,
299+
"execution_count": 13,
314300
"metadata": {},
315301
"outputs": [],
316302
"source": [
@@ -326,7 +312,7 @@
326312
},
327313
{
328314
"cell_type": "code",
329-
"execution_count": 15,
315+
"execution_count": 14,
330316
"metadata": {},
331317
"outputs": [],
332318
"source": [
@@ -342,7 +328,7 @@
342328
},
343329
{
344330
"cell_type": "code",
345-
"execution_count": 16,
331+
"execution_count": 15,
346332
"metadata": {
347333
"scrolled": false
348334
},
@@ -352,21 +338,21 @@
352338
"output_type": "stream",
353339
"text": [
354340
"Learning started. It takes sometime.\n",
355-
"Epoch: 1 loss = 0.18155795 train accuracy = 0.9561 test accuracy = 0.9864\n",
356-
"Epoch: 2 loss = 0.04595109 train accuracy = 0.9901 test accuracy = 0.9893\n",
357-
"Epoch: 3 loss = 0.03227887 train accuracy = 0.9933 test accuracy = 0.9913\n",
358-
"Epoch: 4 loss = 0.02327809 train accuracy = 0.9955 test accuracy = 0.9908\n",
359-
"Epoch: 5 loss = 0.01696701 train accuracy = 0.9970 test accuracy = 0.9931\n",
360-
"Epoch: 6 loss = 0.01443311 train accuracy = 0.9977 test accuracy = 0.9928\n",
361-
"Epoch: 7 loss = 0.01259885 train accuracy = 0.9981 test accuracy = 0.9923\n",
362-
"Epoch: 8 loss = 0.01018594 train accuracy = 0.9985 test accuracy = 0.9919\n",
363-
"Epoch: 9 loss = 0.00939758 train accuracy = 0.9987 test accuracy = 0.9927\n",
364-
"Epoch: 10 loss = 0.00814385 train accuracy = 0.9990 test accuracy = 0.9928\n",
365-
"Epoch: 11 loss = 0.00715813 train accuracy = 0.9991 test accuracy = 0.9925\n",
366-
"Epoch: 12 loss = 0.00585301 train accuracy = 0.9995 test accuracy = 0.9935\n",
367-
"Epoch: 13 loss = 0.00585623 train accuracy = 0.9994 test accuracy = 0.9915\n",
368-
"Epoch: 14 loss = 0.00530782 train accuracy = 0.9993 test accuracy = 0.9920\n",
369-
"Epoch: 15 loss = 0.00454885 train accuracy = 0.9993 test accuracy = 0.9940\n",
341+
"Epoch: 1 loss = 0.17322077 train accuracy = 0.9588 test accuracy = 0.9843\n",
342+
"Epoch: 2 loss = 0.04714254 train accuracy = 0.9894 test accuracy = 0.9889\n",
343+
"Epoch: 3 loss = 0.03016450 train accuracy = 0.9940 test accuracy = 0.9904\n",
344+
"Epoch: 4 loss = 0.02271373 train accuracy = 0.9957 test accuracy = 0.9927\n",
345+
"Epoch: 5 loss = 0.01871874 train accuracy = 0.9966 test accuracy = 0.9935\n",
346+
"Epoch: 6 loss = 0.01522499 train accuracy = 0.9976 test accuracy = 0.9942\n",
347+
"Epoch: 7 loss = 0.01154464 train accuracy = 0.9982 test accuracy = 0.9912\n",
348+
"Epoch: 8 loss = 0.01073314 train accuracy = 0.9983 test accuracy = 0.9922\n",
349+
"Epoch: 9 loss = 0.00970077 train accuracy = 0.9985 test accuracy = 0.9931\n",
350+
"Epoch: 10 loss = 0.00773255 train accuracy = 0.9990 test accuracy = 0.9926\n",
351+
"Epoch: 11 loss = 0.00702506 train accuracy = 0.9994 test accuracy = 0.9919\n",
352+
"Epoch: 12 loss = 0.00577464 train accuracy = 0.9993 test accuracy = 0.9929\n",
353+
"Epoch: 13 loss = 0.00647555 train accuracy = 0.9992 test accuracy = 0.9916\n",
354+
"Epoch: 14 loss = 0.00516995 train accuracy = 0.9995 test accuracy = 0.9920\n",
355+
"Epoch: 15 loss = 0.00516423 train accuracy = 0.9994 test accuracy = 0.9931\n",
370356
"Learning Finished!\n"
371357
]
372358
}

0 commit comments

Comments
 (0)