TensorFlow Addons 优化器:LazyAdam

在 TensorFlow.org 上查看 在 Google Colab 中运行 在 GitHub 中查看源代码 {img1下载笔记本

概述

此笔记本将演示如何使用 Addons 包中的 Lazy Adam 优化器。

LazyAdam

LazyAdam 是 Adam 优化器的一种变体,可以更高效地处理稀疏更新。原始的 Adam 算法为每个可训练变量维护两个移动平均累加器,这些累加器在每一步都会更新。此类为稀疏变量提供了更加懒惰的梯度更新处理。它仅更新当前批次中出现的稀疏变量索引的移动平均累加器,而不是更新所有索引的累加器。与原始的 Adam 优化器相比,它可以大幅提高某些应用的模型训练吞吐量。但是,它的语义与原始的 Adam 算法略有不同,这可能会产生不同的实验结果。

设置

pip install -q -U tensorflow-addons
import tensorflow as tf
import tensorflow_addons as tfa
# Hyperparameters
batch_size=64
epochs=10

构建模型

model = tf.keras.Sequential([
    tf.keras.layers.Dense(64, input_shape=(784,), activation='relu', name='dense_1'),
    tf.keras.layers.Dense(64, activation='relu', name='dense_2'),
    tf.keras.layers.Dense(10, activation='softmax', name='predictions'),
])

准备数据

# Load MNIST dataset as NumPy arrays
dataset = {}
num_validation = 10000
(x_train, y_train), (x_test, y_test) = tf.keras.datasets.mnist.load_data()

# Preprocess the data
x_train = x_train.reshape(-1, 784).astype('float32') / 255
x_test = x_test.reshape(-1, 784).astype('float32') / 255

训练和评估

只需用新的 TFA 优化器替换典型的 Keras 优化器

# Compile the model
model.compile(
    optimizer=tfa.optimizers.LazyAdam(0.001),  # Utilize TFA optimizer
    loss=tf.keras.losses.SparseCategoricalCrossentropy(),
    metrics=['accuracy'])

# Train the network
history = model.fit(
    x_train,
    y_train,
    batch_size=batch_size,
    epochs=epochs)
Epoch 1/10
1/938 [..............................] - ETA: 0s - loss: 2.2949 - accuracy: 0.1250
31/938 [..............................] - ETA: 1s - loss: 1.7769 - accuracy: 0.4819
61/938 [>.............................] - ETA: 1s - loss: 1.3210 - accuracy: 0.6270
90/938 [=>............................] - ETA: 1s - loss: 1.0793 - accuracy: 0.6976
121/938 [==>...........................] - ETA: 1s - loss: 0.9019 - accuracy: 0.7470
151/938 [===>..........................] - ETA: 1s - loss: 0.8015 - accuracy: 0.7763
181/938 [====>.........................] - ETA: 1s - loss: 0.7271 - accuracy: 0.7951
211/938 [=====>........................] - ETA: 1s - loss: 0.6705 - accuracy: 0.8106
242/938 [======>.......................] - ETA: 1s - loss: 0.6270 - accuracy: 0.8238
271/938 [=======>......................] - ETA: 1s - loss: 0.5887 - accuracy: 0.8343
301/938 [========>.....................] - ETA: 1s - loss: 0.5578 - accuracy: 0.8429
331/938 [=========>....................] - ETA: 1s - loss: 0.5334 - accuracy: 0.8496
361/938 [==========>...................] - ETA: 0s - loss: 0.5121 - accuracy: 0.8557
391/938 [===========>..................] - ETA: 0s - loss: 0.4916 - accuracy: 0.8611
421/938 [============>.................] - ETA: 0s - loss: 0.4734 - accuracy: 0.8662
451/938 [=============>................] - ETA: 0s - loss: 0.4590 - accuracy: 0.8700
481/938 [==============>...............] - ETA: 0s - loss: 0.4451 - accuracy: 0.8742
510/938 [===============>..............] - ETA: 0s - loss: 0.4311 - accuracy: 0.8781
540/938 [================>.............] - ETA: 0s - loss: 0.4171 - accuracy: 0.8818
569/938 [=================>............] - ETA: 0s - loss: 0.4077 - accuracy: 0.8839
600/938 [==================>...........] - ETA: 0s - loss: 0.3970 - accuracy: 0.8868
630/938 [===================>..........] - ETA: 0s - loss: 0.3877 - accuracy: 0.8892
660/938 [====================>.........] - ETA: 0s - loss: 0.3793 - accuracy: 0.8916
690/938 [=====================>........] - ETA: 0s - loss: 0.3714 - accuracy: 0.8937
720/938 [======================>.......] - ETA: 0s - loss: 0.3630 - accuracy: 0.8960
749/938 [======================>.......] - ETA: 0s - loss: 0.3559 - accuracy: 0.8979
778/938 [=======================>......] - ETA: 0s - loss: 0.3496 - accuracy: 0.8997
807/938 [========================>.....] - ETA: 0s - loss: 0.3435 - accuracy: 0.9014
837/938 [=========================>....] - ETA: 0s - loss: 0.3373 - accuracy: 0.9031
866/938 [==========================>...] - ETA: 0s - loss: 0.3308 - accuracy: 0.9048
895/938 [===========================>..] - ETA: 0s - loss: 0.3256 - accuracy: 0.9060
925/938 [============================>.] - ETA: 0s - loss: 0.3212 - accuracy: 0.9073
938/938 [==============================] - 2s 2ms/step - loss: 0.3188 - accuracy: 0.9079
Epoch 2/10

  1/938 [..............................] - ETA: 0s - loss: 0.1933 - accuracy: 0.8906
31/938 [..............................] - ETA: 1s - loss: 0.1347 - accuracy: 0.9572
61/938 [>.............................] - ETA: 1s - loss: 0.1384 - accuracy: 0.9588
91/938 [=>............................] - ETA: 1s - loss: 0.1440 - accuracy: 0.9579
120/938 [==>...........................] - ETA: 1s - loss: 0.1432 - accuracy: 0.9583
149/938 [===>..........................] - ETA: 1s - loss: 0.1424 - accuracy: 0.9570
179/938 [====>.........................] - ETA: 1s - loss: 0.1451 - accuracy: 0.9567
209/938 [=====>........................] - ETA: 1s - loss: 0.1467 - accuracy: 0.9564
239/938 [======>.......................] - ETA: 1s - loss: 0.1461 - accuracy: 0.9565
269/938 [=======>......................] - ETA: 1s - loss: 0.1461 - accuracy: 0.9568
300/938 [========>.....................] - ETA: 1s - loss: 0.1455 - accuracy: 0.9569
330/938 [=========>....................] - ETA: 1s - loss: 0.1424 - accuracy: 0.9580
361/938 [==========>...................] - ETA: 0s - loss: 0.1437 - accuracy: 0.9581
391/938 [===========>..................] - ETA: 0s - loss: 0.1418 - accuracy: 0.9581
421/938 [============>.................] - ETA: 0s - loss: 0.1397 - accuracy: 0.9587
452/938 [=============>................] - ETA: 0s - loss: 0.1388 - accuracy: 0.9589
483/938 [==============>...............] - ETA: 0s - loss: 0.1385 - accuracy: 0.9590
512/938 [===============>..............] - ETA: 0s - loss: 0.1373 - accuracy: 0.9591
543/938 [================>.............] - ETA: 0s - loss: 0.1355 - accuracy: 0.9596
573/938 [=================>............] - ETA: 0s - loss: 0.1353 - accuracy: 0.9599
603/938 [==================>...........] - ETA: 0s - loss: 0.1364 - accuracy: 0.9599
633/938 [===================>..........] - ETA: 0s - loss: 0.1357 - accuracy: 0.9599
663/938 [====================>.........] - ETA: 0s - loss: 0.1355 - accuracy: 0.9600
693/938 [=====================>........] - ETA: 0s - loss: 0.1348 - accuracy: 0.9601
723/938 [======================>.......] - ETA: 0s - loss: 0.1347 - accuracy: 0.9601
754/938 [=======================>......] - ETA: 0s - loss: 0.1343 - accuracy: 0.9602
784/938 [========================>.....] - ETA: 0s - loss: 0.1332 - accuracy: 0.9604
814/938 [=========================>....] - ETA: 0s - loss: 0.1330 - accuracy: 0.9603
845/938 [==========================>...] - ETA: 0s - loss: 0.1331 - accuracy: 0.9603
876/938 [===========================>..] - ETA: 0s - loss: 0.1326 - accuracy: 0.9603
905/938 [===========================>..] - ETA: 0s - loss: 0.1320 - accuracy: 0.9605
934/938 [============================>.] - ETA: 0s - loss: 0.1316 - accuracy: 0.9607
938/938 [==============================] - 2s 2ms/step - loss: 0.1316 - accuracy: 0.9607
Epoch 3/10

  1/938 [..............................] - ETA: 0s - loss: 0.0688 - accuracy: 0.9844
30/938 [..............................] - ETA: 1s - loss: 0.0817 - accuracy: 0.9755
60/938 [>.............................] - ETA: 1s - loss: 0.0831 - accuracy: 0.9747
89/938 [=>............................] - ETA: 1s - loss: 0.0912 - accuracy: 0.9733
119/938 [==>...........................] - ETA: 1s - loss: 0.0977 - accuracy: 0.9712
149/938 [===>..........................] - ETA: 1s - loss: 0.0976 - accuracy: 0.9715
179/938 [====>.........................] - ETA: 1s - loss: 0.0983 - accuracy: 0.9705
209/938 [=====>........................] - ETA: 1s - loss: 0.0994 - accuracy: 0.9702
239/938 [======>.......................] - ETA: 1s - loss: 0.1014 - accuracy: 0.9693
268/938 [=======>......................] - ETA: 1s - loss: 0.1005 - accuracy: 0.9692
298/938 [========>.....................] - ETA: 1s - loss: 0.1011 - accuracy: 0.9690
328/938 [=========>....................] - ETA: 1s - loss: 0.1008 - accuracy: 0.9689
357/938 [==========>...................] - ETA: 0s - loss: 0.1015 - accuracy: 0.9685
386/938 [===========>..................] - ETA: 0s - loss: 0.1018 - accuracy: 0.9687
415/938 [============>.................] - ETA: 0s - loss: 0.1016 - accuracy: 0.9688
444/938 [=============>................] - ETA: 0s - loss: 0.1012 - accuracy: 0.9690
474/938 [==============>...............] - ETA: 0s - loss: 0.1003 - accuracy: 0.9693
504/938 [===============>..............] - ETA: 0s - loss: 0.1000 - accuracy: 0.9692
534/938 [================>.............] - ETA: 0s - loss: 0.0993 - accuracy: 0.9694
563/938 [=================>............] - ETA: 0s - loss: 0.0990 - accuracy: 0.9695
594/938 [=================>............] - ETA: 0s - loss: 0.0993 - accuracy: 0.9694
623/938 [==================>...........] - ETA: 0s - loss: 0.0988 - accuracy: 0.9695
652/938 [===================>..........] - ETA: 0s - loss: 0.0995 - accuracy: 0.9695
681/938 [====================>.........] - ETA: 0s - loss: 0.0987 - accuracy: 0.9698
711/938 [=====================>........] - ETA: 0s - loss: 0.0990 - accuracy: 0.9698
740/938 [======================>.......] - ETA: 0s - loss: 0.0992 - accuracy: 0.9698
770/938 [=======================>......] - ETA: 0s - loss: 0.0988 - accuracy: 0.9700
800/938 [========================>.....] - ETA: 0s - loss: 0.0983 - accuracy: 0.9701
830/938 [=========================>....] - ETA: 0s - loss: 0.0976 - accuracy: 0.9704
859/938 [==========================>...] - ETA: 0s - loss: 0.0976 - accuracy: 0.9703
888/938 [===========================>..] - ETA: 0s - loss: 0.0978 - accuracy: 0.9703
918/938 [============================>.] - ETA: 0s - loss: 0.0972 - accuracy: 0.9705
938/938 [==============================] - 2s 2ms/step - loss: 0.0970 - accuracy: 0.9706
Epoch 4/10

  1/938 [..............................] - ETA: 0s - loss: 0.0203 - accuracy: 1.0000
30/938 [..............................] - ETA: 1s - loss: 0.0572 - accuracy: 0.9818
61/938 [>.............................] - ETA: 1s - loss: 0.0631 - accuracy: 0.9813
90/938 [=>............................] - ETA: 1s - loss: 0.0688 - accuracy: 0.9790
120/938 [==>...........................] - ETA: 1s - loss: 0.0671 - accuracy: 0.9790
150/938 [===>..........................] - ETA: 1s - loss: 0.0688 - accuracy: 0.9791
180/938 [====>.........................] - ETA: 1s - loss: 0.0697 - accuracy: 0.9785
211/938 [=====>........................] - ETA: 1s - loss: 0.0702 - accuracy: 0.9782
241/938 [======>.......................] - ETA: 1s - loss: 0.0704 - accuracy: 0.9782
270/938 [=======>......................] - ETA: 1s - loss: 0.0712 - accuracy: 0.9780
299/938 [========>.....................] - ETA: 1s - loss: 0.0707 - accuracy: 0.9779
329/938 [=========>....................] - ETA: 1s - loss: 0.0703 - accuracy: 0.9781
359/938 [==========>...................] - ETA: 0s - loss: 0.0698 - accuracy: 0.9784
389/938 [===========>..................] - ETA: 0s - loss: 0.0719 - accuracy: 0.9779
419/938 [============>.................] - ETA: 0s - loss: 0.0719 - accuracy: 0.9777
449/938 [=============>................] - ETA: 0s - loss: 0.0727 - accuracy: 0.9773
479/938 [==============>...............] - ETA: 0s - loss: 0.0725 - accuracy: 0.9773
508/938 [===============>..............] - ETA: 0s - loss: 0.0724 - accuracy: 0.9775
537/938 [================>.............] - ETA: 0s - loss: 0.0736 - accuracy: 0.9774
567/938 [=================>............] - ETA: 0s - loss: 0.0739 - accuracy: 0.9772
596/938 [==================>...........] - ETA: 0s - loss: 0.0743 - accuracy: 0.9772
627/938 [===================>..........] - ETA: 0s - loss: 0.0749 - accuracy: 0.9770
657/938 [====================>.........] - ETA: 0s - loss: 0.0763 - accuracy: 0.9767
686/938 [====================>.........] - ETA: 0s - loss: 0.0771 - accuracy: 0.9764
716/938 [=====================>........] - ETA: 0s - loss: 0.0765 - accuracy: 0.9765
745/938 [======================>.......] - ETA: 0s - loss: 0.0770 - accuracy: 0.9762
775/938 [=======================>......] - ETA: 0s - loss: 0.0768 - accuracy: 0.9761
805/938 [========================>.....] - ETA: 0s - loss: 0.0770 - accuracy: 0.9763
835/938 [=========================>....] - ETA: 0s - loss: 0.0774 - accuracy: 0.9760
864/938 [==========================>...] - ETA: 0s - loss: 0.0777 - accuracy: 0.9758
894/938 [===========================>..] - ETA: 0s - loss: 0.0783 - accuracy: 0.9758
924/938 [============================>.] - ETA: 0s - loss: 0.0781 - accuracy: 0.9760
938/938 [==============================] - 2s 2ms/step - loss: 0.0783 - accuracy: 0.9760
Epoch 5/10

  1/938 [..............................] - ETA: 0s - loss: 0.0508 - accuracy: 0.9844
30/938 [..............................] - ETA: 1s - loss: 0.0664 - accuracy: 0.9792
60/938 [>.............................] - ETA: 1s - loss: 0.0604 - accuracy: 0.9818
90/938 [=>............................] - ETA: 1s - loss: 0.0550 - accuracy: 0.9833
120/938 [==>...........................] - ETA: 1s - loss: 0.0531 - accuracy: 0.9835
150/938 [===>..........................] - ETA: 1s - loss: 0.0505 - accuracy: 0.9842
180/938 [====>.........................] - ETA: 1s - loss: 0.0524 - accuracy: 0.9836
210/938 [=====>........................] - ETA: 1s - loss: 0.0525 - accuracy: 0.9836
240/938 [======>.......................] - ETA: 1s - loss: 0.0530 - accuracy: 0.9832
270/938 [=======>......................] - ETA: 1s - loss: 0.0525 - accuracy: 0.9833
300/938 [========>.....................] - ETA: 1s - loss: 0.0535 - accuracy: 0.9833
330/938 [=========>....................] - ETA: 1s - loss: 0.0550 - accuracy: 0.9828
360/938 [==========>...................] - ETA: 0s - loss: 0.0567 - accuracy: 0.9820
390/938 [===========>..................] - ETA: 0s - loss: 0.0569 - accuracy: 0.9818
420/938 [============>.................] - ETA: 0s - loss: 0.0589 - accuracy: 0.9815
450/938 [=============>................] - ETA: 0s - loss: 0.0588 - accuracy: 0.9814
479/938 [==============>...............] - ETA: 0s - loss: 0.0590 - accuracy: 0.9813
508/938 [===============>..............] - ETA: 0s - loss: 0.0592 - accuracy: 0.9814
537/938 [================>.............] - ETA: 0s - loss: 0.0601 - accuracy: 0.9813
567/938 [=================>............] - ETA: 0s - loss: 0.0608 - accuracy: 0.9809
597/938 [==================>...........] - ETA: 0s - loss: 0.0610 - accuracy: 0.9809
626/938 [===================>..........] - ETA: 0s - loss: 0.0609 - accuracy: 0.9808
655/938 [===================>..........] - ETA: 0s - loss: 0.0611 - accuracy: 0.9806
684/938 [====================>.........] - ETA: 0s - loss: 0.0615 - accuracy: 0.9806
713/938 [=====================>........] - ETA: 0s - loss: 0.0614 - accuracy: 0.9805
742/938 [======================>.......] - ETA: 0s - loss: 0.0613 - accuracy: 0.9805
772/938 [=======================>......] - ETA: 0s - loss: 0.0611 - accuracy: 0.9806
800/938 [========================>.....] - ETA: 0s - loss: 0.0612 - accuracy: 0.9806
827/938 [=========================>....] - ETA: 0s - loss: 0.0611 - accuracy: 0.9807
855/938 [==========================>...] - ETA: 0s - loss: 0.0619 - accuracy: 0.9807
884/938 [===========================>..] - ETA: 0s - loss: 0.0618 - accuracy: 0.9806
914/938 [============================>.] - ETA: 0s - loss: 0.0620 - accuracy: 0.9805
938/938 [==============================] - 2s 2ms/step - loss: 0.0622 - accuracy: 0.9805
Epoch 6/10

  1/938 [..............................] - ETA: 0s - loss: 0.0528 - accuracy: 0.9844
31/938 [..............................] - ETA: 1s - loss: 0.0470 - accuracy: 0.9864
61/938 [>.............................] - ETA: 1s - loss: 0.0454 - accuracy: 0.9874
91/938 [=>............................] - ETA: 1s - loss: 0.0456 - accuracy: 0.9876
121/938 [==>...........................] - ETA: 1s - loss: 0.0443 - accuracy: 0.9872
150/938 [===>..........................] - ETA: 1s - loss: 0.0442 - accuracy: 0.9872
180/938 [====>.........................] - ETA: 1s - loss: 0.0448 - accuracy: 0.9867
209/938 [=====>........................] - ETA: 1s - loss: 0.0475 - accuracy: 0.9855
238/938 [======>.......................] - ETA: 1s - loss: 0.0499 - accuracy: 0.9846
267/938 [=======>......................] - ETA: 1s - loss: 0.0496 - accuracy: 0.9848
297/938 [========>.....................] - ETA: 1s - loss: 0.0496 - accuracy: 0.9850
326/938 [=========>....................] - ETA: 1s - loss: 0.0495 - accuracy: 0.9850
356/938 [==========>...................] - ETA: 0s - loss: 0.0509 - accuracy: 0.9842
384/938 [===========>..................] - ETA: 0s - loss: 0.0507 - accuracy: 0.9845
413/938 [============>.................] - ETA: 0s - loss: 0.0498 - accuracy: 0.9847
442/938 [=============>................] - ETA: 0s - loss: 0.0498 - accuracy: 0.9846
472/938 [==============>...............] - ETA: 0s - loss: 0.0500 - accuracy: 0.9847
501/938 [===============>..............] - ETA: 0s - loss: 0.0496 - accuracy: 0.9849
531/938 [===============>..............] - ETA: 0s - loss: 0.0502 - accuracy: 0.9846
561/938 [================>.............] - ETA: 0s - loss: 0.0505 - accuracy: 0.9846
591/938 [=================>............] - ETA: 0s - loss: 0.0510 - accuracy: 0.9846
621/938 [==================>...........] - ETA: 0s - loss: 0.0513 - accuracy: 0.9843
651/938 [===================>..........] - ETA: 0s - loss: 0.0516 - accuracy: 0.9842
681/938 [====================>.........] - ETA: 0s - loss: 0.0519 - accuracy: 0.9842
710/938 [=====================>........] - ETA: 0s - loss: 0.0516 - accuracy: 0.9844
739/938 [======================>.......] - ETA: 0s - loss: 0.0515 - accuracy: 0.9844
769/938 [=======================>......] - ETA: 0s - loss: 0.0516 - accuracy: 0.9844
799/938 [========================>.....] - ETA: 0s - loss: 0.0515 - accuracy: 0.9844
829/938 [=========================>....] - ETA: 0s - loss: 0.0515 - accuracy: 0.9845
858/938 [==========================>...] - ETA: 0s - loss: 0.0515 - accuracy: 0.9844
888/938 [===========================>..] - ETA: 0s - loss: 0.0515 - accuracy: 0.9843
918/938 [============================>.] - ETA: 0s - loss: 0.0518 - accuracy: 0.9843
938/938 [==============================] - 2s 2ms/step - loss: 0.0516 - accuracy: 0.9843
Epoch 7/10

  1/938 [..............................] - ETA: 0s - loss: 0.0298 - accuracy: 0.9844
31/938 [..............................] - ETA: 1s - loss: 0.0420 - accuracy: 0.9874
61/938 [>.............................] - ETA: 1s - loss: 0.0404 - accuracy: 0.9869
91/938 [=>............................] - ETA: 1s - loss: 0.0380 - accuracy: 0.9880
121/938 [==>...........................] - ETA: 1s - loss: 0.0393 - accuracy: 0.9863
151/938 [===>..........................] - ETA: 1s - loss: 0.0384 - accuracy: 0.9870
181/938 [====>.........................] - ETA: 1s - loss: 0.0380 - accuracy: 0.9873
211/938 [=====>........................] - ETA: 1s - loss: 0.0391 - accuracy: 0.9875
241/938 [======>.......................] - ETA: 1s - loss: 0.0393 - accuracy: 0.9877
271/938 [=======>......................] - ETA: 1s - loss: 0.0409 - accuracy: 0.9875
300/938 [========>.....................] - ETA: 1s - loss: 0.0413 - accuracy: 0.9874
330/938 [=========>....................] - ETA: 1s - loss: 0.0415 - accuracy: 0.9872
360/938 [==========>...................] - ETA: 0s - loss: 0.0414 - accuracy: 0.9873
389/938 [===========>..................] - ETA: 0s - loss: 0.0406 - accuracy: 0.9877
418/938 [============>.................] - ETA: 0s - loss: 0.0406 - accuracy: 0.9876
448/938 [=============>................] - ETA: 0s - loss: 0.0403 - accuracy: 0.9877
477/938 [==============>...............] - ETA: 0s - loss: 0.0406 - accuracy: 0.9876
507/938 [===============>..............] - ETA: 0s - loss: 0.0406 - accuracy: 0.9875
536/938 [================>.............] - ETA: 0s - loss: 0.0407 - accuracy: 0.9873
566/938 [=================>............] - ETA: 0s - loss: 0.0414 - accuracy: 0.9871
595/938 [==================>...........] - ETA: 0s - loss: 0.0414 - accuracy: 0.9871
624/938 [==================>...........] - ETA: 0s - loss: 0.0417 - accuracy: 0.9872
654/938 [===================>..........] - ETA: 0s - loss: 0.0426 - accuracy: 0.9868
683/938 [====================>.........] - ETA: 0s - loss: 0.0425 - accuracy: 0.9868
713/938 [=====================>........] - ETA: 0s - loss: 0.0427 - accuracy: 0.9867
743/938 [======================>.......] - ETA: 0s - loss: 0.0425 - accuracy: 0.9867
773/938 [=======================>......] - ETA: 0s - loss: 0.0426 - accuracy: 0.9866
803/938 [========================>.....] - ETA: 0s - loss: 0.0422 - accuracy: 0.9866
833/938 [=========================>....] - ETA: 0s - loss: 0.0425 - accuracy: 0.9866
863/938 [==========================>...] - ETA: 0s - loss: 0.0429 - accuracy: 0.9865
893/938 [===========================>..] - ETA: 0s - loss: 0.0430 - accuracy: 0.9864
923/938 [============================>.] - ETA: 0s - loss: 0.0432 - accuracy: 0.9863
938/938 [==============================] - 2s 2ms/step - loss: 0.0431 - accuracy: 0.9863
Epoch 8/10

  1/938 [..............................] - ETA: 0s - loss: 0.2017 - accuracy: 0.9531
30/938 [..............................] - ETA: 1s - loss: 0.0369 - accuracy: 0.9885
60/938 [>.............................] - ETA: 1s - loss: 0.0368 - accuracy: 0.9885
90/938 [=>............................] - ETA: 1s - loss: 0.0344 - accuracy: 0.9894
120/938 [==>...........................] - ETA: 1s - loss: 0.0342 - accuracy: 0.9901
149/938 [===>..........................] - ETA: 1s - loss: 0.0361 - accuracy: 0.9890
179/938 [====>.........................] - ETA: 1s - loss: 0.0381 - accuracy: 0.9884
209/938 [=====>........................] - ETA: 1s - loss: 0.0392 - accuracy: 0.9877
239/938 [======>.......................] - ETA: 1s - loss: 0.0398 - accuracy: 0.9874
268/938 [=======>......................] - ETA: 1s - loss: 0.0393 - accuracy: 0.9878
298/938 [========>.....................] - ETA: 1s - loss: 0.0379 - accuracy: 0.9880
328/938 [=========>....................] - ETA: 1s - loss: 0.0374 - accuracy: 0.9884
358/938 [==========>...................] - ETA: 0s - loss: 0.0380 - accuracy: 0.9885
387/938 [===========>..................] - ETA: 0s - loss: 0.0382 - accuracy: 0.9883
416/938 [============>.................] - ETA: 0s - loss: 0.0375 - accuracy: 0.9884
446/938 [=============>................] - ETA: 0s - loss: 0.0375 - accuracy: 0.9885
476/938 [==============>...............] - ETA: 0s - loss: 0.0379 - accuracy: 0.9884
506/938 [===============>..............] - ETA: 0s - loss: 0.0383 - accuracy: 0.9880
536/938 [================>.............] - ETA: 0s - loss: 0.0388 - accuracy: 0.9877
565/938 [=================>............] - ETA: 0s - loss: 0.0397 - accuracy: 0.9875
594/938 [=================>............] - ETA: 0s - loss: 0.0399 - accuracy: 0.9873
623/938 [==================>...........] - ETA: 0s - loss: 0.0396 - accuracy: 0.9874
652/938 [===================>..........] - ETA: 0s - loss: 0.0393 - accuracy: 0.9874
682/938 [====================>.........] - ETA: 0s - loss: 0.0398 - accuracy: 0.9871
710/938 [=====================>........] - ETA: 0s - loss: 0.0400 - accuracy: 0.9870
740/938 [======================>.......] - ETA: 0s - loss: 0.0401 - accuracy: 0.9869
769/938 [=======================>......] - ETA: 0s - loss: 0.0402 - accuracy: 0.9869
799/938 [========================>.....] - ETA: 0s - loss: 0.0400 - accuracy: 0.9870
829/938 [=========================>....] - ETA: 0s - loss: 0.0401 - accuracy: 0.9870
858/938 [==========================>...] - ETA: 0s - loss: 0.0398 - accuracy: 0.9871
887/938 [===========================>..] - ETA: 0s - loss: 0.0399 - accuracy: 0.9871
916/938 [============================>.] - ETA: 0s - loss: 0.0396 - accuracy: 0.9872
938/938 [==============================] - 2s 2ms/step - loss: 0.0392 - accuracy: 0.9873
Epoch 9/10

  1/938 [..............................] - ETA: 0s - loss: 0.0155 - accuracy: 1.0000
30/938 [..............................] - ETA: 1s - loss: 0.0313 - accuracy: 0.9875
59/938 [>.............................] - ETA: 1s - loss: 0.0294 - accuracy: 0.9902
89/938 [=>............................] - ETA: 1s - loss: 0.0283 - accuracy: 0.9905
120/938 [==>...........................] - ETA: 1s - loss: 0.0287 - accuracy: 0.9910
150/938 [===>..........................] - ETA: 1s - loss: 0.0307 - accuracy: 0.9903
179/938 [====>.........................] - ETA: 1s - loss: 0.0315 - accuracy: 0.9904
207/938 [=====>........................] - ETA: 1s - loss: 0.0310 - accuracy: 0.9905
234/938 [======>.......................] - ETA: 1s - loss: 0.0304 - accuracy: 0.9907
262/938 [=======>......................] - ETA: 1s - loss: 0.0313 - accuracy: 0.9900
291/938 [========>.....................] - ETA: 1s - loss: 0.0314 - accuracy: 0.9901
319/938 [=========>....................] - ETA: 1s - loss: 0.0302 - accuracy: 0.9906
348/938 [==========>...................] - ETA: 1s - loss: 0.0296 - accuracy: 0.9909
376/938 [===========>..................] - ETA: 0s - loss: 0.0303 - accuracy: 0.9906
404/938 [===========>..................] - ETA: 0s - loss: 0.0302 - accuracy: 0.9907
433/938 [============>.................] - ETA: 0s - loss: 0.0301 - accuracy: 0.9907
461/938 [=============>................] - ETA: 0s - loss: 0.0299 - accuracy: 0.9907
489/938 [==============>...............] - ETA: 0s - loss: 0.0303 - accuracy: 0.9905
518/938 [===============>..............] - ETA: 0s - loss: 0.0307 - accuracy: 0.9903
547/938 [================>.............] - ETA: 0s - loss: 0.0306 - accuracy: 0.9902
576/938 [=================>............] - ETA: 0s - loss: 0.0311 - accuracy: 0.9900
605/938 [==================>...........] - ETA: 0s - loss: 0.0316 - accuracy: 0.9899
634/938 [===================>..........] - ETA: 0s - loss: 0.0320 - accuracy: 0.9897
663/938 [====================>.........] - ETA: 0s - loss: 0.0319 - accuracy: 0.9898
693/938 [=====================>........] - ETA: 0s - loss: 0.0318 - accuracy: 0.9898
722/938 [======================>.......] - ETA: 0s - loss: 0.0319 - accuracy: 0.9897
751/938 [=======================>......] - ETA: 0s - loss: 0.0320 - accuracy: 0.9896
780/938 [=======================>......] - ETA: 0s - loss: 0.0325 - accuracy: 0.9894
809/938 [========================>.....] - ETA: 0s - loss: 0.0333 - accuracy: 0.9892
838/938 [=========================>....] - ETA: 0s - loss: 0.0330 - accuracy: 0.9893
867/938 [==========================>...] - ETA: 0s - loss: 0.0331 - accuracy: 0.9893
896/938 [===========================>..] - ETA: 0s - loss: 0.0328 - accuracy: 0.9894
925/938 [============================>.] - ETA: 0s - loss: 0.0331 - accuracy: 0.9894
938/938 [==============================] - 2s 2ms/step - loss: 0.0332 - accuracy: 0.9893
Epoch 10/10

  1/938 [..............................] - ETA: 0s - loss: 0.0100 - accuracy: 1.0000
30/938 [..............................] - ETA: 1s - loss: 0.0255 - accuracy: 0.9922
59/938 [>.............................] - ETA: 1s - loss: 0.0218 - accuracy: 0.9931
89/938 [=>............................] - ETA: 1s - loss: 0.0238 - accuracy: 0.9923
117/938 [==>...........................] - ETA: 1s - loss: 0.0254 - accuracy: 0.9915
145/938 [===>..........................] - ETA: 1s - loss: 0.0273 - accuracy: 0.9912
174/938 [====>.........................] - ETA: 1s - loss: 0.0276 - accuracy: 0.9912
203/938 [=====>........................] - ETA: 1s - loss: 0.0275 - accuracy: 0.9912
232/938 [======>.......................] - ETA: 1s - loss: 0.0276 - accuracy: 0.9912
261/938 [=======>......................] - ETA: 1s - loss: 0.0276 - accuracy: 0.9910
290/938 [========>.....................] - ETA: 1s - loss: 0.0271 - accuracy: 0.9913
319/938 [=========>....................] - ETA: 1s - loss: 0.0267 - accuracy: 0.9915
347/938 [==========>...................] - ETA: 1s - loss: 0.0269 - accuracy: 0.9914
376/938 [===========>..................] - ETA: 0s - loss: 0.0265 - accuracy: 0.9917
405/938 [===========>..................] - ETA: 0s - loss: 0.0268 - accuracy: 0.9916
434/938 [============>.................] - ETA: 0s - loss: 0.0272 - accuracy: 0.9915
463/938 [=============>................] - ETA: 0s - loss: 0.0271 - accuracy: 0.9914
493/938 [==============>...............] - ETA: 0s - loss: 0.0273 - accuracy: 0.9913
522/938 [===============>..............] - ETA: 0s - loss: 0.0274 - accuracy: 0.9911
551/938 [================>.............] - ETA: 0s - loss: 0.0278 - accuracy: 0.9910
579/938 [=================>............] - ETA: 0s - loss: 0.0283 - accuracy: 0.9910
608/938 [==================>...........] - ETA: 0s - loss: 0.0287 - accuracy: 0.9908
636/938 [===================>..........] - ETA: 0s - loss: 0.0288 - accuracy: 0.9907
665/938 [====================>.........] - ETA: 0s - loss: 0.0286 - accuracy: 0.9907
694/938 [=====================>........] - ETA: 0s - loss: 0.0284 - accuracy: 0.9909
723/938 [======================>.......] - ETA: 0s - loss: 0.0284 - accuracy: 0.9909
751/938 [=======================>......] - ETA: 0s - loss: 0.0286 - accuracy: 0.9909
780/938 [=======================>......] - ETA: 0s - loss: 0.0285 - accuracy: 0.9910
809/938 [========================>.....] - ETA: 0s - loss: 0.0283 - accuracy: 0.9910
838/938 [=========================>....] - ETA: 0s - loss: 0.0283 - accuracy: 0.9910
867/938 [==========================>...] - ETA: 0s - loss: 0.0282 - accuracy: 0.9910
895/938 [===========================>..] - ETA: 0s - loss: 0.0281 - accuracy: 0.9910
924/938 [============================>.] - ETA: 0s - loss: 0.0282 - accuracy: 0.9910
938/938 [==============================] - 2s 2ms/step - loss: 0.0283 - accuracy: 0.9909
# Evaluate the network
print('Evaluate on test data:')
results = model.evaluate(x_test, y_test, batch_size=128, verbose = 2)
print('Test loss = {0}, Test acc: {1}'.format(results[0], results[1]))
Evaluate on test data:
79/79 - 0s - loss: 0.0843 - accuracy: 0.9765
Test loss = 0.08429064601659775, Test acc: 0.9764999747276306