In [1]:
import tensorflow as tf

In [2]:
import numpy as np
import pandas as pd

In [3]:
n_inputs = 28 * 28
n_hidden1 = 300
n_hidden2 = 100
n_outputs = 10

In [4]:
X = tf.placeholder(dtype=tf.float32, shape=(None, n_inputs), name='X')
y = tf.placeholder(dtype=tf.int64, shape=(None), name='y')

In [5]:
def neuron_layer(X, n_neurons, name, activation=None):
    with tf.name_scope(name):
        n_inputs = int(X.get_shape()[1])
        stddev = 2 / np.sqrt(n_inputs)
        init = tf.truncated_normal((n_inputs, n_neurons), stddev=stddev)
        W = tf.Variable(init, name='weight')
        b = tf.Variable(tf.zeros([n_neurons]), name='biases')
        z = tf.matmul(X, W) + b
        if activation == 'relu':
            return tf.nn.relu(z)
        else:
            return z

In [6]:
with tf.name_scope("dnn"):
    hidden1 = neuron_layer(X, n_hidden1, 'hidden1', activation='relu')
    hidden2 = neuron_layer(hidden1, n_hidden2, 'hidden2', activation='relu')
    logits = neuron_layer(hidden2, n_outputs, 'outputs')

Use tensorflow built-in functions to build the network


In [7]:
from tensorflow.contrib.layers import fully_connected

In [8]:
with tf.name_scope('dnn'):
    hidden1 = fully_connected(X, n_hidden1, scope='hidden1')
    hidden2 = fully_connected(hidden1, n_hidden2, scope='hidden2')
    logits = fully_connected(hidden2, n_outputs, scope='outputs', activation_fn=None)

Cost function


In [9]:
with tf.name_scope('loss'):
    xentropy = tf.nn.sparse_softmax_cross_entropy_with_logits(labels=y, logits=logits)
    loss = tf.reduce_mean(xentropy, name="loss")

Training


In [10]:
learning_rate = 0.01
with tf.name_scope('train'):
    optimizer = tf.train.GradientDescentOptimizer(learning_rate=learning_rate)
    training_op = optimizer.minimize(loss)

Evaluation


In [11]:
with tf.name_scope('eval'):
    correct = tf.nn.in_top_k(logits, y, 1)
    accuracy = tf.reduce_mean(tf.cast(correct, tf.float32))

In [12]:
init = tf.global_variables_initializer()
saver = tf.train.Saver()

Execution Phase


In [14]:
from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets('/tmp/data/')


Successfully downloaded train-images-idx3-ubyte.gz 9912422 bytes.
Extracting /tmp/data/train-images-idx3-ubyte.gz
Successfully downloaded train-labels-idx1-ubyte.gz 28881 bytes.
Extracting /tmp/data/train-labels-idx1-ubyte.gz
Successfully downloaded t10k-images-idx3-ubyte.gz 1648877 bytes.
Extracting /tmp/data/t10k-images-idx3-ubyte.gz
Successfully downloaded t10k-labels-idx1-ubyte.gz 4542 bytes.
Extracting /tmp/data/t10k-labels-idx1-ubyte.gz

In [16]:
n_epochs = 400
batch_size = 50

In [18]:
with tf.Session() as sess:
    init.run()
    for epoch in range(n_epochs):
        for iteration in range(mnist.train.num_examples // batch_size):
            X_batch, y_batch = mnist.train.next_batch(batch_size=batch_size)
            sess.run(training_op, feed_dict={X: X_batch, y: y_batch})
        acc_train = accuracy.eval(feed_dict={X: X_batch, y: y_batch})
        acc_test  = accuracy.eval(feed_dict={X: mnist.test.images, y: mnist.test.labels})
        print(epoch, "Train accuracy:", acc_train, "Test accuracy:", acc_test)
        
    save_path = saver.save(sess, './my_model_final.ckpt')


0 Train accuracy: 0.92 Test accuracy: 0.9012
1 Train accuracy: 0.96 Test accuracy: 0.9192
2 Train accuracy: 0.94 Test accuracy: 0.9273
3 Train accuracy: 0.88 Test accuracy: 0.9365
4 Train accuracy: 0.94 Test accuracy: 0.9411
5 Train accuracy: 1.0 Test accuracy: 0.9438
6 Train accuracy: 0.94 Test accuracy: 0.9482
7 Train accuracy: 0.94 Test accuracy: 0.9513
8 Train accuracy: 1.0 Test accuracy: 0.9544
9 Train accuracy: 0.94 Test accuracy: 0.9558
10 Train accuracy: 0.96 Test accuracy: 0.9579
11 Train accuracy: 0.92 Test accuracy: 0.9585
12 Train accuracy: 0.98 Test accuracy: 0.9599
13 Train accuracy: 1.0 Test accuracy: 0.9634
14 Train accuracy: 1.0 Test accuracy: 0.964
15 Train accuracy: 1.0 Test accuracy: 0.9653
16 Train accuracy: 0.98 Test accuracy: 0.9661
17 Train accuracy: 1.0 Test accuracy: 0.9678
18 Train accuracy: 0.98 Test accuracy: 0.9676
19 Train accuracy: 1.0 Test accuracy: 0.9702
20 Train accuracy: 1.0 Test accuracy: 0.9694
21 Train accuracy: 1.0 Test accuracy: 0.9704
22 Train accuracy: 1.0 Test accuracy: 0.9712
23 Train accuracy: 0.96 Test accuracy: 0.9718
24 Train accuracy: 1.0 Test accuracy: 0.9723
25 Train accuracy: 0.98 Test accuracy: 0.9719
26 Train accuracy: 1.0 Test accuracy: 0.9733
27 Train accuracy: 0.98 Test accuracy: 0.9743
28 Train accuracy: 1.0 Test accuracy: 0.9745
29 Train accuracy: 1.0 Test accuracy: 0.9732
30 Train accuracy: 0.98 Test accuracy: 0.9749
31 Train accuracy: 1.0 Test accuracy: 0.9744
32 Train accuracy: 0.98 Test accuracy: 0.9751
33 Train accuracy: 1.0 Test accuracy: 0.9754
34 Train accuracy: 1.0 Test accuracy: 0.9752
35 Train accuracy: 0.96 Test accuracy: 0.9752
36 Train accuracy: 0.98 Test accuracy: 0.9754
37 Train accuracy: 1.0 Test accuracy: 0.9758
38 Train accuracy: 1.0 Test accuracy: 0.9761
39 Train accuracy: 1.0 Test accuracy: 0.9754
40 Train accuracy: 0.98 Test accuracy: 0.9764
41 Train accuracy: 1.0 Test accuracy: 0.9754
42 Train accuracy: 1.0 Test accuracy: 0.9768
43 Train accuracy: 1.0 Test accuracy: 0.9754
44 Train accuracy: 1.0 Test accuracy: 0.9759
45 Train accuracy: 1.0 Test accuracy: 0.9765
46 Train accuracy: 1.0 Test accuracy: 0.9769
47 Train accuracy: 1.0 Test accuracy: 0.9761
48 Train accuracy: 1.0 Test accuracy: 0.9763
49 Train accuracy: 1.0 Test accuracy: 0.977
50 Train accuracy: 1.0 Test accuracy: 0.9764
51 Train accuracy: 1.0 Test accuracy: 0.9766
52 Train accuracy: 1.0 Test accuracy: 0.9773
53 Train accuracy: 1.0 Test accuracy: 0.977
54 Train accuracy: 1.0 Test accuracy: 0.9766
55 Train accuracy: 1.0 Test accuracy: 0.9774
56 Train accuracy: 1.0 Test accuracy: 0.9772
57 Train accuracy: 1.0 Test accuracy: 0.9768
58 Train accuracy: 1.0 Test accuracy: 0.9772
59 Train accuracy: 1.0 Test accuracy: 0.9769
60 Train accuracy: 1.0 Test accuracy: 0.977
61 Train accuracy: 1.0 Test accuracy: 0.9764
62 Train accuracy: 1.0 Test accuracy: 0.9774
63 Train accuracy: 1.0 Test accuracy: 0.9775
64 Train accuracy: 1.0 Test accuracy: 0.977
65 Train accuracy: 1.0 Test accuracy: 0.9769
66 Train accuracy: 1.0 Test accuracy: 0.9775
67 Train accuracy: 1.0 Test accuracy: 0.9769
68 Train accuracy: 1.0 Test accuracy: 0.9778
69 Train accuracy: 1.0 Test accuracy: 0.9769
70 Train accuracy: 1.0 Test accuracy: 0.9773
71 Train accuracy: 1.0 Test accuracy: 0.978
72 Train accuracy: 1.0 Test accuracy: 0.9772
73 Train accuracy: 1.0 Test accuracy: 0.9776
74 Train accuracy: 1.0 Test accuracy: 0.9777
75 Train accuracy: 1.0 Test accuracy: 0.9774
76 Train accuracy: 1.0 Test accuracy: 0.9775
77 Train accuracy: 1.0 Test accuracy: 0.9775
78 Train accuracy: 1.0 Test accuracy: 0.978
79 Train accuracy: 1.0 Test accuracy: 0.9772
80 Train accuracy: 1.0 Test accuracy: 0.9779
81 Train accuracy: 1.0 Test accuracy: 0.9778
82 Train accuracy: 1.0 Test accuracy: 0.9774
83 Train accuracy: 1.0 Test accuracy: 0.9778
84 Train accuracy: 1.0 Test accuracy: 0.9776
85 Train accuracy: 1.0 Test accuracy: 0.9776
86 Train accuracy: 1.0 Test accuracy: 0.9777
87 Train accuracy: 1.0 Test accuracy: 0.9781
88 Train accuracy: 1.0 Test accuracy: 0.9777
89 Train accuracy: 1.0 Test accuracy: 0.9783
90 Train accuracy: 1.0 Test accuracy: 0.9784
91 Train accuracy: 1.0 Test accuracy: 0.978
92 Train accuracy: 1.0 Test accuracy: 0.9775
93 Train accuracy: 1.0 Test accuracy: 0.9779
94 Train accuracy: 1.0 Test accuracy: 0.978
95 Train accuracy: 1.0 Test accuracy: 0.9778
96 Train accuracy: 1.0 Test accuracy: 0.9774
97 Train accuracy: 1.0 Test accuracy: 0.9777
98 Train accuracy: 1.0 Test accuracy: 0.9777
99 Train accuracy: 1.0 Test accuracy: 0.978
100 Train accuracy: 1.0 Test accuracy: 0.9775
101 Train accuracy: 1.0 Test accuracy: 0.9781
102 Train accuracy: 1.0 Test accuracy: 0.9778
103 Train accuracy: 1.0 Test accuracy: 0.9787
104 Train accuracy: 1.0 Test accuracy: 0.9781
105 Train accuracy: 1.0 Test accuracy: 0.9782
106 Train accuracy: 1.0 Test accuracy: 0.9779
107 Train accuracy: 1.0 Test accuracy: 0.9781
108 Train accuracy: 1.0 Test accuracy: 0.9775
109 Train accuracy: 1.0 Test accuracy: 0.9775
110 Train accuracy: 1.0 Test accuracy: 0.9782
111 Train accuracy: 1.0 Test accuracy: 0.9779
112 Train accuracy: 1.0 Test accuracy: 0.9784
113 Train accuracy: 1.0 Test accuracy: 0.9782
114 Train accuracy: 1.0 Test accuracy: 0.978
115 Train accuracy: 1.0 Test accuracy: 0.9779
116 Train accuracy: 1.0 Test accuracy: 0.9783
117 Train accuracy: 1.0 Test accuracy: 0.9779
118 Train accuracy: 1.0 Test accuracy: 0.9777
119 Train accuracy: 1.0 Test accuracy: 0.9782
120 Train accuracy: 1.0 Test accuracy: 0.978
121 Train accuracy: 1.0 Test accuracy: 0.9779
122 Train accuracy: 1.0 Test accuracy: 0.9782
123 Train accuracy: 1.0 Test accuracy: 0.9781
124 Train accuracy: 1.0 Test accuracy: 0.9784
125 Train accuracy: 1.0 Test accuracy: 0.9784
126 Train accuracy: 1.0 Test accuracy: 0.9782
127 Train accuracy: 1.0 Test accuracy: 0.9786
128 Train accuracy: 1.0 Test accuracy: 0.9785
129 Train accuracy: 1.0 Test accuracy: 0.9778
130 Train accuracy: 1.0 Test accuracy: 0.9785
131 Train accuracy: 1.0 Test accuracy: 0.9783
132 Train accuracy: 1.0 Test accuracy: 0.9778
133 Train accuracy: 1.0 Test accuracy: 0.9788
134 Train accuracy: 1.0 Test accuracy: 0.9781
135 Train accuracy: 1.0 Test accuracy: 0.9783
136 Train accuracy: 1.0 Test accuracy: 0.9783
137 Train accuracy: 1.0 Test accuracy: 0.9785
138 Train accuracy: 1.0 Test accuracy: 0.9781
139 Train accuracy: 1.0 Test accuracy: 0.9784
140 Train accuracy: 1.0 Test accuracy: 0.9785
141 Train accuracy: 1.0 Test accuracy: 0.9782
142 Train accuracy: 1.0 Test accuracy: 0.9785
143 Train accuracy: 1.0 Test accuracy: 0.9784
144 Train accuracy: 1.0 Test accuracy: 0.9782
145 Train accuracy: 1.0 Test accuracy: 0.9782
146 Train accuracy: 1.0 Test accuracy: 0.9781
147 Train accuracy: 1.0 Test accuracy: 0.9778
148 Train accuracy: 1.0 Test accuracy: 0.9781
149 Train accuracy: 1.0 Test accuracy: 0.9782
150 Train accuracy: 1.0 Test accuracy: 0.9786
151 Train accuracy: 1.0 Test accuracy: 0.9784
152 Train accuracy: 1.0 Test accuracy: 0.9781
153 Train accuracy: 1.0 Test accuracy: 0.9782
154 Train accuracy: 1.0 Test accuracy: 0.9786
155 Train accuracy: 1.0 Test accuracy: 0.9783
156 Train accuracy: 1.0 Test accuracy: 0.978
157 Train accuracy: 1.0 Test accuracy: 0.9786
158 Train accuracy: 1.0 Test accuracy: 0.9784
159 Train accuracy: 1.0 Test accuracy: 0.9786
160 Train accuracy: 1.0 Test accuracy: 0.9782
161 Train accuracy: 1.0 Test accuracy: 0.9784
162 Train accuracy: 1.0 Test accuracy: 0.978
163 Train accuracy: 1.0 Test accuracy: 0.9782
164 Train accuracy: 1.0 Test accuracy: 0.9787
165 Train accuracy: 1.0 Test accuracy: 0.9784
166 Train accuracy: 1.0 Test accuracy: 0.9782
167 Train accuracy: 1.0 Test accuracy: 0.9785
168 Train accuracy: 1.0 Test accuracy: 0.9781
169 Train accuracy: 1.0 Test accuracy: 0.9779
170 Train accuracy: 1.0 Test accuracy: 0.978
171 Train accuracy: 1.0 Test accuracy: 0.9785
172 Train accuracy: 1.0 Test accuracy: 0.9784
173 Train accuracy: 1.0 Test accuracy: 0.9788
174 Train accuracy: 1.0 Test accuracy: 0.9784
175 Train accuracy: 1.0 Test accuracy: 0.9785
176 Train accuracy: 1.0 Test accuracy: 0.9784
177 Train accuracy: 1.0 Test accuracy: 0.9779
178 Train accuracy: 1.0 Test accuracy: 0.9783
179 Train accuracy: 1.0 Test accuracy: 0.9785
180 Train accuracy: 1.0 Test accuracy: 0.9786
181 Train accuracy: 1.0 Test accuracy: 0.9785
182 Train accuracy: 1.0 Test accuracy: 0.9785
183 Train accuracy: 1.0 Test accuracy: 0.9786
184 Train accuracy: 1.0 Test accuracy: 0.9781
185 Train accuracy: 1.0 Test accuracy: 0.9782
186 Train accuracy: 1.0 Test accuracy: 0.9786
187 Train accuracy: 1.0 Test accuracy: 0.9783
188 Train accuracy: 1.0 Test accuracy: 0.9789
189 Train accuracy: 1.0 Test accuracy: 0.9785
190 Train accuracy: 1.0 Test accuracy: 0.9787
191 Train accuracy: 1.0 Test accuracy: 0.9784
192 Train accuracy: 1.0 Test accuracy: 0.9789
193 Train accuracy: 1.0 Test accuracy: 0.9783
194 Train accuracy: 1.0 Test accuracy: 0.9785
195 Train accuracy: 1.0 Test accuracy: 0.9783
196 Train accuracy: 1.0 Test accuracy: 0.9781
197 Train accuracy: 1.0 Test accuracy: 0.9784
198 Train accuracy: 1.0 Test accuracy: 0.9784
199 Train accuracy: 1.0 Test accuracy: 0.9786
200 Train accuracy: 1.0 Test accuracy: 0.9784
201 Train accuracy: 1.0 Test accuracy: 0.9782
202 Train accuracy: 1.0 Test accuracy: 0.9787
203 Train accuracy: 1.0 Test accuracy: 0.9787
204 Train accuracy: 1.0 Test accuracy: 0.9788
205 Train accuracy: 1.0 Test accuracy: 0.9789
206 Train accuracy: 1.0 Test accuracy: 0.9784
207 Train accuracy: 1.0 Test accuracy: 0.9787
208 Train accuracy: 1.0 Test accuracy: 0.9787
209 Train accuracy: 1.0 Test accuracy: 0.9782
210 Train accuracy: 1.0 Test accuracy: 0.9784
211 Train accuracy: 1.0 Test accuracy: 0.9786
212 Train accuracy: 1.0 Test accuracy: 0.9786
213 Train accuracy: 1.0 Test accuracy: 0.9783
214 Train accuracy: 1.0 Test accuracy: 0.9784
215 Train accuracy: 1.0 Test accuracy: 0.9787
216 Train accuracy: 1.0 Test accuracy: 0.9782
217 Train accuracy: 1.0 Test accuracy: 0.9785
218 Train accuracy: 1.0 Test accuracy: 0.9786
219 Train accuracy: 1.0 Test accuracy: 0.9785
220 Train accuracy: 1.0 Test accuracy: 0.9787
221 Train accuracy: 1.0 Test accuracy: 0.9788
222 Train accuracy: 1.0 Test accuracy: 0.9788
223 Train accuracy: 1.0 Test accuracy: 0.9789
224 Train accuracy: 1.0 Test accuracy: 0.9786
225 Train accuracy: 1.0 Test accuracy: 0.9789
226 Train accuracy: 1.0 Test accuracy: 0.9786
227 Train accuracy: 1.0 Test accuracy: 0.9785
228 Train accuracy: 1.0 Test accuracy: 0.9789
229 Train accuracy: 1.0 Test accuracy: 0.9786
230 Train accuracy: 1.0 Test accuracy: 0.9789
231 Train accuracy: 1.0 Test accuracy: 0.9786
232 Train accuracy: 1.0 Test accuracy: 0.9785
233 Train accuracy: 1.0 Test accuracy: 0.9788
234 Train accuracy: 1.0 Test accuracy: 0.9784
235 Train accuracy: 1.0 Test accuracy: 0.9785
236 Train accuracy: 1.0 Test accuracy: 0.979
237 Train accuracy: 1.0 Test accuracy: 0.9786
238 Train accuracy: 1.0 Test accuracy: 0.9786
239 Train accuracy: 1.0 Test accuracy: 0.9789
240 Train accuracy: 1.0 Test accuracy: 0.9786
241 Train accuracy: 1.0 Test accuracy: 0.979
242 Train accuracy: 1.0 Test accuracy: 0.9787
243 Train accuracy: 1.0 Test accuracy: 0.9784
244 Train accuracy: 1.0 Test accuracy: 0.9786
245 Train accuracy: 1.0 Test accuracy: 0.9788
246 Train accuracy: 1.0 Test accuracy: 0.9783
247 Train accuracy: 1.0 Test accuracy: 0.9787
248 Train accuracy: 1.0 Test accuracy: 0.9788
249 Train accuracy: 1.0 Test accuracy: 0.9784
250 Train accuracy: 1.0 Test accuracy: 0.9788
251 Train accuracy: 1.0 Test accuracy: 0.9785
252 Train accuracy: 1.0 Test accuracy: 0.9786
253 Train accuracy: 1.0 Test accuracy: 0.9786
254 Train accuracy: 1.0 Test accuracy: 0.9787
255 Train accuracy: 1.0 Test accuracy: 0.9786
256 Train accuracy: 1.0 Test accuracy: 0.9789
257 Train accuracy: 1.0 Test accuracy: 0.9786
258 Train accuracy: 1.0 Test accuracy: 0.9787
259 Train accuracy: 1.0 Test accuracy: 0.9783
260 Train accuracy: 1.0 Test accuracy: 0.9789
261 Train accuracy: 1.0 Test accuracy: 0.9787
262 Train accuracy: 1.0 Test accuracy: 0.9789
263 Train accuracy: 1.0 Test accuracy: 0.9788
264 Train accuracy: 1.0 Test accuracy: 0.9787
265 Train accuracy: 1.0 Test accuracy: 0.9786
266 Train accuracy: 1.0 Test accuracy: 0.9787
267 Train accuracy: 1.0 Test accuracy: 0.9787
268 Train accuracy: 1.0 Test accuracy: 0.9784
269 Train accuracy: 1.0 Test accuracy: 0.9787
270 Train accuracy: 1.0 Test accuracy: 0.9788
271 Train accuracy: 1.0 Test accuracy: 0.9786
272 Train accuracy: 1.0 Test accuracy: 0.9787
273 Train accuracy: 1.0 Test accuracy: 0.9786
274 Train accuracy: 1.0 Test accuracy: 0.9789
275 Train accuracy: 1.0 Test accuracy: 0.979
276 Train accuracy: 1.0 Test accuracy: 0.9788
277 Train accuracy: 1.0 Test accuracy: 0.9789
278 Train accuracy: 1.0 Test accuracy: 0.9789
279 Train accuracy: 1.0 Test accuracy: 0.9784
280 Train accuracy: 1.0 Test accuracy: 0.9784
281 Train accuracy: 1.0 Test accuracy: 0.9787
282 Train accuracy: 1.0 Test accuracy: 0.9783
283 Train accuracy: 1.0 Test accuracy: 0.9788
284 Train accuracy: 1.0 Test accuracy: 0.9786
285 Train accuracy: 1.0 Test accuracy: 0.9785
286 Train accuracy: 1.0 Test accuracy: 0.979
287 Train accuracy: 1.0 Test accuracy: 0.9787
288 Train accuracy: 1.0 Test accuracy: 0.9785
289 Train accuracy: 1.0 Test accuracy: 0.9788
290 Train accuracy: 1.0 Test accuracy: 0.9788
291 Train accuracy: 1.0 Test accuracy: 0.9789
292 Train accuracy: 1.0 Test accuracy: 0.9786
293 Train accuracy: 1.0 Test accuracy: 0.9787
294 Train accuracy: 1.0 Test accuracy: 0.9785
295 Train accuracy: 1.0 Test accuracy: 0.9789
296 Train accuracy: 1.0 Test accuracy: 0.9789
297 Train accuracy: 1.0 Test accuracy: 0.9789
298 Train accuracy: 1.0 Test accuracy: 0.9787
299 Train accuracy: 1.0 Test accuracy: 0.9789
300 Train accuracy: 1.0 Test accuracy: 0.9788
301 Train accuracy: 1.0 Test accuracy: 0.9787
302 Train accuracy: 1.0 Test accuracy: 0.9787
303 Train accuracy: 1.0 Test accuracy: 0.9786
304 Train accuracy: 1.0 Test accuracy: 0.9787
305 Train accuracy: 1.0 Test accuracy: 0.9788
306 Train accuracy: 1.0 Test accuracy: 0.9787
307 Train accuracy: 1.0 Test accuracy: 0.9787
308 Train accuracy: 1.0 Test accuracy: 0.9787
309 Train accuracy: 1.0 Test accuracy: 0.9787
310 Train accuracy: 1.0 Test accuracy: 0.9789
311 Train accuracy: 1.0 Test accuracy: 0.9789
312 Train accuracy: 1.0 Test accuracy: 0.9788
313 Train accuracy: 1.0 Test accuracy: 0.9788
314 Train accuracy: 1.0 Test accuracy: 0.9788
315 Train accuracy: 1.0 Test accuracy: 0.9786
316 Train accuracy: 1.0 Test accuracy: 0.979
317 Train accuracy: 1.0 Test accuracy: 0.9788
318 Train accuracy: 1.0 Test accuracy: 0.9789
319 Train accuracy: 1.0 Test accuracy: 0.9787
320 Train accuracy: 1.0 Test accuracy: 0.9786
321 Train accuracy: 1.0 Test accuracy: 0.9786
322 Train accuracy: 1.0 Test accuracy: 0.9788
323 Train accuracy: 1.0 Test accuracy: 0.9787
324 Train accuracy: 1.0 Test accuracy: 0.9788
325 Train accuracy: 1.0 Test accuracy: 0.9787
326 Train accuracy: 1.0 Test accuracy: 0.9787
327 Train accuracy: 1.0 Test accuracy: 0.9788
328 Train accuracy: 1.0 Test accuracy: 0.9787
329 Train accuracy: 1.0 Test accuracy: 0.9788
330 Train accuracy: 1.0 Test accuracy: 0.9785
331 Train accuracy: 1.0 Test accuracy: 0.9786
332 Train accuracy: 1.0 Test accuracy: 0.9787
333 Train accuracy: 1.0 Test accuracy: 0.9788
334 Train accuracy: 1.0 Test accuracy: 0.9787
335 Train accuracy: 1.0 Test accuracy: 0.9788
336 Train accuracy: 1.0 Test accuracy: 0.9786
337 Train accuracy: 1.0 Test accuracy: 0.9792
338 Train accuracy: 1.0 Test accuracy: 0.9786
339 Train accuracy: 1.0 Test accuracy: 0.9786
340 Train accuracy: 1.0 Test accuracy: 0.979
341 Train accuracy: 1.0 Test accuracy: 0.9786
342 Train accuracy: 1.0 Test accuracy: 0.9786
343 Train accuracy: 1.0 Test accuracy: 0.9787
344 Train accuracy: 1.0 Test accuracy: 0.9786
345 Train accuracy: 1.0 Test accuracy: 0.9787
346 Train accuracy: 1.0 Test accuracy: 0.9785
347 Train accuracy: 1.0 Test accuracy: 0.9786
348 Train accuracy: 1.0 Test accuracy: 0.9788
349 Train accuracy: 1.0 Test accuracy: 0.979
350 Train accuracy: 1.0 Test accuracy: 0.9786
351 Train accuracy: 1.0 Test accuracy: 0.9788
352 Train accuracy: 1.0 Test accuracy: 0.979
353 Train accuracy: 1.0 Test accuracy: 0.9785
354 Train accuracy: 1.0 Test accuracy: 0.9789
355 Train accuracy: 1.0 Test accuracy: 0.9788
356 Train accuracy: 1.0 Test accuracy: 0.9786
357 Train accuracy: 1.0 Test accuracy: 0.9788
358 Train accuracy: 1.0 Test accuracy: 0.9786
359 Train accuracy: 1.0 Test accuracy: 0.9787
360 Train accuracy: 1.0 Test accuracy: 0.979
361 Train accuracy: 1.0 Test accuracy: 0.9788
362 Train accuracy: 1.0 Test accuracy: 0.9788
363 Train accuracy: 1.0 Test accuracy: 0.979
364 Train accuracy: 1.0 Test accuracy: 0.9787
365 Train accuracy: 1.0 Test accuracy: 0.9789
366 Train accuracy: 1.0 Test accuracy: 0.9791
367 Train accuracy: 1.0 Test accuracy: 0.9786
368 Train accuracy: 1.0 Test accuracy: 0.979
369 Train accuracy: 1.0 Test accuracy: 0.9786
370 Train accuracy: 1.0 Test accuracy: 0.979
371 Train accuracy: 1.0 Test accuracy: 0.9787
372 Train accuracy: 1.0 Test accuracy: 0.9786
373 Train accuracy: 1.0 Test accuracy: 0.9787
374 Train accuracy: 1.0 Test accuracy: 0.9787
375 Train accuracy: 1.0 Test accuracy: 0.9786
376 Train accuracy: 1.0 Test accuracy: 0.9787
377 Train accuracy: 1.0 Test accuracy: 0.9786
378 Train accuracy: 1.0 Test accuracy: 0.9788
379 Train accuracy: 1.0 Test accuracy: 0.9788
380 Train accuracy: 1.0 Test accuracy: 0.979
381 Train accuracy: 1.0 Test accuracy: 0.9787
382 Train accuracy: 1.0 Test accuracy: 0.9788
383 Train accuracy: 1.0 Test accuracy: 0.9789
384 Train accuracy: 1.0 Test accuracy: 0.9789
385 Train accuracy: 1.0 Test accuracy: 0.9788
386 Train accuracy: 1.0 Test accuracy: 0.9785
387 Train accuracy: 1.0 Test accuracy: 0.979
388 Train accuracy: 1.0 Test accuracy: 0.9788
389 Train accuracy: 1.0 Test accuracy: 0.9789
390 Train accuracy: 1.0 Test accuracy: 0.9788
391 Train accuracy: 1.0 Test accuracy: 0.9787
392 Train accuracy: 1.0 Test accuracy: 0.9786
393 Train accuracy: 1.0 Test accuracy: 0.979
394 Train accuracy: 1.0 Test accuracy: 0.9788
395 Train accuracy: 1.0 Test accuracy: 0.9788
396 Train accuracy: 1.0 Test accuracy: 0.9788
397 Train accuracy: 1.0 Test accuracy: 0.9794
398 Train accuracy: 1.0 Test accuracy: 0.9788
399 Train accuracy: 1.0 Test accuracy: 0.9788

In [ ]: