|
64 | 64 | "cell_type": "markdown",
|
65 | 65 | "metadata": {},
|
66 | 66 | "source": [
|
67 |
| - "## Random Seed" |
| 67 | + "## Hyper Parameters" |
68 | 68 | ]
|
69 | 69 | },
|
70 | 70 | {
|
|
73 | 73 | "metadata": {},
|
74 | 74 | "outputs": [],
|
75 | 75 | "source": [
|
| 76 | + "learning_rate = 0.001\n", |
| 77 | + "training_epochs = 15\n", |
| 78 | + "batch_size = 100\n", |
| 79 | + "\n", |
76 | 80 | "tf.set_random_seed(777)"
|
77 | 81 | ]
|
78 | 82 | },
|
|
127 | 131 | "cell_type": "markdown",
|
128 | 132 | "metadata": {},
|
129 | 133 | "source": [
|
130 |
| - "## Model Function" |
| 134 | + "## Datasets" |
131 | 135 | ]
|
132 | 136 | },
|
133 | 137 | {
|
134 | 138 | "cell_type": "code",
|
135 | 139 | "execution_count": 7,
|
136 | 140 | "metadata": {},
|
137 | 141 | "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": [], |
138 | 170 | "source": [
|
139 | 171 | "def create_model():\n",
|
140 | 172 | " model = keras.Sequential()\n",
|
|
154 | 186 | },
|
155 | 187 | {
|
156 | 188 | "cell_type": "code",
|
157 |
| - "execution_count": 8, |
| 189 | + "execution_count": 9, |
158 | 190 | "metadata": {},
|
159 | 191 | "outputs": [
|
160 | 192 | {
|
|
196 | 228 | "model.summary()"
|
197 | 229 | ]
|
198 | 230 | },
|
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 |
| - }, |
245 | 231 | {
|
246 | 232 | "cell_type": "markdown",
|
247 | 233 | "metadata": {},
|
|
251 | 237 | },
|
252 | 238 | {
|
253 | 239 | "cell_type": "code",
|
254 |
| - "execution_count": 11, |
| 240 | + "execution_count": 10, |
255 | 241 | "metadata": {},
|
256 | 242 | "outputs": [],
|
257 | 243 | "source": [
|
|
271 | 257 | },
|
272 | 258 | {
|
273 | 259 | "cell_type": "code",
|
274 |
| - "execution_count": 12, |
| 260 | + "execution_count": 11, |
275 | 261 | "metadata": {},
|
276 | 262 | "outputs": [],
|
277 | 263 | "source": [
|
|
290 | 276 | },
|
291 | 277 | {
|
292 | 278 | "cell_type": "code",
|
293 |
| - "execution_count": 13, |
| 279 | + "execution_count": 12, |
294 | 280 | "metadata": {},
|
295 | 281 | "outputs": [],
|
296 | 282 | "source": [
|
|
310 | 296 | },
|
311 | 297 | {
|
312 | 298 | "cell_type": "code",
|
313 |
| - "execution_count": 14, |
| 299 | + "execution_count": 13, |
314 | 300 | "metadata": {},
|
315 | 301 | "outputs": [],
|
316 | 302 | "source": [
|
|
326 | 312 | },
|
327 | 313 | {
|
328 | 314 | "cell_type": "code",
|
329 |
| - "execution_count": 15, |
| 315 | + "execution_count": 14, |
330 | 316 | "metadata": {},
|
331 | 317 | "outputs": [],
|
332 | 318 | "source": [
|
|
342 | 328 | },
|
343 | 329 | {
|
344 | 330 | "cell_type": "code",
|
345 |
| - "execution_count": 16, |
| 331 | + "execution_count": 15, |
346 | 332 | "metadata": {
|
347 | 333 | "scrolled": false
|
348 | 334 | },
|
|
352 | 338 | "output_type": "stream",
|
353 | 339 | "text": [
|
354 | 340 | "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", |
370 | 356 | "Learning Finished!\n"
|
371 | 357 | ]
|
372 | 358 | }
|
|
0 commit comments