tf_course3 神经网络搭建八股

第三讲 神经网络搭建八股

1 tf.keras 搭建网络八股

1.1 keras 介绍

tf.keras 是 tensorflow2 引入的高封装度的框架, 可以用于快速搭建神经网
络模型, keras 为支持快速实验而生,能够把想法迅速转换为结果, 是深度学习
框架之中最终易上手的一个,它提供了一致而简洁的 API,能够极大地减少一般
应用下的工作量,提高代码地封装程度和复用性

Keras 官方文档:

https://tensorflow.google.cn/api_docs/python/tf

注意:由于tensorflow的API众多,因此初学时掌握常用的即可,仍然还有很多需要在今后的实践中继续学习,这时我们就需要参考
tensorflow 的官方文档,通过阅读源码和注释的方法学习 API。通常有两种方法,
以下将分别介绍:

第一种:在 pycharm 集成开发环境中查看框架源码
将鼠标放置在函数上按住 Ctrl 键, 会显示函数的基本信息, 包括
封装函数的类, 函数入口参数,函数功能等。 上图中显示的提示框就是显示出的
函数信息, 第一行表示函数属于 Model 类,第二三四行列出了函数的参数,第五
行说明了函数的功能。可以看到, model.fit()的功能是执行训练过程,是本节
课搭建神经网络六部法中十分重要的一步,后面会进一步介绍。
按住 Ctrl 键点击函数会跳转到函数的源代码部分,使用者可以根据源码和
注释进一步了解函数的实现方法

第二种:在 tensorflow 官网中查询函数文档
在这里插入图片描述

上图是 tensorflow 官方文档的网站页面。 查询时可以通过左边的检索寻找
目标函数

1.2 搭建神经网络六部法

tf.keras 搭建神经网络六部法

在这里插入图片描述

第一步:import 相关模块,如import tensorflow as tf

第二步:指定输入网络的训练集和测试集,如指定训练集的输入x_train 和 标签 y_train,测试集的输入 x_test 和 标签 y_test

第三步:逐层搭建网络结构,model = tf.keras.models.Sequential()

第四步: 在 model.compile()中配置训练方法,选择训练时使用的优化器、损失
函数和最终评价指标。

第五步: 在 model.fit()中执行训练过程,告知训练集和测试集的输入值和标签、
每个 batch 的大小(batchsize)和数据集的迭代次数(epoch)。

第六步: 使用 model.summary()打印网络结构,统计参数数目

1.3 函数用法介绍——tf.keras.models.Sequential()

model = tf.keras.models.Sequential([网络结构])

Sequential 函数是一个容器,描述了神经网络的网络结构,在Sequential函数的输入参数中描述从输入层到输出层的网络结构

如:
**拉直层:**tf.keras.layers.Flatten()

拉直层可以变换张量的尺寸,把输入特征拉直为一维数组,是不含计算参数的层。

全连接层: tf.keras.layers.Dense(神经元个数,

                      activation = "激活函数",
                      
                      keral_regularizer = "正则化方式")

其中:
activation(字符串给出)可选 relu、 softmax、 sigmoid、 tanh 等

kernel_regularizer 可选 tf.keras.regularizers.l1()、tf.keras.regularizers.l2()

**卷积层:**tf.keras.layers.Conv2D(filter = 卷积核个数,

                        kernel_size = 卷积核尺寸,
                        
                        strides = 卷积步长,
                        
                        padding = “valid” or “same”)

LSTM 层: tf.keras.layers.LSTM()。

本章只使用拉直层和全连接层,卷积层和循环神经网络层将在之后的章节介绍。

1.4 函数用法介绍——Model.compile()

Model.compile( optimizer = 优化器,
loss = 损失函数,
metrics = [“准确率”])

Compile 用于配置神经网络的训练方法,告知训练时使用的优化器、损失函数和准确率评测标准。

其中:

1、optimizer可以是字符串形式给出的优化器名字,也可以是函数形式,使用函数形式可以设置学习率、动量和超参数

可选项包括:

- ‘sgd’or tf.optimizers.SGD( lr=学习率,decay=学习率衰减率,momentum=动量参数)

- ‘adagrad’or tf.keras.optimizers.Adagrad(lr=学习率,decay=学习率衰减率)

- ‘adadelta’or tf.keras.optimizers.Adadelta(lr=学习率,decay=学习率衰减率)

- ‘adam’or tf.keras.optimizers.Adam (lr=学习率,decay=学习率衰减率)

2、Loss 可以是字符串形式给出的损失函数的名字,也可以是函数形式。

可选项包括:

‘mse’or tf.keras.losses.MeanSquareError()

‘sparse_categorical_crossentropy’

or tf.keras.losses.SparseCategoricalCrossentropy(from_logits=False)

损失函数常需要经过 softmax 等函数将输出转化为概率分布的形式。
from_logits 则用来标注该损失函数是否需要转换为概率的形式, 取 False 时表
示转化为概率分布,取 True 时表示没有转化为概率分布,直接输出
在这里插入图片描述

1.5 函数用法介绍——Model.fit()

model.fit 函数用于执行训练过程。

model.fit(训练集的输入特征, 训练集的标签,

    batch_size, epochs,

    validation_data = (测试集的输入特征,测试集的标签),
    
    validataion_split = 从测试集划分多少比例给训练集,
    
    validation_freq = 测试的 epoch 间隔次数)

1.6 函数用法介绍——Model.summary()

summary 函数用于打印网络结构和参数统计

在这里插入图片描述

上图是 model.summary()对鸢尾花分类网络的网络结构和参数统计,对于一
个输入为 4 输出为 3 的全连接网络,共有 15 个参数

2 iris 数据集代码复现

2.1 使用Sequential原始函数搭建八股

# 第一步: import 相关模块:
import tensorflow as tf
import numpy as np
from sklearn import datasets
# 第二步:指定输入网络的训练集和测试集
x_train = datasets.load_iris().data
y_train = datasets.load_iris().target

'''
其中测试集的输入特征 x_test 和标签 y_test 可以像 x_train 和 y_train 一
样直接从数据集获取, 也可以如上述在 fit 中按比例从训练集中划分, 本例选择
从训练集中划分,所以只需加载 x_train, y_train 即可。
'''
# 实现了数据集的乱序
np.random.seed(116)
np.random.shuffle(x_train)
np.random.seed(116)
np.random.shuffle(y_train)
tf.random.set_seed(116)

#第三步: 逐层搭建网络结构:
model = tf.keras.models.Sequential([
        tf.keras.layers.Dense(3, activation = 'softmax',
        kernel_regularizer = tf.keras.regularizers.l2())
    
])

'''
    如上所示,本例使用了单层全连接网络,第一个参数表示神经元个数,第二个参数表示网络所使用的激活函数,第三个参数表示选用的正则化方法。
'''


# 使用 Sequential 可以快速搭建网络结构,但是如果网络包含跳连等其他复杂网络结构, Sequential 就无法表示了。 这就需要使用 class 来声明网络结构。


# 第四步: 在 model.compile()中配置训练方法
model.compile(optimizer= tf.keras.optimizers.SGD(lr = 0.1),
             loss = tf.keras.losses.SparseCategoricalCrossentropy(from_logits = False),
             metrics=['sparse_categorical_accuracy'])

'''
    如 上 所 示 , 本 例 使 用 SGD 优 化 器 , 并 将 学 习 率 设 置 为 0.1 , 选 择
    SparseCategoricalCrossentrop 作为损失函数。 由于神经网络输出使用了
    softmax 激活函数,使得输出是概率分布,而不是原始输出, 所以需要将
    from_logits 参数设置为 False。 鸢尾花数据集给的标签是 0, 1, 2 这样的数值,
    而 网 络 前 向 传 播 的 输 出 为 概 率 分 布 , 所 以 metrics 需 要 设 置 为
    sparse_categorical_accuracy。
'''

# 第五步: 在 model.fit()中执行训练过程
'''
    在 fit 中执行训练过程,x_train,y_train 分别表示网络的输入特征和标签,
    batch_size 表示一次喂入神经网络的数据量, epochs 表示数据集的迭代次数
    validation_split 表示数据集中测试集的划分比例, validation_freq 表示每迭
    代 20 次在测试集上测试一次准确率。
'''
model.fit(x_train, y_train,batch_size=32, epochs=500, validation_split=0.2, validation_freq=20)

# 第六步: 使用 model.summary()打印网络结构,统计参数数目:
model.summary()
Epoch 1/500
4/4 [==============================] - 0s 998us/step - loss: 2.3173 - sparse_categorical_accuracy: 0.3417
Epoch 2/500
4/4 [==============================] - 0s 998us/step - loss: 1.0797 - sparse_categorical_accuracy: 0.6167
Epoch 3/500
4/4 [==============================] - 0s 997us/step - loss: 0.8429 - sparse_categorical_accuracy: 0.6250
Epoch 4/500
4/4 [==============================] - 0s 665us/step - loss: 0.7448 - sparse_categorical_accuracy: 0.6667
Epoch 5/500
4/4 [==============================] - 0s 665us/step - loss: 0.9843 - sparse_categorical_accuracy: 0.6417
Epoch 6/500
4/4 [==============================] - 0s 997us/step - loss: 0.7808 - sparse_categorical_accuracy: 0.6583
Epoch 7/500
4/4 [==============================] - 0s 664us/step - loss: 0.5961 - sparse_categorical_accuracy: 0.7250
Epoch 8/500
4/4 [==============================] - 0s 665us/step - loss: 0.5824 - sparse_categorical_accuracy: 0.7250
Epoch 9/500
4/4 [==============================] - 0s 665us/step - loss: 0.6016 - sparse_categorical_accuracy: 0.7000
Epoch 10/500
4/4 [==============================] - 0s 998us/step - loss: 0.6707 - sparse_categorical_accuracy: 0.6500
Epoch 11/500
4/4 [==============================] - 0s 665us/step - loss: 0.7967 - sparse_categorical_accuracy: 0.6667
Epoch 12/500
4/4 [==============================] - 0s 997us/step - loss: 0.5385 - sparse_categorical_accuracy: 0.7500
Epoch 13/500
4/4 [==============================] - 0s 664us/step - loss: 1.0675 - sparse_categorical_accuracy: 0.5833
Epoch 14/500
4/4 [==============================] - 0s 998us/step - loss: 0.5119 - sparse_categorical_accuracy: 0.7333
Epoch 15/500
4/4 [==============================] - 0s 665us/step - loss: 0.6831 - sparse_categorical_accuracy: 0.6667
Epoch 16/500
4/4 [==============================] - 0s 997us/step - loss: 0.5969 - sparse_categorical_accuracy: 0.7667
Epoch 17/500
4/4 [==============================] - 0s 665us/step - loss: 0.5559 - sparse_categorical_accuracy: 0.7250
Epoch 18/500
4/4 [==============================] - 0s 997us/step - loss: 0.6521 - sparse_categorical_accuracy: 0.7667
Epoch 19/500
4/4 [==============================] - 0s 665us/step - loss: 0.5902 - sparse_categorical_accuracy: 0.6833
Epoch 20/500
4/4 [==============================] - 0s 40ms/step - loss: 0.4782 - sparse_categorical_accuracy: 0.8000 - val_loss: 0.7740 - val_sparse_categorical_accuracy: 0.5333
Epoch 21/500
4/4 [==============================] - 0s 665us/step - loss: 0.4589 - sparse_categorical_accuracy: 0.8333
Epoch 22/500
4/4 [==============================] - 0s 665us/step - loss: 0.6620 - sparse_categorical_accuracy: 0.7167
Epoch 23/500
4/4 [==============================] - 0s 997us/step - loss: 0.4497 - sparse_categorical_accuracy: 0.8583
Epoch 24/500
4/4 [==============================] - 0s 997us/step - loss: 0.7418 - sparse_categorical_accuracy: 0.6917
Epoch 25/500
4/4 [==============================] - 0s 665us/step - loss: 0.4873 - sparse_categorical_accuracy: 0.7333
Epoch 26/500
4/4 [==============================] - 0s 665us/step - loss: 0.7408 - sparse_categorical_accuracy: 0.7083
Epoch 27/500
4/4 [==============================] - 0s 998us/step - loss: 0.6502 - sparse_categorical_accuracy: 0.7750
Epoch 28/500
4/4 [==============================] - 0s 665us/step - loss: 0.6749 - sparse_categorical_accuracy: 0.6667
Epoch 29/500
4/4 [==============================] - 0s 665us/step - loss: 0.5382 - sparse_categorical_accuracy: 0.7833
Epoch 30/500
4/4 [==============================] - 0s 666us/step - loss: 0.6266 - sparse_categorical_accuracy: 0.7000
Epoch 31/500
4/4 [==============================] - 0s 997us/step - loss: 0.5041 - sparse_categorical_accuracy: 0.7917
Epoch 32/500
4/4 [==============================] - 0s 665us/step - loss: 0.6933 - sparse_categorical_accuracy: 0.7250
Epoch 33/500
4/4 [==============================] - 0s 665us/step - loss: 0.5518 - sparse_categorical_accuracy: 0.7667
Epoch 34/500
4/4 [==============================] - 0s 997us/step - loss: 0.4097 - sparse_categorical_accuracy: 0.9000
Epoch 35/500
4/4 [==============================] - 0s 665us/step - loss: 0.4705 - sparse_categorical_accuracy: 0.7917
Epoch 36/500
4/4 [==============================] - 0s 997us/step - loss: 0.4490 - sparse_categorical_accuracy: 0.8583
Epoch 37/500
4/4 [==============================] - 0s 997us/step - loss: 0.4172 - sparse_categorical_accuracy: 0.9333
Epoch 38/500
4/4 [==============================] - 0s 997us/step - loss: 0.6989 - sparse_categorical_accuracy: 0.6583
Epoch 39/500
4/4 [==============================] - 0s 665us/step - loss: 0.5124 - sparse_categorical_accuracy: 0.7833
Epoch 40/500
4/4 [==============================] - 0s 6ms/step - loss: 0.3984 - sparse_categorical_accuracy: 0.9333 - val_loss: 0.5433 - val_sparse_categorical_accuracy: 0.6000
Epoch 41/500
4/4 [==============================] - 0s 997us/step - loss: 0.5434 - sparse_categorical_accuracy: 0.7333
Epoch 42/500
4/4 [==============================] - 0s 997us/step - loss: 0.6159 - sparse_categorical_accuracy: 0.7000
Epoch 43/500
4/4 [==============================] - 0s 665us/step - loss: 0.6999 - sparse_categorical_accuracy: 0.7167
Epoch 44/500
4/4 [==============================] - 0s 665us/step - loss: 0.4048 - sparse_categorical_accuracy: 0.9333
Epoch 45/500
4/4 [==============================] - 0s 998us/step - loss: 0.3924 - sparse_categorical_accuracy: 0.9500
Epoch 46/500
4/4 [==============================] - 0s 997us/step - loss: 0.3944 - sparse_categorical_accuracy: 0.9333
Epoch 47/500
4/4 [==============================] - 0s 665us/step - loss: 0.4063 - sparse_categorical_accuracy: 0.9083
Epoch 48/500
4/4 [==============================] - 0s 665us/step - loss: 0.5635 - sparse_categorical_accuracy: 0.7583
Epoch 49/500
4/4 [==============================] - 0s 997us/step - loss: 0.4108 - sparse_categorical_accuracy: 0.9333
Epoch 50/500
4/4 [==============================] - 0s 665us/step - loss: 0.3884 - sparse_categorical_accuracy: 0.9583
Epoch 51/500
4/4 [==============================] - 0s 998us/step - loss: 0.3835 - sparse_categorical_accuracy: 0.9417
Epoch 52/500
4/4 [==============================] - 0s 665us/step - loss: 0.4042 - sparse_categorical_accuracy: 0.9083
Epoch 53/500
4/4 [==============================] - 0s 997us/step - loss: 0.4400 - sparse_categorical_accuracy: 0.8500
Epoch 54/500
4/4 [==============================] - 0s 997us/step - loss: 0.7052 - sparse_categorical_accuracy: 0.6417
Epoch 55/500
4/4 [==============================] - 0s 664us/step - loss: 0.4013 - sparse_categorical_accuracy: 0.8833
Epoch 56/500
4/4 [==============================] - 0s 665us/step - loss: 0.3983 - sparse_categorical_accuracy: 0.8917
Epoch 57/500
4/4 [==============================] - 0s 997us/step - loss: 0.5127 - sparse_categorical_accuracy: 0.8000
Epoch 58/500
4/4 [==============================] - 0s 665us/step - loss: 0.5093 - sparse_categorical_accuracy: 0.8000
Epoch 59/500
4/4 [==============================] - 0s 665us/step - loss: 0.4715 - sparse_categorical_accuracy: 0.8083
Epoch 60/500
4/4 [==============================] - 0s 6ms/step - loss: 0.5407 - sparse_categorical_accuracy: 0.9000 - val_loss: 0.4260 - val_sparse_categorical_accuracy: 0.9333
Epoch 61/500
4/4 [==============================] - 0s 997us/step - loss: 0.4227 - sparse_categorical_accuracy: 0.8833
Epoch 62/500
4/4 [==============================] - 0s 997us/step - loss: 0.4420 - sparse_categorical_accuracy: 0.8583
Epoch 63/500
4/4 [==============================] - 0s 997us/step - loss: 0.6500 - sparse_categorical_accuracy: 0.7167
Epoch 64/500
4/4 [==============================] - 0s 665us/step - loss: 0.4293 - sparse_categorical_accuracy: 0.8667
Epoch 65/500
4/4 [==============================] - 0s 2ms/step - loss: 0.3863 - sparse_categorical_accuracy: 0.9167
Epoch 66/500
4/4 [==============================] - 0s 665us/step - loss: 0.3802 - sparse_categorical_accuracy: 0.9250
Epoch 67/500
4/4 [==============================] - 0s 988us/step - loss: 0.4052 - sparse_categorical_accuracy: 0.8667
Epoch 68/500
4/4 [==============================] - 0s 665us/step - loss: 0.5520 - sparse_categorical_accuracy: 0.7250
Epoch 69/500
4/4 [==============================] - 0s 997us/step - loss: 0.4788 - sparse_categorical_accuracy: 0.8167
Epoch 70/500
4/4 [==============================] - 0s 665us/step - loss: 0.3761 - sparse_categorical_accuracy: 0.9333
Epoch 71/500
4/4 [==============================] - 0s 666us/step - loss: 0.4550 - sparse_categorical_accuracy: 0.8250
Epoch 72/500
4/4 [==============================] - 0s 997us/step - loss: 0.4004 - sparse_categorical_accuracy: 0.9250
Epoch 73/500
4/4 [==============================] - 0s 665us/step - loss: 0.5146 - sparse_categorical_accuracy: 0.8167
Epoch 74/500
4/4 [==============================] - 0s 665us/step - loss: 0.3846 - sparse_categorical_accuracy: 0.9000
Epoch 75/500
4/4 [==============================] - 0s 665us/step - loss: 0.3710 - sparse_categorical_accuracy: 0.9417
Epoch 76/500
4/4 [==============================] - 0s 665us/step - loss: 0.3799 - sparse_categorical_accuracy: 0.9250
Epoch 77/500
4/4 [==============================] - 0s 665us/step - loss: 0.4709 - sparse_categorical_accuracy: 0.8000
Epoch 78/500
4/4 [==============================] - 0s 665us/step - loss: 0.7460 - sparse_categorical_accuracy: 0.6500
Epoch 79/500
4/4 [==============================] - 0s 665us/step - loss: 0.4508 - sparse_categorical_accuracy: 0.8167
Epoch 80/500
4/4 [==============================] - 0s 5ms/step - loss: 0.4219 - sparse_categorical_accuracy: 0.9000 - val_loss: 0.3497 - val_sparse_categorical_accuracy: 0.9667
Epoch 81/500
4/4 [==============================] - 0s 997us/step - loss: 0.3777 - sparse_categorical_accuracy: 0.9333
Epoch 82/500
4/4 [==============================] - 0s 665us/step - loss: 0.3703 - sparse_categorical_accuracy: 0.9583
Epoch 83/500
4/4 [==============================] - 0s 997us/step - loss: 0.3600 - sparse_categorical_accuracy: 0.9667
Epoch 84/500
4/4 [==============================] - 0s 997us/step - loss: 0.3638 - sparse_categorical_accuracy: 0.9333
Epoch 85/500
4/4 [==============================] - 0s 665us/step - loss: 0.3707 - sparse_categorical_accuracy: 0.9583
Epoch 86/500
4/4 [==============================] - 0s 665us/step - loss: 0.3845 - sparse_categorical_accuracy: 0.9250
Epoch 87/500
4/4 [==============================] - 0s 665us/step - loss: 0.3888 - sparse_categorical_accuracy: 0.8917
Epoch 88/500
4/4 [==============================] - 0s 997us/step - loss: 0.3771 - sparse_categorical_accuracy: 0.9500
Epoch 89/500
4/4 [==============================] - 0s 665us/step - loss: 0.5318 - sparse_categorical_accuracy: 0.7750
Epoch 90/500
4/4 [==============================] - 0s 665us/step - loss: 0.3822 - sparse_categorical_accuracy: 0.9250
Epoch 91/500
4/4 [==============================] - 0s 997us/step - loss: 0.4168 - sparse_categorical_accuracy: 0.9000
Epoch 92/500
4/4 [==============================] - 0s 665us/step - loss: 0.5004 - sparse_categorical_accuracy: 0.8000
Epoch 93/500
4/4 [==============================] - 0s 665us/step - loss: 0.3762 - sparse_categorical_accuracy: 0.9167
Epoch 94/500
4/4 [==============================] - 0s 997us/step - loss: 0.3885 - sparse_categorical_accuracy: 0.9333
Epoch 95/500
4/4 [==============================] - 0s 665us/step - loss: 0.3859 - sparse_categorical_accuracy: 0.8917
Epoch 96/500
4/4 [==============================] - 0s 997us/step - loss: 0.5500 - sparse_categorical_accuracy: 0.7667
Epoch 97/500
4/4 [==============================] - 0s 998us/step - loss: 0.4690 - sparse_categorical_accuracy: 0.8500
Epoch 98/500
4/4 [==============================] - 0s 665us/step - loss: 0.4850 - sparse_categorical_accuracy: 0.8083
Epoch 99/500
4/4 [==============================] - 0s 665us/step - loss: 0.3836 - sparse_categorical_accuracy: 0.9333
Epoch 100/500
4/4 [==============================] - 0s 6ms/step - loss: 0.3713 - sparse_categorical_accuracy: 0.9167 - val_loss: 0.4250 - val_sparse_categorical_accuracy: 0.9333
Epoch 101/500
4/4 [==============================] - 0s 665us/step - loss: 0.3641 - sparse_categorical_accuracy: 0.9500
Epoch 102/500
4/4 [==============================] - 0s 997us/step - loss: 0.3650 - sparse_categorical_accuracy: 0.9583
Epoch 103/500
4/4 [==============================] - 0s 997us/step - loss: 0.3610 - sparse_categorical_accuracy: 0.9500
Epoch 104/500
4/4 [==============================] - 0s 665us/step - loss: 0.3771 - sparse_categorical_accuracy: 0.8917
Epoch 105/500
4/4 [==============================] - 0s 665us/step - loss: 0.4734 - sparse_categorical_accuracy: 0.8250
Epoch 106/500
4/4 [==============================] - 0s 665us/step - loss: 0.4102 - sparse_categorical_accuracy: 0.8917
Epoch 107/500
4/4 [==============================] - 0s 665us/step - loss: 0.3745 - sparse_categorical_accuracy: 0.9333
Epoch 108/500
4/4 [==============================] - 0s 665us/step - loss: 0.3834 - sparse_categorical_accuracy: 0.9000
Epoch 109/500
4/4 [==============================] - 0s 665us/step - loss: 0.3621 - sparse_categorical_accuracy: 0.9417
Epoch 110/500
4/4 [==============================] - 0s 998us/step - loss: 0.3798 - sparse_categorical_accuracy: 0.9167
Epoch 111/500
4/4 [==============================] - 0s 998us/step - loss: 0.3572 - sparse_categorical_accuracy: 0.9750
Epoch 112/500
4/4 [==============================] - 0s 665us/step - loss: 0.3665 - sparse_categorical_accuracy: 0.9333
Epoch 113/500
4/4 [==============================] - 0s 997us/step - loss: 0.4224 - sparse_categorical_accuracy: 0.8833
Epoch 114/500
4/4 [==============================] - 0s 665us/step - loss: 0.3616 - sparse_categorical_accuracy: 0.9500
Epoch 115/500
4/4 [==============================] - 0s 665us/step - loss: 0.3762 - sparse_categorical_accuracy: 0.9250
Epoch 116/500
4/4 [==============================] - 0s 997us/step - loss: 0.3832 - sparse_categorical_accuracy: 0.8833
Epoch 117/500
4/4 [==============================] - 0s 997us/step - loss: 0.5093 - sparse_categorical_accuracy: 0.8167
Epoch 118/500
4/4 [==============================] - 0s 997us/step - loss: 0.3643 - sparse_categorical_accuracy: 0.9333
Epoch 119/500
4/4 [==============================] - 0s 998us/step - loss: 0.3593 - sparse_categorical_accuracy: 0.9417
Epoch 120/500
4/4 [==============================] - 0s 6ms/step - loss: 0.4207 - sparse_categorical_accuracy: 0.8833 - val_loss: 0.3512 - val_sparse_categorical_accuracy: 1.0000
Epoch 121/500
4/4 [==============================] - 0s 997us/step - loss: 0.4096 - sparse_categorical_accuracy: 0.9250
Epoch 122/500
4/4 [==============================] - 0s 665us/step - loss: 0.4189 - sparse_categorical_accuracy: 0.8833
Epoch 123/500
4/4 [==============================] - 0s 665us/step - loss: 0.3683 - sparse_categorical_accuracy: 0.9250
Epoch 124/500
4/4 [==============================] - 0s 665us/step - loss: 0.3650 - sparse_categorical_accuracy: 0.9167
Epoch 125/500
4/4 [==============================] - 0s 665us/step - loss: 0.3710 - sparse_categorical_accuracy: 0.9417
Epoch 126/500
4/4 [==============================] - 0s 665us/step - loss: 0.3914 - sparse_categorical_accuracy: 0.9000
Epoch 127/500
4/4 [==============================] - 0s 998us/step - loss: 0.3756 - sparse_categorical_accuracy: 0.9333
Epoch 128/500
4/4 [==============================] - 0s 665us/step - loss: 0.3782 - sparse_categorical_accuracy: 0.9083
Epoch 129/500
4/4 [==============================] - 0s 665us/step - loss: 0.3818 - sparse_categorical_accuracy: 0.9167
Epoch 130/500
4/4 [==============================] - 0s 997us/step - loss: 0.4638 - sparse_categorical_accuracy: 0.8500
Epoch 131/500
4/4 [==============================] - 0s 997us/step - loss: 0.4299 - sparse_categorical_accuracy: 0.8667
Epoch 132/500
4/4 [==============================] - 0s 665us/step - loss: 0.3521 - sparse_categorical_accuracy: 0.9750
Epoch 133/500
4/4 [==============================] - 0s 664us/step - loss: 0.3520 - sparse_categorical_accuracy: 0.9667
Epoch 134/500
4/4 [==============================] - 0s 997us/step - loss: 0.3700 - sparse_categorical_accuracy: 0.9333
Epoch 135/500
4/4 [==============================] - 0s 665us/step - loss: 0.3735 - sparse_categorical_accuracy: 0.9333
Epoch 136/500
4/4 [==============================] - 0s 997us/step - loss: 0.3584 - sparse_categorical_accuracy: 0.9333
Epoch 137/500
4/4 [==============================] - 0s 665us/step - loss: 0.4001 - sparse_categorical_accuracy: 0.9083
Epoch 138/500
4/4 [==============================] - 0s 665us/step - loss: 0.3530 - sparse_categorical_accuracy: 0.9583
Epoch 139/500
4/4 [==============================] - 0s 997us/step - loss: 0.4089 - sparse_categorical_accuracy: 0.9000
Epoch 140/500
4/4 [==============================] - 0s 6ms/step - loss: 0.5121 - sparse_categorical_accuracy: 0.7750 - val_loss: 0.3758 - val_sparse_categorical_accuracy: 1.0000
Epoch 141/500
4/4 [==============================] - 0s 665us/step - loss: 0.3577 - sparse_categorical_accuracy: 0.9500
Epoch 142/500
4/4 [==============================] - 0s 665us/step - loss: 0.3597 - sparse_categorical_accuracy: 0.9583
Epoch 143/500
4/4 [==============================] - 0s 997us/step - loss: 0.3505 - sparse_categorical_accuracy: 0.9417
Epoch 144/500
4/4 [==============================] - 0s 665us/step - loss: 0.3728 - sparse_categorical_accuracy: 0.9250
Epoch 145/500
4/4 [==============================] - 0s 997us/step - loss: 0.3780 - sparse_categorical_accuracy: 0.9083
Epoch 146/500
4/4 [==============================] - 0s 997us/step - loss: 0.3543 - sparse_categorical_accuracy: 0.9583
Epoch 147/500
4/4 [==============================] - 0s 665us/step - loss: 0.4474 - sparse_categorical_accuracy: 0.8583
Epoch 148/500
4/4 [==============================] - 0s 997us/step - loss: 0.4703 - sparse_categorical_accuracy: 0.8500
Epoch 149/500
4/4 [==============================] - 0s 665us/step - loss: 0.3700 - sparse_categorical_accuracy: 0.9083
Epoch 150/500
4/4 [==============================] - 0s 665us/step - loss: 0.4425 - sparse_categorical_accuracy: 0.8417
Epoch 151/500
4/4 [==============================] - 0s 997us/step - loss: 0.4274 - sparse_categorical_accuracy: 0.8417
Epoch 152/500
4/4 [==============================] - 0s 665us/step - loss: 0.3724 - sparse_categorical_accuracy: 0.9000
Epoch 153/500
4/4 [==============================] - 0s 665us/step - loss: 0.4161 - sparse_categorical_accuracy: 0.8750
Epoch 154/500
4/4 [==============================] - 0s 665us/step - loss: 0.3902 - sparse_categorical_accuracy: 0.9083
Epoch 155/500
4/4 [==============================] - 0s 998us/step - loss: 0.3843 - sparse_categorical_accuracy: 0.8917
Epoch 156/500
4/4 [==============================] - 0s 665us/step - loss: 0.3883 - sparse_categorical_accuracy: 0.9000
Epoch 157/500
4/4 [==============================] - 0s 665us/step - loss: 0.3966 - sparse_categorical_accuracy: 0.8667
Epoch 158/500
4/4 [==============================] - 0s 665us/step - loss: 0.3617 - sparse_categorical_accuracy: 0.9417
Epoch 159/500
4/4 [==============================] - 0s 997us/step - loss: 0.4144 - sparse_categorical_accuracy: 0.8833
Epoch 160/500
4/4 [==============================] - 0s 5ms/step - loss: 0.3978 - sparse_categorical_accuracy: 0.9333 - val_loss: 0.4238 - val_sparse_categorical_accuracy: 0.9333
Epoch 161/500
4/4 [==============================] - 0s 998us/step - loss: 0.3620 - sparse_categorical_accuracy: 0.9417
Epoch 162/500
4/4 [==============================] - 0s 665us/step - loss: 0.3863 - sparse_categorical_accuracy: 0.9083
Epoch 163/500
4/4 [==============================] - 0s 997us/step - loss: 0.3635 - sparse_categorical_accuracy: 0.9250
Epoch 164/500
4/4 [==============================] - 0s 665us/step - loss: 0.6862 - sparse_categorical_accuracy: 0.7500
Epoch 165/500
4/4 [==============================] - 0s 997us/step - loss: 0.4336 - sparse_categorical_accuracy: 0.8833
Epoch 166/500
4/4 [==============================] - 0s 997us/step - loss: 0.4403 - sparse_categorical_accuracy: 0.8583
Epoch 167/500
4/4 [==============================] - 0s 997us/step - loss: 0.3904 - sparse_categorical_accuracy: 0.9083
Epoch 168/500
4/4 [==============================] - 0s 665us/step - loss: 0.3524 - sparse_categorical_accuracy: 0.9583
Epoch 169/500
4/4 [==============================] - 0s 665us/step - loss: 0.3602 - sparse_categorical_accuracy: 0.9667
Epoch 170/500
4/4 [==============================] - 0s 665us/step - loss: 0.3542 - sparse_categorical_accuracy: 0.9583
Epoch 171/500
4/4 [==============================] - 0s 665us/step - loss: 0.4699 - sparse_categorical_accuracy: 0.8083
Epoch 172/500
4/4 [==============================] - 0s 665us/step - loss: 0.3456 - sparse_categorical_accuracy: 0.9250
Epoch 173/500
4/4 [==============================] - 0s 997us/step - loss: 0.3528 - sparse_categorical_accuracy: 0.9583
Epoch 174/500
4/4 [==============================] - 0s 997us/step - loss: 0.3801 - sparse_categorical_accuracy: 0.9250
Epoch 175/500
4/4 [==============================] - 0s 997us/step - loss: 0.3921 - sparse_categorical_accuracy: 0.9000
Epoch 176/500
4/4 [==============================] - 0s 665us/step - loss: 0.3875 - sparse_categorical_accuracy: 0.9083
Epoch 177/500
4/4 [==============================] - 0s 665us/step - loss: 0.4096 - sparse_categorical_accuracy: 0.9083
Epoch 178/500
4/4 [==============================] - 0s 665us/step - loss: 0.4523 - sparse_categorical_accuracy: 0.8583
Epoch 179/500
4/4 [==============================] - 0s 665us/step - loss: 0.3720 - sparse_categorical_accuracy: 0.9167
Epoch 180/500
4/4 [==============================] - 0s 6ms/step - loss: 0.4053 - sparse_categorical_accuracy: 0.9000 - val_loss: 0.3892 - val_sparse_categorical_accuracy: 1.0000
Epoch 181/500
4/4 [==============================] - 0s 998us/step - loss: 0.3602 - sparse_categorical_accuracy: 0.9417
Epoch 182/500
4/4 [==============================] - 0s 997us/step - loss: 0.4059 - sparse_categorical_accuracy: 0.8917
Epoch 183/500
4/4 [==============================] - 0s 997us/step - loss: 0.3556 - sparse_categorical_accuracy: 0.9333
Epoch 184/500
4/4 [==============================] - 0s 665us/step - loss: 0.4176 - sparse_categorical_accuracy: 0.8833
Epoch 185/500
4/4 [==============================] - 0s 665us/step - loss: 0.3594 - sparse_categorical_accuracy: 0.9500
Epoch 186/500
4/4 [==============================] - 0s 665us/step - loss: 0.3632 - sparse_categorical_accuracy: 0.9417
Epoch 187/500
4/4 [==============================] - 0s 665us/step - loss: 0.4102 - sparse_categorical_accuracy: 0.9083
Epoch 188/500
4/4 [==============================] - 0s 665us/step - loss: 0.3549 - sparse_categorical_accuracy: 0.9500
Epoch 189/500
4/4 [==============================] - 0s 665us/step - loss: 0.3533 - sparse_categorical_accuracy: 0.9583
Epoch 190/500
4/4 [==============================] - 0s 666us/step - loss: 0.3974 - sparse_categorical_accuracy: 0.8917
Epoch 191/500
4/4 [==============================] - 0s 665us/step - loss: 0.3645 - sparse_categorical_accuracy: 0.9333
Epoch 192/500
4/4 [==============================] - 0s 665us/step - loss: 0.3784 - sparse_categorical_accuracy: 0.9333
Epoch 193/500
4/4 [==============================] - 0s 998us/step - loss: 0.4510 - sparse_categorical_accuracy: 0.8417
Epoch 194/500
4/4 [==============================] - 0s 665us/step - loss: 0.3579 - sparse_categorical_accuracy: 0.9583
Epoch 195/500
4/4 [==============================] - 0s 665us/step - loss: 0.3572 - sparse_categorical_accuracy: 0.9583
Epoch 196/500
4/4 [==============================] - 0s 997us/step - loss: 0.3782 - sparse_categorical_accuracy: 0.9333
Epoch 197/500
4/4 [==============================] - 0s 997us/step - loss: 0.3525 - sparse_categorical_accuracy: 0.9583
Epoch 198/500
4/4 [==============================] - 0s 665us/step - loss: 0.3499 - sparse_categorical_accuracy: 0.9583
Epoch 199/500
4/4 [==============================] - 0s 665us/step - loss: 0.3540 - sparse_categorical_accuracy: 0.9417
Epoch 200/500
4/4 [==============================] - 0s 5ms/step - loss: 0.3628 - sparse_categorical_accuracy: 0.9333 - val_loss: 0.4160 - val_sparse_categorical_accuracy: 0.9333
Epoch 201/500
4/4 [==============================] - 0s 665us/step - loss: 0.3575 - sparse_categorical_accuracy: 0.9417
Epoch 202/500
4/4 [==============================] - 0s 665us/step - loss: 0.4148 - sparse_categorical_accuracy: 0.8750
Epoch 203/500
4/4 [==============================] - 0s 665us/step - loss: 0.3930 - sparse_categorical_accuracy: 0.9000
Epoch 204/500
4/4 [==============================] - 0s 665us/step - loss: 0.3465 - sparse_categorical_accuracy: 0.9750
Epoch 205/500
4/4 [==============================] - 0s 665us/step - loss: 0.3928 - sparse_categorical_accuracy: 0.9000
Epoch 206/500
4/4 [==============================] - 0s 997us/step - loss: 0.4302 - sparse_categorical_accuracy: 0.8417
Epoch 207/500
4/4 [==============================] - 0s 665us/step - loss: 0.5203 - sparse_categorical_accuracy: 0.7750
Epoch 208/500
4/4 [==============================] - 0s 665us/step - loss: 0.3765 - sparse_categorical_accuracy: 0.9250
Epoch 209/500
4/4 [==============================] - 0s 998us/step - loss: 0.3803 - sparse_categorical_accuracy: 0.9167
Epoch 210/500
4/4 [==============================] - 0s 997us/step - loss: 0.3826 - sparse_categorical_accuracy: 0.9167
Epoch 211/500
4/4 [==============================] - 0s 997us/step - loss: 0.4507 - sparse_categorical_accuracy: 0.8250
Epoch 212/500
4/4 [==============================] - 0s 665us/step - loss: 0.3604 - sparse_categorical_accuracy: 0.9000
Epoch 213/500
4/4 [==============================] - 0s 665us/step - loss: 0.3522 - sparse_categorical_accuracy: 0.9333
Epoch 214/500
4/4 [==============================] - 0s 665us/step - loss: 0.3819 - sparse_categorical_accuracy: 0.9250
Epoch 215/500
4/4 [==============================] - 0s 997us/step - loss: 0.3474 - sparse_categorical_accuracy: 0.9667
Epoch 216/500
4/4 [==============================] - 0s 665us/step - loss: 0.3784 - sparse_categorical_accuracy: 0.9000
Epoch 217/500
4/4 [==============================] - 0s 665us/step - loss: 0.3553 - sparse_categorical_accuracy: 0.9750
Epoch 218/500
4/4 [==============================] - 0s 998us/step - loss: 0.3507 - sparse_categorical_accuracy: 0.9583
Epoch 219/500
4/4 [==============================] - 0s 665us/step - loss: 0.3568 - sparse_categorical_accuracy: 0.9417
Epoch 220/500
4/4 [==============================] - 0s 6ms/step - loss: 0.3399 - sparse_categorical_accuracy: 0.9583 - val_loss: 0.3539 - val_sparse_categorical_accuracy: 0.8667
Epoch 221/500
4/4 [==============================] - 0s 665us/step - loss: 0.4177 - sparse_categorical_accuracy: 0.8917
Epoch 222/500
4/4 [==============================] - 0s 997us/step - loss: 0.4743 - sparse_categorical_accuracy: 0.8500
Epoch 223/500
4/4 [==============================] - 0s 665us/step - loss: 0.3757 - sparse_categorical_accuracy: 0.9333
Epoch 224/500
4/4 [==============================] - 0s 665us/step - loss: 0.3509 - sparse_categorical_accuracy: 0.9333
Epoch 225/500
4/4 [==============================] - 0s 997us/step - loss: 0.4814 - sparse_categorical_accuracy: 0.8250
Epoch 226/500
4/4 [==============================] - 0s 997us/step - loss: 0.3776 - sparse_categorical_accuracy: 0.9083
Epoch 227/500
4/4 [==============================] - 0s 665us/step - loss: 0.3909 - sparse_categorical_accuracy: 0.9250
Epoch 228/500
4/4 [==============================] - 0s 665us/step - loss: 0.3548 - sparse_categorical_accuracy: 0.9583
Epoch 229/500
4/4 [==============================] - 0s 665us/step - loss: 0.3536 - sparse_categorical_accuracy: 0.9417
Epoch 230/500
4/4 [==============================] - 0s 664us/step - loss: 0.3603 - sparse_categorical_accuracy: 0.9500
Epoch 231/500
4/4 [==============================] - 0s 665us/step - loss: 0.3909 - sparse_categorical_accuracy: 0.9083
Epoch 232/500
4/4 [==============================] - 0s 665us/step - loss: 0.6127 - sparse_categorical_accuracy: 0.7583
Epoch 233/500
4/4 [==============================] - 0s 997us/step - loss: 0.3575 - sparse_categorical_accuracy: 0.9417
Epoch 234/500
4/4 [==============================] - 0s 665us/step - loss: 0.3649 - sparse_categorical_accuracy: 0.9333
Epoch 235/500
4/4 [==============================] - 0s 997us/step - loss: 0.3872 - sparse_categorical_accuracy: 0.9333
Epoch 236/500
4/4 [==============================] - 0s 665us/step - loss: 0.3888 - sparse_categorical_accuracy: 0.9000
Epoch 237/500
4/4 [==============================] - 0s 998us/step - loss: 0.3783 - sparse_categorical_accuracy: 0.9083
Epoch 238/500
4/4 [==============================] - 0s 665us/step - loss: 0.3597 - sparse_categorical_accuracy: 0.9250
Epoch 239/500
4/4 [==============================] - 0s 665us/step - loss: 0.3628 - sparse_categorical_accuracy: 0.9417
Epoch 240/500
4/4 [==============================] - 0s 5ms/step - loss: 0.3752 - sparse_categorical_accuracy: 0.9250 - val_loss: 0.3356 - val_sparse_categorical_accuracy: 1.0000
Epoch 241/500
4/4 [==============================] - 0s 665us/step - loss: 0.3523 - sparse_categorical_accuracy: 0.9583
Epoch 242/500
4/4 [==============================] - 0s 997us/step - loss: 0.4029 - sparse_categorical_accuracy: 0.9000
Epoch 243/500
4/4 [==============================] - 0s 665us/step - loss: 0.5745 - sparse_categorical_accuracy: 0.7667
Epoch 244/500
4/4 [==============================] - 0s 665us/step - loss: 0.3475 - sparse_categorical_accuracy: 0.9583
Epoch 245/500
4/4 [==============================] - 0s 665us/step - loss: 0.4219 - sparse_categorical_accuracy: 0.8667
Epoch 246/500
4/4 [==============================] - 0s 997us/step - loss: 0.3892 - sparse_categorical_accuracy: 0.9167
Epoch 247/500
4/4 [==============================] - 0s 665us/step - loss: 0.4275 - sparse_categorical_accuracy: 0.8667
Epoch 248/500
4/4 [==============================] - 0s 665us/step - loss: 0.3419 - sparse_categorical_accuracy: 0.9583
Epoch 249/500
4/4 [==============================] - 0s 665us/step - loss: 0.3683 - sparse_categorical_accuracy: 0.9250
Epoch 250/500
4/4 [==============================] - 0s 665us/step - loss: 0.3579 - sparse_categorical_accuracy: 0.9417
Epoch 251/500
4/4 [==============================] - 0s 998us/step - loss: 0.3651 - sparse_categorical_accuracy: 0.9583
Epoch 252/500
4/4 [==============================] - 0s 665us/step - loss: 0.3562 - sparse_categorical_accuracy: 0.9417
Epoch 253/500
4/4 [==============================] - 0s 997us/step - loss: 0.4366 - sparse_categorical_accuracy: 0.8667
Epoch 254/500
4/4 [==============================] - 0s 997us/step - loss: 0.4126 - sparse_categorical_accuracy: 0.8667
Epoch 255/500
4/4 [==============================] - 0s 665us/step - loss: 0.4202 - sparse_categorical_accuracy: 0.8833
Epoch 256/500
4/4 [==============================] - 0s 665us/step - loss: 0.4353 - sparse_categorical_accuracy: 0.8667
Epoch 257/500
4/4 [==============================] - 0s 665us/step - loss: 0.3604 - sparse_categorical_accuracy: 0.9333
Epoch 258/500
4/4 [==============================] - 0s 665us/step - loss: 0.3504 - sparse_categorical_accuracy: 0.9583
Epoch 259/500
4/4 [==============================] - 0s 997us/step - loss: 0.3866 - sparse_categorical_accuracy: 0.9083
Epoch 260/500
4/4 [==============================] - 0s 6ms/step - loss: 0.3516 - sparse_categorical_accuracy: 0.9417 - val_loss: 0.3398 - val_sparse_categorical_accuracy: 1.0000
Epoch 261/500
4/4 [==============================] - 0s 997us/step - loss: 0.3769 - sparse_categorical_accuracy: 0.9333
Epoch 262/500
4/4 [==============================] - 0s 997us/step - loss: 0.3620 - sparse_categorical_accuracy: 0.9333
Epoch 263/500
4/4 [==============================] - 0s 665us/step - loss: 0.3474 - sparse_categorical_accuracy: 0.9667
Epoch 264/500
4/4 [==============================] - 0s 665us/step - loss: 0.3434 - sparse_categorical_accuracy: 0.9583
Epoch 265/500
4/4 [==============================] - 0s 998us/step - loss: 0.3778 - sparse_categorical_accuracy: 0.9167
Epoch 266/500
4/4 [==============================] - 0s 665us/step - loss: 0.3515 - sparse_categorical_accuracy: 0.9500
Epoch 267/500
4/4 [==============================] - 0s 665us/step - loss: 0.3481 - sparse_categorical_accuracy: 0.9667
Epoch 268/500
4/4 [==============================] - 0s 665us/step - loss: 0.3558 - sparse_categorical_accuracy: 0.9333
Epoch 269/500
4/4 [==============================] - 0s 665us/step - loss: 0.4076 - sparse_categorical_accuracy: 0.8750
Epoch 270/500
4/4 [==============================] - 0s 665us/step - loss: 0.4119 - sparse_categorical_accuracy: 0.9000
Epoch 271/500
4/4 [==============================] - 0s 665us/step - loss: 0.3590 - sparse_categorical_accuracy: 0.9417
Epoch 272/500
4/4 [==============================] - 0s 997us/step - loss: 0.3555 - sparse_categorical_accuracy: 0.9583
Epoch 273/500
4/4 [==============================] - 0s 665us/step - loss: 0.3999 - sparse_categorical_accuracy: 0.8833
Epoch 274/500
4/4 [==============================] - 0s 997us/step - loss: 0.3456 - sparse_categorical_accuracy: 0.9750
Epoch 275/500
4/4 [==============================] - 0s 665us/step - loss: 0.3543 - sparse_categorical_accuracy: 0.9333
Epoch 276/500
4/4 [==============================] - 0s 998us/step - loss: 0.3608 - sparse_categorical_accuracy: 0.9500
Epoch 277/500
4/4 [==============================] - 0s 997us/step - loss: 0.4091 - sparse_categorical_accuracy: 0.8833
Epoch 278/500
4/4 [==============================] - 0s 665us/step - loss: 0.3711 - sparse_categorical_accuracy: 0.9500
Epoch 279/500
4/4 [==============================] - 0s 665us/step - loss: 0.3670 - sparse_categorical_accuracy: 0.9167
Epoch 280/500
4/4 [==============================] - 0s 6ms/step - loss: 0.3592 - sparse_categorical_accuracy: 0.9500 - val_loss: 0.3251 - val_sparse_categorical_accuracy: 0.9667
Epoch 281/500
4/4 [==============================] - 0s 997us/step - loss: 0.3522 - sparse_categorical_accuracy: 0.9750
Epoch 282/500
4/4 [==============================] - 0s 665us/step - loss: 0.3495 - sparse_categorical_accuracy: 0.9417
Epoch 283/500
4/4 [==============================] - 0s 665us/step - loss: 0.3462 - sparse_categorical_accuracy: 0.9750
Epoch 284/500
4/4 [==============================] - 0s 998us/step - loss: 0.3948 - sparse_categorical_accuracy: 0.9167
Epoch 285/500
4/4 [==============================] - 0s 998us/step - loss: 0.4060 - sparse_categorical_accuracy: 0.8833
Epoch 286/500
4/4 [==============================] - 0s 998us/step - loss: 0.3834 - sparse_categorical_accuracy: 0.9167
Epoch 287/500
4/4 [==============================] - 0s 665us/step - loss: 0.3814 - sparse_categorical_accuracy: 0.9000
Epoch 288/500
4/4 [==============================] - 0s 997us/step - loss: 0.3698 - sparse_categorical_accuracy: 0.9250
Epoch 289/500
4/4 [==============================] - 0s 665us/step - loss: 0.5091 - sparse_categorical_accuracy: 0.8083
Epoch 290/500
4/4 [==============================] - 0s 665us/step - loss: 0.3431 - sparse_categorical_accuracy: 0.9417
Epoch 291/500
4/4 [==============================] - 0s 665us/step - loss: 0.3418 - sparse_categorical_accuracy: 0.9667
Epoch 292/500
4/4 [==============================] - 0s 664us/step - loss: 0.3627 - sparse_categorical_accuracy: 0.9250
Epoch 293/500
4/4 [==============================] - 0s 997us/step - loss: 0.3739 - sparse_categorical_accuracy: 0.9000
Epoch 294/500
4/4 [==============================] - 0s 997us/step - loss: 0.3468 - sparse_categorical_accuracy: 0.9667
Epoch 295/500
4/4 [==============================] - 0s 665us/step - loss: 0.4111 - sparse_categorical_accuracy: 0.8583
Epoch 296/500
4/4 [==============================] - 0s 997us/step - loss: 0.3469 - sparse_categorical_accuracy: 0.9333
Epoch 297/500
4/4 [==============================] - 0s 997us/step - loss: 0.3459 - sparse_categorical_accuracy: 0.9333
Epoch 298/500
4/4 [==============================] - 0s 665us/step - loss: 0.3437 - sparse_categorical_accuracy: 0.9583
Epoch 299/500
4/4 [==============================] - 0s 998us/step - loss: 0.3559 - sparse_categorical_accuracy: 0.9417
Epoch 300/500
4/4 [==============================] - 0s 6ms/step - loss: 0.3615 - sparse_categorical_accuracy: 0.9417 - val_loss: 0.3242 - val_sparse_categorical_accuracy: 0.9667
Epoch 301/500
4/4 [==============================] - 0s 665us/step - loss: 0.3921 - sparse_categorical_accuracy: 0.9250
Epoch 302/500
4/4 [==============================] - 0s 997us/step - loss: 0.3612 - sparse_categorical_accuracy: 0.9167
Epoch 303/500
4/4 [==============================] - 0s 997us/step - loss: 0.3446 - sparse_categorical_accuracy: 0.9583
Epoch 304/500
4/4 [==============================] - 0s 665us/step - loss: 0.3693 - sparse_categorical_accuracy: 0.9250
Epoch 305/500
4/4 [==============================] - 0s 665us/step - loss: 0.3616 - sparse_categorical_accuracy: 0.9500
Epoch 306/500
4/4 [==============================] - 0s 665us/step - loss: 0.3492 - sparse_categorical_accuracy: 0.9750
Epoch 307/500
4/4 [==============================] - 0s 665us/step - loss: 0.3634 - sparse_categorical_accuracy: 0.9417
Epoch 308/500
4/4 [==============================] - 0s 997us/step - loss: 0.3407 - sparse_categorical_accuracy: 0.9500
Epoch 309/500
4/4 [==============================] - 0s 997us/step - loss: 0.3700 - sparse_categorical_accuracy: 0.8917
Epoch 310/500
4/4 [==============================] - 0s 665us/step - loss: 0.3437 - sparse_categorical_accuracy: 0.9750
Epoch 311/500
4/4 [==============================] - 0s 997us/step - loss: 0.3738 - sparse_categorical_accuracy: 0.8917
Epoch 312/500
4/4 [==============================] - 0s 665us/step - loss: 0.3417 - sparse_categorical_accuracy: 0.9583
Epoch 313/500
4/4 [==============================] - 0s 997us/step - loss: 0.3499 - sparse_categorical_accuracy: 0.9417
Epoch 314/500
4/4 [==============================] - 0s 665us/step - loss: 0.3756 - sparse_categorical_accuracy: 0.9000
Epoch 315/500
4/4 [==============================] - 0s 998us/step - loss: 0.3532 - sparse_categorical_accuracy: 0.9417
Epoch 316/500
4/4 [==============================] - 0s 997us/step - loss: 0.4007 - sparse_categorical_accuracy: 0.8917
Epoch 317/500
4/4 [==============================] - 0s 665us/step - loss: 0.3593 - sparse_categorical_accuracy: 0.9417
Epoch 318/500
4/4 [==============================] - 0s 665us/step - loss: 0.3408 - sparse_categorical_accuracy: 0.9583
Epoch 319/500
4/4 [==============================] - 0s 998us/step - loss: 0.4063 - sparse_categorical_accuracy: 0.8833
Epoch 320/500
4/4 [==============================] - 0s 5ms/step - loss: 0.5146 - sparse_categorical_accuracy: 0.7917 - val_loss: 0.3246 - val_sparse_categorical_accuracy: 1.0000
Epoch 321/500
4/4 [==============================] - 0s 997us/step - loss: 0.3707 - sparse_categorical_accuracy: 0.9083
Epoch 322/500
4/4 [==============================] - 0s 665us/step - loss: 0.3414 - sparse_categorical_accuracy: 0.9750
Epoch 323/500
4/4 [==============================] - 0s 997us/step - loss: 0.3500 - sparse_categorical_accuracy: 0.9500
Epoch 324/500
4/4 [==============================] - 0s 997us/step - loss: 0.3485 - sparse_categorical_accuracy: 0.9500
Epoch 325/500
4/4 [==============================] - 0s 665us/step - loss: 0.4369 - sparse_categorical_accuracy: 0.8583
Epoch 326/500
4/4 [==============================] - 0s 665us/step - loss: 0.3594 - sparse_categorical_accuracy: 0.9500
Epoch 327/500
4/4 [==============================] - 0s 665us/step - loss: 0.3559 - sparse_categorical_accuracy: 0.9417
Epoch 328/500
4/4 [==============================] - 0s 997us/step - loss: 0.4150 - sparse_categorical_accuracy: 0.8917
Epoch 329/500
4/4 [==============================] - 0s 997us/step - loss: 0.3804 - sparse_categorical_accuracy: 0.9167
Epoch 330/500
4/4 [==============================] - 0s 665us/step - loss: 0.3942 - sparse_categorical_accuracy: 0.8917
Epoch 331/500
4/4 [==============================] - 0s 665us/step - loss: 0.3654 - sparse_categorical_accuracy: 0.9417
Epoch 332/500
4/4 [==============================] - 0s 665us/step - loss: 0.3498 - sparse_categorical_accuracy: 0.9500
Epoch 333/500
4/4 [==============================] - 0s 665us/step - loss: 0.3528 - sparse_categorical_accuracy: 0.9500
Epoch 334/500
4/4 [==============================] - 0s 665us/step - loss: 0.3459 - sparse_categorical_accuracy: 0.9750
Epoch 335/500
4/4 [==============================] - 0s 665us/step - loss: 0.3427 - sparse_categorical_accuracy: 0.9417
Epoch 336/500
4/4 [==============================] - 0s 997us/step - loss: 0.3421 - sparse_categorical_accuracy: 0.9667
Epoch 337/500
4/4 [==============================] - 0s 998us/step - loss: 0.3449 - sparse_categorical_accuracy: 0.9417
Epoch 338/500
4/4 [==============================] - 0s 665us/step - loss: 0.4189 - sparse_categorical_accuracy: 0.8583
Epoch 339/500
4/4 [==============================] - 0s 997us/step - loss: 0.3469 - sparse_categorical_accuracy: 0.9500
Epoch 340/500
4/4 [==============================] - 0s 6ms/step - loss: 0.4089 - sparse_categorical_accuracy: 0.8583 - val_loss: 0.3289 - val_sparse_categorical_accuracy: 1.0000
Epoch 341/500
4/4 [==============================] - 0s 665us/step - loss: 0.3863 - sparse_categorical_accuracy: 0.9083
Epoch 342/500
4/4 [==============================] - 0s 665us/step - loss: 0.3991 - sparse_categorical_accuracy: 0.8833
Epoch 343/500
4/4 [==============================] - 0s 998us/step - loss: 0.4232 - sparse_categorical_accuracy: 0.8667
Epoch 344/500
4/4 [==============================] - 0s 665us/step - loss: 0.4240 - sparse_categorical_accuracy: 0.8667
Epoch 345/500
4/4 [==============================] - 0s 665us/step - loss: 0.3626 - sparse_categorical_accuracy: 0.9500
Epoch 346/500
4/4 [==============================] - 0s 665us/step - loss: 0.3398 - sparse_categorical_accuracy: 0.9583
Epoch 347/500
4/4 [==============================] - 0s 998us/step - loss: 0.3416 - sparse_categorical_accuracy: 0.9250
Epoch 348/500
4/4 [==============================] - 0s 997us/step - loss: 0.3892 - sparse_categorical_accuracy: 0.9083
Epoch 349/500
4/4 [==============================] - 0s 665us/step - loss: 0.3674 - sparse_categorical_accuracy: 0.9167
Epoch 350/500
4/4 [==============================] - 0s 665us/step - loss: 0.3400 - sparse_categorical_accuracy: 0.9667
Epoch 351/500
4/4 [==============================] - 0s 665us/step - loss: 0.3556 - sparse_categorical_accuracy: 0.9500
Epoch 352/500
4/4 [==============================] - 0s 665us/step - loss: 0.3704 - sparse_categorical_accuracy: 0.9500
Epoch 353/500
4/4 [==============================] - 0s 665us/step - loss: 0.3406 - sparse_categorical_accuracy: 0.9667
Epoch 354/500
4/4 [==============================] - 0s 665us/step - loss: 0.3330 - sparse_categorical_accuracy: 0.9500
Epoch 355/500
4/4 [==============================] - 0s 997us/step - loss: 0.3984 - sparse_categorical_accuracy: 0.8833
Epoch 356/500
4/4 [==============================] - 0s 665us/step - loss: 0.4194 - sparse_categorical_accuracy: 0.8583
Epoch 357/500
4/4 [==============================] - 0s 665us/step - loss: 0.3721 - sparse_categorical_accuracy: 0.9250
Epoch 358/500
4/4 [==============================] - 0s 665us/step - loss: 0.3770 - sparse_categorical_accuracy: 0.9333
Epoch 359/500
4/4 [==============================] - 0s 665us/step - loss: 0.3631 - sparse_categorical_accuracy: 0.9167
Epoch 360/500
4/4 [==============================] - 0s 5ms/step - loss: 0.3405 - sparse_categorical_accuracy: 0.9583 - val_loss: 0.3238 - val_sparse_categorical_accuracy: 0.9667
Epoch 361/500
4/4 [==============================] - 0s 665us/step - loss: 0.4157 - sparse_categorical_accuracy: 0.9000
Epoch 362/500
4/4 [==============================] - 0s 665us/step - loss: 0.3548 - sparse_categorical_accuracy: 0.9667
Epoch 363/500
4/4 [==============================] - 0s 997us/step - loss: 0.3715 - sparse_categorical_accuracy: 0.9417
Epoch 364/500
4/4 [==============================] - 0s 665us/step - loss: 0.4348 - sparse_categorical_accuracy: 0.8417
Epoch 365/500
4/4 [==============================] - 0s 665us/step - loss: 0.3671 - sparse_categorical_accuracy: 0.9333
Epoch 366/500
4/4 [==============================] - 0s 665us/step - loss: 0.3489 - sparse_categorical_accuracy: 0.9500
Epoch 367/500
4/4 [==============================] - 0s 998us/step - loss: 0.3407 - sparse_categorical_accuracy: 0.9500
Epoch 368/500
4/4 [==============================] - 0s 665us/step - loss: 0.3895 - sparse_categorical_accuracy: 0.9083
Epoch 369/500
4/4 [==============================] - 0s 665us/step - loss: 0.3437 - sparse_categorical_accuracy: 0.9583
Epoch 370/500
4/4 [==============================] - 0s 665us/step - loss: 0.3371 - sparse_categorical_accuracy: 0.9583
Epoch 371/500
4/4 [==============================] - 0s 665us/step - loss: 0.3437 - sparse_categorical_accuracy: 0.9667
Epoch 372/500
4/4 [==============================] - 0s 665us/step - loss: 0.3445 - sparse_categorical_accuracy: 0.9583
Epoch 373/500
4/4 [==============================] - 0s 997us/step - loss: 0.4199 - sparse_categorical_accuracy: 0.8833
Epoch 374/500
4/4 [==============================] - 0s 997us/step - loss: 0.3528 - sparse_categorical_accuracy: 0.9417
Epoch 375/500
4/4 [==============================] - 0s 664us/step - loss: 0.3791 - sparse_categorical_accuracy: 0.9250
Epoch 376/500
4/4 [==============================] - 0s 997us/step - loss: 0.3511 - sparse_categorical_accuracy: 0.9500
Epoch 377/500
4/4 [==============================] - 0s 997us/step - loss: 0.3391 - sparse_categorical_accuracy: 0.9667
Epoch 378/500
4/4 [==============================] - 0s 997us/step - loss: 0.3461 - sparse_categorical_accuracy: 0.9500
Epoch 379/500
4/4 [==============================] - 0s 997us/step - loss: 0.3603 - sparse_categorical_accuracy: 0.9667
Epoch 380/500
4/4 [==============================] - 0s 5ms/step - loss: 0.3398 - sparse_categorical_accuracy: 0.9667 - val_loss: 0.3323 - val_sparse_categorical_accuracy: 1.0000
Epoch 381/500
4/4 [==============================] - 0s 665us/step - loss: 0.3799 - sparse_categorical_accuracy: 0.9167
Epoch 382/500
4/4 [==============================] - 0s 665us/step - loss: 0.3502 - sparse_categorical_accuracy: 0.9667
Epoch 383/500
4/4 [==============================] - 0s 665us/step - loss: 0.3963 - sparse_categorical_accuracy: 0.8833
Epoch 384/500
4/4 [==============================] - 0s 997us/step - loss: 0.3446 - sparse_categorical_accuracy: 0.9500
Epoch 385/500
4/4 [==============================] - 0s 665us/step - loss: 0.3970 - sparse_categorical_accuracy: 0.9250
Epoch 386/500
4/4 [==============================] - 0s 665us/step - loss: 0.3411 - sparse_categorical_accuracy: 0.9750
Epoch 387/500
4/4 [==============================] - 0s 998us/step - loss: 0.3672 - sparse_categorical_accuracy: 0.9167
Epoch 388/500
4/4 [==============================] - 0s 665us/step - loss: 0.3954 - sparse_categorical_accuracy: 0.9167
Epoch 389/500
4/4 [==============================] - 0s 665us/step - loss: 0.3850 - sparse_categorical_accuracy: 0.8750
Epoch 390/500
4/4 [==============================] - 0s 665us/step - loss: 0.4663 - sparse_categorical_accuracy: 0.8333
Epoch 391/500
4/4 [==============================] - 0s 998us/step - loss: 0.4209 - sparse_categorical_accuracy: 0.8583
Epoch 392/500
4/4 [==============================] - 0s 665us/step - loss: 0.3512 - sparse_categorical_accuracy: 0.9250
Epoch 393/500
4/4 [==============================] - 0s 665us/step - loss: 0.3487 - sparse_categorical_accuracy: 0.9417
Epoch 394/500
4/4 [==============================] - 0s 665us/step - loss: 0.3444 - sparse_categorical_accuracy: 0.9500
Epoch 395/500
4/4 [==============================] - 0s 997us/step - loss: 0.3714 - sparse_categorical_accuracy: 0.9333
Epoch 396/500
4/4 [==============================] - 0s 665us/step - loss: 0.3681 - sparse_categorical_accuracy: 0.9250
Epoch 397/500
4/4 [==============================] - 0s 665us/step - loss: 0.3659 - sparse_categorical_accuracy: 0.9000
Epoch 398/500
4/4 [==============================] - 0s 665us/step - loss: 0.3437 - sparse_categorical_accuracy: 0.9667
Epoch 399/500
4/4 [==============================] - 0s 665us/step - loss: 0.3917 - sparse_categorical_accuracy: 0.9083
Epoch 400/500
4/4 [==============================] - 0s 6ms/step - loss: 0.3787 - sparse_categorical_accuracy: 0.9250 - val_loss: 0.5941 - val_sparse_categorical_accuracy: 0.6000
Epoch 401/500
4/4 [==============================] - 0s 665us/step - loss: 0.3651 - sparse_categorical_accuracy: 0.9333
Epoch 402/500
4/4 [==============================] - 0s 665us/step - loss: 0.3480 - sparse_categorical_accuracy: 0.9583
Epoch 403/500
4/4 [==============================] - 0s 997us/step - loss: 0.3813 - sparse_categorical_accuracy: 0.9167
Epoch 404/500
4/4 [==============================] - 0s 665us/step - loss: 0.4448 - sparse_categorical_accuracy: 0.8583
Epoch 405/500
4/4 [==============================] - 0s 998us/step - loss: 0.3864 - sparse_categorical_accuracy: 0.9083
Epoch 406/500
4/4 [==============================] - 0s 665us/step - loss: 0.3440 - sparse_categorical_accuracy: 0.9583
Epoch 407/500
4/4 [==============================] - 0s 997us/step - loss: 0.4250 - sparse_categorical_accuracy: 0.8667
Epoch 408/500
4/4 [==============================] - 0s 665us/step - loss: 0.3375 - sparse_categorical_accuracy: 0.9667
Epoch 409/500
4/4 [==============================] - 0s 665us/step - loss: 0.3470 - sparse_categorical_accuracy: 0.9333
Epoch 410/500
4/4 [==============================] - 0s 665us/step - loss: 0.3442 - sparse_categorical_accuracy: 0.9500
Epoch 411/500
4/4 [==============================] - 0s 665us/step - loss: 0.3907 - sparse_categorical_accuracy: 0.8583
Epoch 412/500
4/4 [==============================] - 0s 665us/step - loss: 0.3829 - sparse_categorical_accuracy: 0.8750
Epoch 413/500
4/4 [==============================] - 0s 665us/step - loss: 0.3658 - sparse_categorical_accuracy: 0.8917
Epoch 414/500
4/4 [==============================] - 0s 665us/step - loss: 0.3384 - sparse_categorical_accuracy: 0.9583
Epoch 415/500
4/4 [==============================] - 0s 997us/step - loss: 0.3447 - sparse_categorical_accuracy: 0.9667
Epoch 416/500
4/4 [==============================] - 0s 665us/step - loss: 0.3389 - sparse_categorical_accuracy: 0.9750
Epoch 417/500
4/4 [==============================] - 0s 665us/step - loss: 0.3484 - sparse_categorical_accuracy: 0.9750
Epoch 418/500
4/4 [==============================] - 0s 997us/step - loss: 0.3718 - sparse_categorical_accuracy: 0.9167
Epoch 419/500
4/4 [==============================] - 0s 998us/step - loss: 0.3435 - sparse_categorical_accuracy: 0.9500
Epoch 420/500
4/4 [==============================] - 0s 6ms/step - loss: 0.3400 - sparse_categorical_accuracy: 0.9500 - val_loss: 0.3493 - val_sparse_categorical_accuracy: 1.0000
Epoch 421/500
4/4 [==============================] - 0s 997us/step - loss: 0.3376 - sparse_categorical_accuracy: 0.9667
Epoch 422/500
4/4 [==============================] - 0s 665us/step - loss: 0.3501 - sparse_categorical_accuracy: 0.9750
Epoch 423/500
4/4 [==============================] - 0s 665us/step - loss: 0.4595 - sparse_categorical_accuracy: 0.8250
Epoch 424/500
4/4 [==============================] - 0s 998us/step - loss: 0.3583 - sparse_categorical_accuracy: 0.9333
Epoch 425/500
4/4 [==============================] - 0s 665us/step - loss: 0.3593 - sparse_categorical_accuracy: 0.9417
Epoch 426/500
4/4 [==============================] - 0s 997us/step - loss: 0.4827 - sparse_categorical_accuracy: 0.8000
Epoch 427/500
4/4 [==============================] - 0s 665us/step - loss: 0.4092 - sparse_categorical_accuracy: 0.8917
Epoch 428/500
4/4 [==============================] - 0s 997us/step - loss: 0.3592 - sparse_categorical_accuracy: 0.9250
Epoch 429/500
4/4 [==============================] - 0s 997us/step - loss: 0.3744 - sparse_categorical_accuracy: 0.9000
Epoch 430/500
4/4 [==============================] - 0s 997us/step - loss: 0.4432 - sparse_categorical_accuracy: 0.8750
Epoch 431/500
4/4 [==============================] - 0s 665us/step - loss: 0.3755 - sparse_categorical_accuracy: 0.9167
Epoch 432/500
4/4 [==============================] - 0s 998us/step - loss: 0.3350 - sparse_categorical_accuracy: 0.9667
Epoch 433/500
4/4 [==============================] - 0s 665us/step - loss: 0.3608 - sparse_categorical_accuracy: 0.9417
Epoch 434/500
4/4 [==============================] - 0s 665us/step - loss: 0.3540 - sparse_categorical_accuracy: 0.9417
Epoch 435/500
4/4 [==============================] - 0s 997us/step - loss: 0.3831 - sparse_categorical_accuracy: 0.9167
Epoch 436/500
4/4 [==============================] - 0s 665us/step - loss: 0.3791 - sparse_categorical_accuracy: 0.8750
Epoch 437/500
4/4 [==============================] - 0s 665us/step - loss: 0.3327 - sparse_categorical_accuracy: 0.9750
Epoch 438/500
4/4 [==============================] - 0s 997us/step - loss: 0.3575 - sparse_categorical_accuracy: 0.9250
Epoch 439/500
4/4 [==============================] - 0s 665us/step - loss: 0.4376 - sparse_categorical_accuracy: 0.8500
Epoch 440/500
4/4 [==============================] - 0s 6ms/step - loss: 0.3535 - sparse_categorical_accuracy: 0.9333 - val_loss: 0.3876 - val_sparse_categorical_accuracy: 1.0000
Epoch 441/500
4/4 [==============================] - 0s 665us/step - loss: 0.3743 - sparse_categorical_accuracy: 0.9250
Epoch 442/500
4/4 [==============================] - 0s 998us/step - loss: 0.3386 - sparse_categorical_accuracy: 0.9750
Epoch 443/500
4/4 [==============================] - 0s 665us/step - loss: 0.3476 - sparse_categorical_accuracy: 0.9667
Epoch 444/500
4/4 [==============================] - 0s 665us/step - loss: 0.3391 - sparse_categorical_accuracy: 0.9500
Epoch 445/500
4/4 [==============================] - 0s 997us/step - loss: 0.3449 - sparse_categorical_accuracy: 0.9583
Epoch 446/500
4/4 [==============================] - 0s 665us/step - loss: 0.3598 - sparse_categorical_accuracy: 0.9417
Epoch 447/500
4/4 [==============================] - 0s 997us/step - loss: 0.3927 - sparse_categorical_accuracy: 0.8833
Epoch 448/500
4/4 [==============================] - 0s 665us/step - loss: 0.3524 - sparse_categorical_accuracy: 0.9333
Epoch 449/500
4/4 [==============================] - 0s 665us/step - loss: 0.3387 - sparse_categorical_accuracy: 0.9750
Epoch 450/500
4/4 [==============================] - 0s 997us/step - loss: 0.3424 - sparse_categorical_accuracy: 0.9250
Epoch 451/500
4/4 [==============================] - 0s 665us/step - loss: 0.4508 - sparse_categorical_accuracy: 0.8333
Epoch 452/500
4/4 [==============================] - 0s 665us/step - loss: 0.3504 - sparse_categorical_accuracy: 0.9417
Epoch 453/500
4/4 [==============================] - 0s 665us/step - loss: 0.3766 - sparse_categorical_accuracy: 0.9167
Epoch 454/500
4/4 [==============================] - 0s 665us/step - loss: 0.3650 - sparse_categorical_accuracy: 0.9167
Epoch 455/500
4/4 [==============================] - 0s 665us/step - loss: 0.3506 - sparse_categorical_accuracy: 0.9583
Epoch 456/500
4/4 [==============================] - 0s 665us/step - loss: 0.3765 - sparse_categorical_accuracy: 0.9083
Epoch 457/500
4/4 [==============================] - 0s 665us/step - loss: 0.3376 - sparse_categorical_accuracy: 0.9833
Epoch 458/500
4/4 [==============================] - 0s 998us/step - loss: 0.3532 - sparse_categorical_accuracy: 0.9583
Epoch 459/500
4/4 [==============================] - 0s 665us/step - loss: 0.3358 - sparse_categorical_accuracy: 0.9500
Epoch 460/500
4/4 [==============================] - 0s 5ms/step - loss: 0.6349 - sparse_categorical_accuracy: 0.7250 - val_loss: 0.3554 - val_sparse_categorical_accuracy: 1.0000
Epoch 461/500
4/4 [==============================] - 0s 665us/step - loss: 0.3414 - sparse_categorical_accuracy: 0.9750
Epoch 462/500
4/4 [==============================] - 0s 665us/step - loss: 0.3489 - sparse_categorical_accuracy: 0.9417
Epoch 463/500
4/4 [==============================] - 0s 665us/step - loss: 0.3581 - sparse_categorical_accuracy: 0.9417
Epoch 464/500
4/4 [==============================] - 0s 665us/step - loss: 0.4619 - sparse_categorical_accuracy: 0.8583
Epoch 465/500
4/4 [==============================] - 0s 665us/step - loss: 0.4844 - sparse_categorical_accuracy: 0.8333
Epoch 466/500
4/4 [==============================] - 0s 998us/step - loss: 0.3958 - sparse_categorical_accuracy: 0.8833
Epoch 467/500
4/4 [==============================] - 0s 665us/step - loss: 0.3387 - sparse_categorical_accuracy: 0.9583
Epoch 468/500
4/4 [==============================] - 0s 665us/step - loss: 0.3566 - sparse_categorical_accuracy: 0.9417
Epoch 469/500
4/4 [==============================] - 0s 665us/step - loss: 0.3544 - sparse_categorical_accuracy: 0.9417
Epoch 470/500
4/4 [==============================] - 0s 998us/step - loss: 0.3763 - sparse_categorical_accuracy: 0.9000
Epoch 471/500
4/4 [==============================] - 0s 665us/step - loss: 0.3349 - sparse_categorical_accuracy: 0.9500
Epoch 472/500
4/4 [==============================] - 0s 665us/step - loss: 0.5347 - sparse_categorical_accuracy: 0.7667
Epoch 473/500
4/4 [==============================] - 0s 665us/step - loss: 0.4666 - sparse_categorical_accuracy: 0.8833
Epoch 474/500
4/4 [==============================] - 0s 997us/step - loss: 0.5124 - sparse_categorical_accuracy: 0.7833
Epoch 475/500
4/4 [==============================] - 0s 997us/step - loss: 0.3539 - sparse_categorical_accuracy: 0.9417
Epoch 476/500
4/4 [==============================] - 0s 665us/step - loss: 0.3371 - sparse_categorical_accuracy: 0.9583
Epoch 477/500
4/4 [==============================] - 0s 666us/step - loss: 0.4072 - sparse_categorical_accuracy: 0.8917
Epoch 478/500
4/4 [==============================] - 0s 665us/step - loss: 0.4168 - sparse_categorical_accuracy: 0.8750
Epoch 479/500
4/4 [==============================] - 0s 997us/step - loss: 0.4617 - sparse_categorical_accuracy: 0.8333
Epoch 480/500
4/4 [==============================] - 0s 5ms/step - loss: 0.3497 - sparse_categorical_accuracy: 0.9417 - val_loss: 0.3175 - val_sparse_categorical_accuracy: 1.0000
Epoch 481/500
4/4 [==============================] - 0s 997us/step - loss: 0.3413 - sparse_categorical_accuracy: 0.9667
Epoch 482/500
4/4 [==============================] - 0s 665us/step - loss: 0.3415 - sparse_categorical_accuracy: 0.9667
Epoch 483/500
4/4 [==============================] - 0s 665us/step - loss: 0.3437 - sparse_categorical_accuracy: 0.9583
Epoch 484/500
4/4 [==============================] - 0s 997us/step - loss: 0.3377 - sparse_categorical_accuracy: 0.9500
Epoch 485/500
4/4 [==============================] - 0s 665us/step - loss: 0.4217 - sparse_categorical_accuracy: 0.8583
Epoch 486/500
4/4 [==============================] - 0s 998us/step - loss: 0.3618 - sparse_categorical_accuracy: 0.9417
Epoch 487/500
4/4 [==============================] - 0s 665us/step - loss: 0.3622 - sparse_categorical_accuracy: 0.9083
Epoch 488/500
4/4 [==============================] - 0s 665us/step - loss: 0.3756 - sparse_categorical_accuracy: 0.8917
Epoch 489/500
4/4 [==============================] - 0s 997us/step - loss: 0.3968 - sparse_categorical_accuracy: 0.9000
Epoch 490/500
4/4 [==============================] - 0s 665us/step - loss: 0.3435 - sparse_categorical_accuracy: 0.9583
Epoch 491/500
4/4 [==============================] - 0s 665us/step - loss: 0.3394 - sparse_categorical_accuracy: 0.9750
Epoch 492/500
4/4 [==============================] - 0s 665us/step - loss: 0.3348 - sparse_categorical_accuracy: 0.9833
Epoch 493/500
4/4 [==============================] - 0s 665us/step - loss: 0.3447 - sparse_categorical_accuracy: 0.9333
Epoch 494/500
4/4 [==============================] - 0s 665us/step - loss: 0.3433 - sparse_categorical_accuracy: 0.9333
Epoch 495/500
4/4 [==============================] - 0s 665us/step - loss: 0.3357 - sparse_categorical_accuracy: 0.9583
Epoch 496/500
4/4 [==============================] - 0s 665us/step - loss: 0.3445 - sparse_categorical_accuracy: 0.9583
Epoch 497/500
4/4 [==============================] - 0s 665us/step - loss: 0.3435 - sparse_categorical_accuracy: 0.9333
Epoch 498/500
4/4 [==============================] - 0s 664us/step - loss: 0.3406 - sparse_categorical_accuracy: 0.9667
Epoch 499/500
4/4 [==============================] - 0s 665us/step - loss: 0.3649 - sparse_categorical_accuracy: 0.9333
Epoch 500/500
4/4 [==============================] - 0s 6ms/step - loss: 0.3888 - sparse_categorical_accuracy: 0.9250 - val_loss: 0.3516 - val_sparse_categorical_accuracy: 0.8667
Model: "sequential_2"
_________________________________________________________________
 Layer (type)                Output Shape              Param #   
=================================================================
 dense_2 (Dense)             (None, 3)                 15        
                                                                 
=================================================================
Total params: 15
Trainable params: 15
Non-trainable params: 0
_________________________________________________________________

2.2 使用class搭建网络八股

在第三步的逐层搭建网络结构中,使用Sequential可以快速搭建网络结构,但是如果网络包含跳连等其他复杂网络结构,Sequential就无法表示了。这就需要使用class来声明网络结构。

class MyModel(Model):
    def __init__(self):
        super(MyModel, self).__init__()
        # 初始化网络结构
        
    def calll(self, x):
        # 调用网络结构快,实现前向传播
        y  = self.dl(x)
        return y
    
model = MyModel()

'''
        使用 class 类封装网络结构,如上所示是一个 class 模板, MyModel 表示声 明的神经网络的名字,括号中的 Model 表示创建的类需要继承 tensorflow 库中
的 Model 类。 类中需要定义两个函数, __init__()函数为类的构造函数用于初始化类的参数, spuer(MyModel,self).__init__()这行表示初始化父类的参数。 之后便可初始化网络结构,搭建出神经网络所需的各种网络结构块。 call()函数中调用__init__()函数中完成初始化的网络块,实现前向传播并返回推理
值。使用 class 方式搭建鸢尾花网络结构的代码如下所示。
'''

#例子
class MyModel(Model):
    def __init__(self):
        super(IrisModel, self).__init__()
        self.dl = Dense(3)
        
    del call(self, x):
        y = self.dl(x)
        return y
    
model = IrisModel()

对比使用 Sequential()方法和 class 方法, 有两点区别:
1、import 中添加了 Model 模块和 Dense 层、 Flatten 层。
2、使用 class 声明网络结构, model = IrisModel()初始化模型对象。

# import
import tensorflow as tf
import numpy as np
from tensorflow.keras.layers import Dense
from tensorflow.keras import Model
from sklearn import datasets

# x_train, y_train
x_train = datasets.load_iris().data
y_train = datasets.load_iris().target

np.random.seed(116)
np.random.shuffle(x_train)
np.random.seed(116)
np.random.shuffle(y_train)
tf.random.set_seed(116)


# class mymodel
class MyModel(Model):
    def __init__(self):
        super(MyModel, self).__init__()
        self.dl = Dense(3, activation='softmax', kernel_regularizer=tf.keras.regularizers.l2())
        
    def call(self, x):
        y = self.dl(x)
        return y
    
model = MyModel()

# model compile
model.compile(optimizer=tf.keras.optimizers.SGD(lr = 0.1),
             loss = tf.keras.losses.SparseCategoricalCrossentropy(from_logits = False),
             metrics=['sparse_categorical_accuracy'])

model.fit(x_train, y_train, batch_size=32, epochs=500, validation_split=0.2, validation_freq=20)
model.summary()
C:\Users\ADMIN\AppData\Roaming\Python\Python39\site-packages\keras\optimizer_v2\gradient_descent.py:102: UserWarning: The `lr` argument is deprecated, use `learning_rate` instead.
  super(SGD, self).__init__(name, **kwargs)


Epoch 1/500
4/4 [==============================] - 0s 998us/step - loss: 2.3173 - sparse_categorical_accuracy: 0.3417
Epoch 2/500
4/4 [==============================] - 0s 998us/step - loss: 1.0797 - sparse_categorical_accuracy: 0.6167
Epoch 3/500
4/4 [==============================] - 0s 666us/step - loss: 0.8429 - sparse_categorical_accuracy: 0.6250
Epoch 4/500
4/4 [==============================] - 0s 665us/step - loss: 0.7448 - sparse_categorical_accuracy: 0.6667
Epoch 5/500
4/4 [==============================] - 0s 665us/step - loss: 0.9843 - sparse_categorical_accuracy: 0.6417
Epoch 6/500
4/4 [==============================] - 0s 997us/step - loss: 0.7808 - sparse_categorical_accuracy: 0.6583
Epoch 7/500
4/4 [==============================] - 0s 997us/step - loss: 0.5961 - sparse_categorical_accuracy: 0.7250
Epoch 8/500
4/4 [==============================] - 0s 665us/step - loss: 0.5824 - sparse_categorical_accuracy: 0.7250
Epoch 9/500
4/4 [==============================] - 0s 997us/step - loss: 0.6016 - sparse_categorical_accuracy: 0.7000
Epoch 10/500
4/4 [==============================] - 0s 665us/step - loss: 0.6707 - sparse_categorical_accuracy: 0.6500
Epoch 11/500
4/4 [==============================] - 0s 997us/step - loss: 0.7967 - sparse_categorical_accuracy: 0.6667
Epoch 12/500
4/4 [==============================] - 0s 665us/step - loss: 0.5385 - sparse_categorical_accuracy: 0.7500
Epoch 13/500
4/4 [==============================] - 0s 665us/step - loss: 1.0675 - sparse_categorical_accuracy: 0.5833
Epoch 14/500
4/4 [==============================] - 0s 998us/step - loss: 0.5119 - sparse_categorical_accuracy: 0.7333
Epoch 15/500
4/4 [==============================] - 0s 665us/step - loss: 0.6831 - sparse_categorical_accuracy: 0.6667
Epoch 16/500
4/4 [==============================] - 0s 665us/step - loss: 0.5969 - sparse_categorical_accuracy: 0.7667
Epoch 17/500
4/4 [==============================] - 0s 997us/step - loss: 0.5559 - sparse_categorical_accuracy: 0.7250
Epoch 18/500
4/4 [==============================] - 0s 665us/step - loss: 0.6521 - sparse_categorical_accuracy: 0.7667
Epoch 19/500
4/4 [==============================] - 0s 665us/step - loss: 0.5902 - sparse_categorical_accuracy: 0.6833
Epoch 20/500
4/4 [==============================] - 0s 39ms/step - loss: 0.4782 - sparse_categorical_accuracy: 0.8000 - val_loss: 0.7740 - val_sparse_categorical_accuracy: 0.5333
Epoch 21/500
4/4 [==============================] - 0s 665us/step - loss: 0.4589 - sparse_categorical_accuracy: 0.8333
Epoch 22/500
4/4 [==============================] - 0s 997us/step - loss: 0.6620 - sparse_categorical_accuracy: 0.7167
Epoch 23/500
4/4 [==============================] - 0s 665us/step - loss: 0.4497 - sparse_categorical_accuracy: 0.8583
Epoch 24/500
4/4 [==============================] - 0s 665us/step - loss: 0.7418 - sparse_categorical_accuracy: 0.6917
Epoch 25/500
4/4 [==============================] - 0s 997us/step - loss: 0.4873 - sparse_categorical_accuracy: 0.7333
Epoch 26/500
4/4 [==============================] - 0s 998us/step - loss: 0.7408 - sparse_categorical_accuracy: 0.7083
Epoch 27/500
4/4 [==============================] - 0s 665us/step - loss: 0.6502 - sparse_categorical_accuracy: 0.7750
Epoch 28/500
4/4 [==============================] - 0s 665us/step - loss: 0.6749 - sparse_categorical_accuracy: 0.6667
Epoch 29/500
4/4 [==============================] - 0s 666us/step - loss: 0.5382 - sparse_categorical_accuracy: 0.7833
Epoch 30/500
4/4 [==============================] - 0s 997us/step - loss: 0.6266 - sparse_categorical_accuracy: 0.7000
Epoch 31/500
4/4 [==============================] - 0s 665us/step - loss: 0.5041 - sparse_categorical_accuracy: 0.7917
Epoch 32/500
4/4 [==============================] - 0s 665us/step - loss: 0.6933 - sparse_categorical_accuracy: 0.7250
Epoch 33/500
4/4 [==============================] - 0s 997us/step - loss: 0.5518 - sparse_categorical_accuracy: 0.7667
Epoch 34/500
4/4 [==============================] - 0s 998us/step - loss: 0.4097 - sparse_categorical_accuracy: 0.9000
Epoch 35/500
4/4 [==============================] - 0s 997us/step - loss: 0.4705 - sparse_categorical_accuracy: 0.7917
Epoch 36/500
4/4 [==============================] - 0s 665us/step - loss: 0.4490 - sparse_categorical_accuracy: 0.8583
Epoch 37/500
4/4 [==============================] - 0s 664us/step - loss: 0.4172 - sparse_categorical_accuracy: 0.9333
Epoch 38/500
4/4 [==============================] - 0s 997us/step - loss: 0.6989 - sparse_categorical_accuracy: 0.6583
Epoch 39/500
4/4 [==============================] - 0s 998us/step - loss: 0.5124 - sparse_categorical_accuracy: 0.7833
Epoch 40/500
4/4 [==============================] - 0s 5ms/step - loss: 0.3984 - sparse_categorical_accuracy: 0.9333 - val_loss: 0.5433 - val_sparse_categorical_accuracy: 0.6000
Epoch 41/500
4/4 [==============================] - 0s 997us/step - loss: 0.5434 - sparse_categorical_accuracy: 0.7333
Epoch 42/500
4/4 [==============================] - 0s 665us/step - loss: 0.6159 - sparse_categorical_accuracy: 0.7000
Epoch 43/500
4/4 [==============================] - 0s 997us/step - loss: 0.6999 - sparse_categorical_accuracy: 0.7167
Epoch 44/500
4/4 [==============================] - 0s 665us/step - loss: 0.4048 - sparse_categorical_accuracy: 0.9333
Epoch 45/500
4/4 [==============================] - 0s 665us/step - loss: 0.3924 - sparse_categorical_accuracy: 0.9500
Epoch 46/500
4/4 [==============================] - 0s 665us/step - loss: 0.3944 - sparse_categorical_accuracy: 0.9333
Epoch 47/500
4/4 [==============================] - 0s 998us/step - loss: 0.4063 - sparse_categorical_accuracy: 0.9083
Epoch 48/500
4/4 [==============================] - 0s 665us/step - loss: 0.5635 - sparse_categorical_accuracy: 0.7583
Epoch 49/500
4/4 [==============================] - 0s 997us/step - loss: 0.4108 - sparse_categorical_accuracy: 0.9333
Epoch 50/500
4/4 [==============================] - 0s 665us/step - loss: 0.3884 - sparse_categorical_accuracy: 0.9583
Epoch 51/500
4/4 [==============================] - 0s 665us/step - loss: 0.3835 - sparse_categorical_accuracy: 0.9417
Epoch 52/500
4/4 [==============================] - 0s 997us/step - loss: 0.4042 - sparse_categorical_accuracy: 0.9083
Epoch 53/500
4/4 [==============================] - 0s 997us/step - loss: 0.4400 - sparse_categorical_accuracy: 0.8500
Epoch 54/500
4/4 [==============================] - 0s 665us/step - loss: 0.7052 - sparse_categorical_accuracy: 0.6417
Epoch 55/500
4/4 [==============================] - 0s 997us/step - loss: 0.4013 - sparse_categorical_accuracy: 0.8833
Epoch 56/500
4/4 [==============================] - 0s 998us/step - loss: 0.3983 - sparse_categorical_accuracy: 0.8917
Epoch 57/500
4/4 [==============================] - 0s 665us/step - loss: 0.5127 - sparse_categorical_accuracy: 0.8000
Epoch 58/500
4/4 [==============================] - 0s 665us/step - loss: 0.5093 - sparse_categorical_accuracy: 0.8000
Epoch 59/500
4/4 [==============================] - 0s 998us/step - loss: 0.4715 - sparse_categorical_accuracy: 0.8083
Epoch 60/500
4/4 [==============================] - 0s 5ms/step - loss: 0.5407 - sparse_categorical_accuracy: 0.9000 - val_loss: 0.4260 - val_sparse_categorical_accuracy: 0.9333
Epoch 61/500
4/4 [==============================] - 0s 665us/step - loss: 0.4227 - sparse_categorical_accuracy: 0.8833
Epoch 62/500
4/4 [==============================] - 0s 997us/step - loss: 0.4420 - sparse_categorical_accuracy: 0.8583
Epoch 63/500
4/4 [==============================] - 0s 997us/step - loss: 0.6500 - sparse_categorical_accuracy: 0.7167
Epoch 64/500
4/4 [==============================] - 0s 998us/step - loss: 0.4293 - sparse_categorical_accuracy: 0.8667
Epoch 65/500
4/4 [==============================] - 0s 871us/step - loss: 0.3863 - sparse_categorical_accuracy: 0.9167
Epoch 66/500
4/4 [==============================] - 0s 665us/step - loss: 0.3802 - sparse_categorical_accuracy: 0.9250
Epoch 67/500
4/4 [==============================] - 0s 666us/step - loss: 0.4052 - sparse_categorical_accuracy: 0.8667
Epoch 68/500
4/4 [==============================] - 0s 997us/step - loss: 0.5520 - sparse_categorical_accuracy: 0.7250
Epoch 69/500
4/4 [==============================] - 0s 665us/step - loss: 0.4788 - sparse_categorical_accuracy: 0.8167
Epoch 70/500
4/4 [==============================] - 0s 666us/step - loss: 0.3761 - sparse_categorical_accuracy: 0.9333
Epoch 71/500
4/4 [==============================] - 0s 665us/step - loss: 0.4550 - sparse_categorical_accuracy: 0.8250
Epoch 72/500
4/4 [==============================] - 0s 997us/step - loss: 0.4004 - sparse_categorical_accuracy: 0.9250
Epoch 73/500
4/4 [==============================] - 0s 665us/step - loss: 0.5146 - sparse_categorical_accuracy: 0.8167
Epoch 74/500
4/4 [==============================] - 0s 665us/step - loss: 0.3846 - sparse_categorical_accuracy: 0.9000
Epoch 75/500
4/4 [==============================] - 0s 665us/step - loss: 0.3710 - sparse_categorical_accuracy: 0.9417
Epoch 76/500
4/4 [==============================] - 0s 997us/step - loss: 0.3799 - sparse_categorical_accuracy: 0.9250
Epoch 77/500
4/4 [==============================] - 0s 997us/step - loss: 0.4709 - sparse_categorical_accuracy: 0.8000
Epoch 78/500
4/4 [==============================] - 0s 665us/step - loss: 0.7460 - sparse_categorical_accuracy: 0.6500
Epoch 79/500
4/4 [==============================] - 0s 998us/step - loss: 0.4508 - sparse_categorical_accuracy: 0.8167
Epoch 80/500
4/4 [==============================] - 0s 6ms/step - loss: 0.4219 - sparse_categorical_accuracy: 0.9000 - val_loss: 0.3497 - val_sparse_categorical_accuracy: 0.9667
Epoch 81/500
4/4 [==============================] - 0s 665us/step - loss: 0.3777 - sparse_categorical_accuracy: 0.9333
Epoch 82/500
4/4 [==============================] - 0s 665us/step - loss: 0.3703 - sparse_categorical_accuracy: 0.9583
Epoch 83/500
4/4 [==============================] - 0s 665us/step - loss: 0.3600 - sparse_categorical_accuracy: 0.9667
Epoch 84/500
4/4 [==============================] - 0s 1ms/step - loss: 0.3638 - sparse_categorical_accuracy: 0.9333
Epoch 85/500
4/4 [==============================] - 0s 665us/step - loss: 0.3707 - sparse_categorical_accuracy: 0.9583
Epoch 86/500
4/4 [==============================] - 0s 665us/step - loss: 0.3845 - sparse_categorical_accuracy: 0.9250
Epoch 87/500
4/4 [==============================] - 0s 998us/step - loss: 0.3888 - sparse_categorical_accuracy: 0.8917
Epoch 88/500
4/4 [==============================] - 0s 665us/step - loss: 0.3771 - sparse_categorical_accuracy: 0.9500
Epoch 89/500
4/4 [==============================] - 0s 665us/step - loss: 0.5318 - sparse_categorical_accuracy: 0.7750
Epoch 90/500
4/4 [==============================] - 0s 665us/step - loss: 0.3822 - sparse_categorical_accuracy: 0.9250
Epoch 91/500
4/4 [==============================] - 0s 998us/step - loss: 0.4168 - sparse_categorical_accuracy: 0.9000
Epoch 92/500
4/4 [==============================] - 0s 665us/step - loss: 0.5004 - sparse_categorical_accuracy: 0.8000
Epoch 93/500
4/4 [==============================] - 0s 665us/step - loss: 0.3762 - sparse_categorical_accuracy: 0.9167
Epoch 94/500
4/4 [==============================] - 0s 998us/step - loss: 0.3885 - sparse_categorical_accuracy: 0.9333
Epoch 95/500
4/4 [==============================] - 0s 665us/step - loss: 0.3859 - sparse_categorical_accuracy: 0.8917
Epoch 96/500
4/4 [==============================] - 0s 998us/step - loss: 0.5500 - sparse_categorical_accuracy: 0.7667
Epoch 97/500
4/4 [==============================] - 0s 997us/step - loss: 0.4690 - sparse_categorical_accuracy: 0.8500
Epoch 98/500
4/4 [==============================] - 0s 997us/step - loss: 0.4850 - sparse_categorical_accuracy: 0.8083
Epoch 99/500
4/4 [==============================] - 0s 997us/step - loss: 0.3836 - sparse_categorical_accuracy: 0.9333
Epoch 100/500
4/4 [==============================] - 0s 5ms/step - loss: 0.3713 - sparse_categorical_accuracy: 0.9167 - val_loss: 0.4250 - val_sparse_categorical_accuracy: 0.9333
Epoch 101/500
4/4 [==============================] - 0s 665us/step - loss: 0.3641 - sparse_categorical_accuracy: 0.9500
Epoch 102/500
4/4 [==============================] - 0s 665us/step - loss: 0.3650 - sparse_categorical_accuracy: 0.9583
Epoch 103/500
4/4 [==============================] - 0s 665us/step - loss: 0.3610 - sparse_categorical_accuracy: 0.9500
Epoch 104/500
4/4 [==============================] - 0s 665us/step - loss: 0.3771 - sparse_categorical_accuracy: 0.8917
Epoch 105/500
4/4 [==============================] - 0s 997us/step - loss: 0.4734 - sparse_categorical_accuracy: 0.8250
Epoch 106/500
4/4 [==============================] - 0s 664us/step - loss: 0.4102 - sparse_categorical_accuracy: 0.8917
Epoch 107/500
4/4 [==============================] - 0s 997us/step - loss: 0.3745 - sparse_categorical_accuracy: 0.9333
Epoch 108/500
4/4 [==============================] - 0s 997us/step - loss: 0.3834 - sparse_categorical_accuracy: 0.9000
Epoch 109/500
4/4 [==============================] - 0s 664us/step - loss: 0.3621 - sparse_categorical_accuracy: 0.9417
Epoch 110/500
4/4 [==============================] - 0s 664us/step - loss: 0.3798 - sparse_categorical_accuracy: 0.9167
Epoch 111/500
4/4 [==============================] - 0s 998us/step - loss: 0.3572 - sparse_categorical_accuracy: 0.9750
Epoch 112/500
4/4 [==============================] - 0s 664us/step - loss: 0.3665 - sparse_categorical_accuracy: 0.9333
Epoch 113/500
4/4 [==============================] - 0s 997us/step - loss: 0.4224 - sparse_categorical_accuracy: 0.8833
Epoch 114/500
4/4 [==============================] - 0s 665us/step - loss: 0.3616 - sparse_categorical_accuracy: 0.9500
Epoch 115/500
4/4 [==============================] - 0s 998us/step - loss: 0.3762 - sparse_categorical_accuracy: 0.9250
Epoch 116/500
4/4 [==============================] - 0s 997us/step - loss: 0.3832 - sparse_categorical_accuracy: 0.8833
Epoch 117/500
4/4 [==============================] - 0s 665us/step - loss: 0.5093 - sparse_categorical_accuracy: 0.8167
Epoch 118/500
4/4 [==============================] - 0s 998us/step - loss: 0.3643 - sparse_categorical_accuracy: 0.9333
Epoch 119/500
4/4 [==============================] - 0s 998us/step - loss: 0.3593 - sparse_categorical_accuracy: 0.9417
Epoch 120/500
4/4 [==============================] - 0s 6ms/step - loss: 0.4207 - sparse_categorical_accuracy: 0.8833 - val_loss: 0.3512 - val_sparse_categorical_accuracy: 1.0000
Epoch 121/500
4/4 [==============================] - 0s 665us/step - loss: 0.4096 - sparse_categorical_accuracy: 0.9250
Epoch 122/500
4/4 [==============================] - 0s 665us/step - loss: 0.4189 - sparse_categorical_accuracy: 0.8833
Epoch 123/500
4/4 [==============================] - 0s 997us/step - loss: 0.3683 - sparse_categorical_accuracy: 0.9250
Epoch 124/500
4/4 [==============================] - 0s 665us/step - loss: 0.3650 - sparse_categorical_accuracy: 0.9167
Epoch 125/500
4/4 [==============================] - 0s 997us/step - loss: 0.3710 - sparse_categorical_accuracy: 0.9417
Epoch 126/500
4/4 [==============================] - 0s 997us/step - loss: 0.3914 - sparse_categorical_accuracy: 0.9000
Epoch 127/500
4/4 [==============================] - 0s 998us/step - loss: 0.3756 - sparse_categorical_accuracy: 0.9333
Epoch 128/500
4/4 [==============================] - 0s 998us/step - loss: 0.3782 - sparse_categorical_accuracy: 0.9083
Epoch 129/500
4/4 [==============================] - 0s 665us/step - loss: 0.3818 - sparse_categorical_accuracy: 0.9167
Epoch 130/500
4/4 [==============================] - 0s 665us/step - loss: 0.4638 - sparse_categorical_accuracy: 0.8500
Epoch 131/500
4/4 [==============================] - 0s 665us/step - loss: 0.4299 - sparse_categorical_accuracy: 0.8667
Epoch 132/500
4/4 [==============================] - 0s 665us/step - loss: 0.3521 - sparse_categorical_accuracy: 0.9750
Epoch 133/500
4/4 [==============================] - 0s 665us/step - loss: 0.3520 - sparse_categorical_accuracy: 0.9667
Epoch 134/500
4/4 [==============================] - 0s 665us/step - loss: 0.3700 - sparse_categorical_accuracy: 0.9333
Epoch 135/500
4/4 [==============================] - 0s 997us/step - loss: 0.3735 - sparse_categorical_accuracy: 0.9333
Epoch 136/500
4/4 [==============================] - 0s 665us/step - loss: 0.3584 - sparse_categorical_accuracy: 0.9333
Epoch 137/500
4/4 [==============================] - 0s 665us/step - loss: 0.4001 - sparse_categorical_accuracy: 0.9083
Epoch 138/500
4/4 [==============================] - 0s 665us/step - loss: 0.3530 - sparse_categorical_accuracy: 0.9583
Epoch 139/500
4/4 [==============================] - 0s 998us/step - loss: 0.4089 - sparse_categorical_accuracy: 0.9000
Epoch 140/500
4/4 [==============================] - 0s 5ms/step - loss: 0.5121 - sparse_categorical_accuracy: 0.7750 - val_loss: 0.3758 - val_sparse_categorical_accuracy: 1.0000
Epoch 141/500
4/4 [==============================] - 0s 665us/step - loss: 0.3577 - sparse_categorical_accuracy: 0.9500
Epoch 142/500
4/4 [==============================] - 0s 665us/step - loss: 0.3597 - sparse_categorical_accuracy: 0.9583
Epoch 143/500
4/4 [==============================] - 0s 665us/step - loss: 0.3505 - sparse_categorical_accuracy: 0.9417
Epoch 144/500
4/4 [==============================] - 0s 998us/step - loss: 0.3728 - sparse_categorical_accuracy: 0.9250
Epoch 145/500
4/4 [==============================] - 0s 998us/step - loss: 0.3780 - sparse_categorical_accuracy: 0.9083
Epoch 146/500
4/4 [==============================] - 0s 998us/step - loss: 0.3543 - sparse_categorical_accuracy: 0.9583
Epoch 147/500
4/4 [==============================] - 0s 998us/step - loss: 0.4474 - sparse_categorical_accuracy: 0.8583
Epoch 148/500
4/4 [==============================] - 0s 997us/step - loss: 0.4703 - sparse_categorical_accuracy: 0.8500
Epoch 149/500
4/4 [==============================] - 0s 665us/step - loss: 0.3700 - sparse_categorical_accuracy: 0.9083
Epoch 150/500
4/4 [==============================] - 0s 998us/step - loss: 0.4425 - sparse_categorical_accuracy: 0.8417
Epoch 151/500
4/4 [==============================] - 0s 998us/step - loss: 0.4274 - sparse_categorical_accuracy: 0.8417
Epoch 152/500
4/4 [==============================] - 0s 997us/step - loss: 0.3724 - sparse_categorical_accuracy: 0.9000
Epoch 153/500
4/4 [==============================] - 0s 997us/step - loss: 0.4161 - sparse_categorical_accuracy: 0.8750
Epoch 154/500
4/4 [==============================] - 0s 665us/step - loss: 0.3902 - sparse_categorical_accuracy: 0.9083
Epoch 155/500
4/4 [==============================] - 0s 998us/step - loss: 0.3843 - sparse_categorical_accuracy: 0.8917
Epoch 156/500
4/4 [==============================] - 0s 664us/step - loss: 0.3883 - sparse_categorical_accuracy: 0.9000
Epoch 157/500
4/4 [==============================] - 0s 665us/step - loss: 0.3966 - sparse_categorical_accuracy: 0.8667
Epoch 158/500
4/4 [==============================] - 0s 665us/step - loss: 0.3617 - sparse_categorical_accuracy: 0.9417
Epoch 159/500
4/4 [==============================] - 0s 997us/step - loss: 0.4144 - sparse_categorical_accuracy: 0.8833
Epoch 160/500
4/4 [==============================] - 0s 6ms/step - loss: 0.3978 - sparse_categorical_accuracy: 0.9333 - val_loss: 0.4238 - val_sparse_categorical_accuracy: 0.9333
Epoch 161/500
4/4 [==============================] - 0s 998us/step - loss: 0.3620 - sparse_categorical_accuracy: 0.9417
Epoch 162/500
4/4 [==============================] - 0s 998us/step - loss: 0.3863 - sparse_categorical_accuracy: 0.9083
Epoch 163/500
4/4 [==============================] - 0s 997us/step - loss: 0.3635 - sparse_categorical_accuracy: 0.9250
Epoch 164/500
4/4 [==============================] - 0s 997us/step - loss: 0.6862 - sparse_categorical_accuracy: 0.7500
Epoch 165/500
4/4 [==============================] - 0s 665us/step - loss: 0.4336 - sparse_categorical_accuracy: 0.8833
Epoch 166/500
4/4 [==============================] - 0s 665us/step - loss: 0.4403 - sparse_categorical_accuracy: 0.8583
Epoch 167/500
4/4 [==============================] - 0s 998us/step - loss: 0.3904 - sparse_categorical_accuracy: 0.9083
Epoch 168/500
4/4 [==============================] - 0s 665us/step - loss: 0.3524 - sparse_categorical_accuracy: 0.9583
Epoch 169/500
4/4 [==============================] - 0s 997us/step - loss: 0.3602 - sparse_categorical_accuracy: 0.9667
Epoch 170/500
4/4 [==============================] - 0s 665us/step - loss: 0.3542 - sparse_categorical_accuracy: 0.9583
Epoch 171/500
4/4 [==============================] - 0s 997us/step - loss: 0.4699 - sparse_categorical_accuracy: 0.8083
Epoch 172/500
4/4 [==============================] - 0s 665us/step - loss: 0.3456 - sparse_categorical_accuracy: 0.9250
Epoch 173/500
4/4 [==============================] - 0s 665us/step - loss: 0.3528 - sparse_categorical_accuracy: 0.9583
Epoch 174/500
4/4 [==============================] - 0s 665us/step - loss: 0.3801 - sparse_categorical_accuracy: 0.9250
Epoch 175/500
4/4 [==============================] - 0s 998us/step - loss: 0.3921 - sparse_categorical_accuracy: 0.9000
Epoch 176/500
4/4 [==============================] - 0s 665us/step - loss: 0.3875 - sparse_categorical_accuracy: 0.9083
Epoch 177/500
4/4 [==============================] - 0s 998us/step - loss: 0.4096 - sparse_categorical_accuracy: 0.9083
Epoch 178/500
4/4 [==============================] - 0s 665us/step - loss: 0.4523 - sparse_categorical_accuracy: 0.8583
Epoch 179/500
4/4 [==============================] - 0s 997us/step - loss: 0.3720 - sparse_categorical_accuracy: 0.9167
Epoch 180/500
4/4 [==============================] - 0s 6ms/step - loss: 0.4053 - sparse_categorical_accuracy: 0.9000 - val_loss: 0.3892 - val_sparse_categorical_accuracy: 1.0000
Epoch 181/500
4/4 [==============================] - 0s 665us/step - loss: 0.3602 - sparse_categorical_accuracy: 0.9417
Epoch 182/500
4/4 [==============================] - 0s 665us/step - loss: 0.4059 - sparse_categorical_accuracy: 0.8917
Epoch 183/500
4/4 [==============================] - 0s 998us/step - loss: 0.3556 - sparse_categorical_accuracy: 0.9333
Epoch 184/500
4/4 [==============================] - 0s 665us/step - loss: 0.4176 - sparse_categorical_accuracy: 0.8833
Epoch 185/500
4/4 [==============================] - 0s 665us/step - loss: 0.3594 - sparse_categorical_accuracy: 0.9500
Epoch 186/500
4/4 [==============================] - 0s 665us/step - loss: 0.3632 - sparse_categorical_accuracy: 0.9417
Epoch 187/500
4/4 [==============================] - 0s 665us/step - loss: 0.4102 - sparse_categorical_accuracy: 0.9083
Epoch 188/500
4/4 [==============================] - 0s 665us/step - loss: 0.3549 - sparse_categorical_accuracy: 0.9500
Epoch 189/500
4/4 [==============================] - 0s 665us/step - loss: 0.3533 - sparse_categorical_accuracy: 0.9583
Epoch 190/500
4/4 [==============================] - 0s 998us/step - loss: 0.3974 - sparse_categorical_accuracy: 0.8917
Epoch 191/500
4/4 [==============================] - 0s 665us/step - loss: 0.3645 - sparse_categorical_accuracy: 0.9333
Epoch 192/500
4/4 [==============================] - 0s 665us/step - loss: 0.3784 - sparse_categorical_accuracy: 0.9333
Epoch 193/500
4/4 [==============================] - 0s 665us/step - loss: 0.4510 - sparse_categorical_accuracy: 0.8417
Epoch 194/500
4/4 [==============================] - 0s 997us/step - loss: 0.3579 - sparse_categorical_accuracy: 0.9583
Epoch 195/500
4/4 [==============================] - 0s 665us/step - loss: 0.3572 - sparse_categorical_accuracy: 0.9583
Epoch 196/500
4/4 [==============================] - 0s 665us/step - loss: 0.3782 - sparse_categorical_accuracy: 0.9333
Epoch 197/500
4/4 [==============================] - 0s 665us/step - loss: 0.3525 - sparse_categorical_accuracy: 0.9583
Epoch 198/500
4/4 [==============================] - 0s 998us/step - loss: 0.3499 - sparse_categorical_accuracy: 0.9583
Epoch 199/500
4/4 [==============================] - 0s 665us/step - loss: 0.3540 - sparse_categorical_accuracy: 0.9417
Epoch 200/500
4/4 [==============================] - 0s 6ms/step - loss: 0.3628 - sparse_categorical_accuracy: 0.9333 - val_loss: 0.4160 - val_sparse_categorical_accuracy: 0.9333
Epoch 201/500
4/4 [==============================] - 0s 998us/step - loss: 0.3575 - sparse_categorical_accuracy: 0.9417
Epoch 202/500
4/4 [==============================] - 0s 665us/step - loss: 0.4148 - sparse_categorical_accuracy: 0.8750
Epoch 203/500
4/4 [==============================] - 0s 665us/step - loss: 0.3930 - sparse_categorical_accuracy: 0.9000
Epoch 204/500
4/4 [==============================] - 0s 998us/step - loss: 0.3465 - sparse_categorical_accuracy: 0.9750
Epoch 205/500
4/4 [==============================] - 0s 997us/step - loss: 0.3928 - sparse_categorical_accuracy: 0.9000
Epoch 206/500
4/4 [==============================] - 0s 998us/step - loss: 0.4302 - sparse_categorical_accuracy: 0.8417
Epoch 207/500
4/4 [==============================] - 0s 665us/step - loss: 0.5203 - sparse_categorical_accuracy: 0.7750
Epoch 208/500
4/4 [==============================] - 0s 665us/step - loss: 0.3765 - sparse_categorical_accuracy: 0.9250
Epoch 209/500
4/4 [==============================] - 0s 998us/step - loss: 0.3803 - sparse_categorical_accuracy: 0.9167
Epoch 210/500
4/4 [==============================] - 0s 665us/step - loss: 0.3826 - sparse_categorical_accuracy: 0.9167
Epoch 211/500
4/4 [==============================] - 0s 665us/step - loss: 0.4507 - sparse_categorical_accuracy: 0.8250
Epoch 212/500
4/4 [==============================] - 0s 665us/step - loss: 0.3604 - sparse_categorical_accuracy: 0.9000
Epoch 213/500
4/4 [==============================] - 0s 997us/step - loss: 0.3522 - sparse_categorical_accuracy: 0.9333
Epoch 214/500
4/4 [==============================] - 0s 998us/step - loss: 0.3819 - sparse_categorical_accuracy: 0.9250
Epoch 215/500
4/4 [==============================] - 0s 665us/step - loss: 0.3474 - sparse_categorical_accuracy: 0.9667
Epoch 216/500
4/4 [==============================] - 0s 665us/step - loss: 0.3784 - sparse_categorical_accuracy: 0.9000
Epoch 217/500
4/4 [==============================] - 0s 998us/step - loss: 0.3553 - sparse_categorical_accuracy: 0.9750
Epoch 218/500
4/4 [==============================] - 0s 998us/step - loss: 0.3507 - sparse_categorical_accuracy: 0.9583
Epoch 219/500
4/4 [==============================] - 0s 665us/step - loss: 0.3568 - sparse_categorical_accuracy: 0.9417
Epoch 220/500
4/4 [==============================] - 0s 6ms/step - loss: 0.3399 - sparse_categorical_accuracy: 0.9583 - val_loss: 0.3539 - val_sparse_categorical_accuracy: 0.8667
Epoch 221/500
4/4 [==============================] - 0s 998us/step - loss: 0.4177 - sparse_categorical_accuracy: 0.8917
Epoch 222/500
4/4 [==============================] - 0s 665us/step - loss: 0.4743 - sparse_categorical_accuracy: 0.8500
Epoch 223/500
4/4 [==============================] - 0s 665us/step - loss: 0.3757 - sparse_categorical_accuracy: 0.9333
Epoch 224/500
4/4 [==============================] - 0s 665us/step - loss: 0.3509 - sparse_categorical_accuracy: 0.9333
Epoch 225/500
4/4 [==============================] - 0s 997us/step - loss: 0.4814 - sparse_categorical_accuracy: 0.8250
Epoch 226/500
4/4 [==============================] - 0s 998us/step - loss: 0.3776 - sparse_categorical_accuracy: 0.9083
Epoch 227/500
4/4 [==============================] - 0s 997us/step - loss: 0.3909 - sparse_categorical_accuracy: 0.9250
Epoch 228/500
4/4 [==============================] - 0s 997us/step - loss: 0.3548 - sparse_categorical_accuracy: 0.9583
Epoch 229/500
4/4 [==============================] - 0s 998us/step - loss: 0.3536 - sparse_categorical_accuracy: 0.9417
Epoch 230/500
4/4 [==============================] - 0s 665us/step - loss: 0.3603 - sparse_categorical_accuracy: 0.9500
Epoch 231/500
4/4 [==============================] - 0s 665us/step - loss: 0.3909 - sparse_categorical_accuracy: 0.9083
Epoch 232/500
4/4 [==============================] - 0s 998us/step - loss: 0.6127 - sparse_categorical_accuracy: 0.7583
Epoch 233/500
4/4 [==============================] - 0s 665us/step - loss: 0.3575 - sparse_categorical_accuracy: 0.9417
Epoch 234/500
4/4 [==============================] - 0s 665us/step - loss: 0.3649 - sparse_categorical_accuracy: 0.9333
Epoch 235/500
4/4 [==============================] - 0s 665us/step - loss: 0.3872 - sparse_categorical_accuracy: 0.9333
Epoch 236/500
4/4 [==============================] - 0s 997us/step - loss: 0.3888 - sparse_categorical_accuracy: 0.9000
Epoch 237/500
4/4 [==============================] - 0s 665us/step - loss: 0.3783 - sparse_categorical_accuracy: 0.9083
Epoch 238/500
4/4 [==============================] - 0s 665us/step - loss: 0.3597 - sparse_categorical_accuracy: 0.9250
Epoch 239/500
4/4 [==============================] - 0s 665us/step - loss: 0.3628 - sparse_categorical_accuracy: 0.9417
Epoch 240/500
4/4 [==============================] - 0s 5ms/step - loss: 0.3752 - sparse_categorical_accuracy: 0.9250 - val_loss: 0.3356 - val_sparse_categorical_accuracy: 1.0000
Epoch 241/500
4/4 [==============================] - 0s 665us/step - loss: 0.3523 - sparse_categorical_accuracy: 0.9583
Epoch 242/500
4/4 [==============================] - 0s 665us/step - loss: 0.4029 - sparse_categorical_accuracy: 0.9000
Epoch 243/500
4/4 [==============================] - 0s 665us/step - loss: 0.5745 - sparse_categorical_accuracy: 0.7667
Epoch 244/500
4/4 [==============================] - 0s 665us/step - loss: 0.3475 - sparse_categorical_accuracy: 0.9583
Epoch 245/500
4/4 [==============================] - 0s 665us/step - loss: 0.4219 - sparse_categorical_accuracy: 0.8667
Epoch 246/500
4/4 [==============================] - 0s 665us/step - loss: 0.3892 - sparse_categorical_accuracy: 0.9167
Epoch 247/500
4/4 [==============================] - 0s 665us/step - loss: 0.4275 - sparse_categorical_accuracy: 0.8667
Epoch 248/500
4/4 [==============================] - 0s 665us/step - loss: 0.3419 - sparse_categorical_accuracy: 0.9583
Epoch 249/500
4/4 [==============================] - 0s 665us/step - loss: 0.3683 - sparse_categorical_accuracy: 0.9250
Epoch 250/500
4/4 [==============================] - 0s 665us/step - loss: 0.3579 - sparse_categorical_accuracy: 0.9417
Epoch 251/500
4/4 [==============================] - 0s 998us/step - loss: 0.3651 - sparse_categorical_accuracy: 0.9583
Epoch 252/500
4/4 [==============================] - 0s 998us/step - loss: 0.3562 - sparse_categorical_accuracy: 0.9417
Epoch 253/500
4/4 [==============================] - 0s 665us/step - loss: 0.4366 - sparse_categorical_accuracy: 0.8667
Epoch 254/500
4/4 [==============================] - 0s 997us/step - loss: 0.4126 - sparse_categorical_accuracy: 0.8667
Epoch 255/500
4/4 [==============================] - 0s 665us/step - loss: 0.4202 - sparse_categorical_accuracy: 0.8833
Epoch 256/500
4/4 [==============================] - 0s 997us/step - loss: 0.4353 - sparse_categorical_accuracy: 0.8667
Epoch 257/500
4/4 [==============================] - 0s 998us/step - loss: 0.3604 - sparse_categorical_accuracy: 0.9333
Epoch 258/500
4/4 [==============================] - 0s 665us/step - loss: 0.3504 - sparse_categorical_accuracy: 0.9583
Epoch 259/500
4/4 [==============================] - 0s 998us/step - loss: 0.3866 - sparse_categorical_accuracy: 0.9083
Epoch 260/500
4/4 [==============================] - 0s 6ms/step - loss: 0.3516 - sparse_categorical_accuracy: 0.9417 - val_loss: 0.3398 - val_sparse_categorical_accuracy: 1.0000
Epoch 261/500
4/4 [==============================] - 0s 997us/step - loss: 0.3769 - sparse_categorical_accuracy: 0.9333
Epoch 262/500
4/4 [==============================] - 0s 665us/step - loss: 0.3620 - sparse_categorical_accuracy: 0.9333
Epoch 263/500
4/4 [==============================] - 0s 665us/step - loss: 0.3474 - sparse_categorical_accuracy: 0.9667
Epoch 264/500
4/4 [==============================] - 0s 665us/step - loss: 0.3434 - sparse_categorical_accuracy: 0.9583
Epoch 265/500
4/4 [==============================] - 0s 998us/step - loss: 0.3778 - sparse_categorical_accuracy: 0.9167
Epoch 266/500
4/4 [==============================] - 0s 665us/step - loss: 0.3515 - sparse_categorical_accuracy: 0.9500
Epoch 267/500
4/4 [==============================] - 0s 665us/step - loss: 0.3481 - sparse_categorical_accuracy: 0.9667
Epoch 268/500
4/4 [==============================] - 0s 665us/step - loss: 0.3558 - sparse_categorical_accuracy: 0.9333
Epoch 269/500
4/4 [==============================] - 0s 665us/step - loss: 0.4076 - sparse_categorical_accuracy: 0.8750
Epoch 270/500
4/4 [==============================] - 0s 665us/step - loss: 0.4119 - sparse_categorical_accuracy: 0.9000
Epoch 271/500
4/4 [==============================] - 0s 665us/step - loss: 0.3590 - sparse_categorical_accuracy: 0.9417
Epoch 272/500
4/4 [==============================] - 0s 998us/step - loss: 0.3555 - sparse_categorical_accuracy: 0.9583
Epoch 273/500
4/4 [==============================] - 0s 665us/step - loss: 0.3999 - sparse_categorical_accuracy: 0.8833
Epoch 274/500
4/4 [==============================] - 0s 665us/step - loss: 0.3456 - sparse_categorical_accuracy: 0.9750
Epoch 275/500
4/4 [==============================] - 0s 665us/step - loss: 0.3543 - sparse_categorical_accuracy: 0.9333
Epoch 276/500
4/4 [==============================] - 0s 998us/step - loss: 0.3608 - sparse_categorical_accuracy: 0.9500
Epoch 277/500
4/4 [==============================] - 0s 665us/step - loss: 0.4091 - sparse_categorical_accuracy: 0.8833
Epoch 278/500
4/4 [==============================] - 0s 665us/step - loss: 0.3711 - sparse_categorical_accuracy: 0.9500
Epoch 279/500
4/4 [==============================] - 0s 665us/step - loss: 0.3670 - sparse_categorical_accuracy: 0.9167
Epoch 280/500
4/4 [==============================] - 0s 5ms/step - loss: 0.3592 - sparse_categorical_accuracy: 0.9500 - val_loss: 0.3251 - val_sparse_categorical_accuracy: 0.9667
Epoch 281/500
4/4 [==============================] - 0s 997us/step - loss: 0.3522 - sparse_categorical_accuracy: 0.9750
Epoch 282/500
4/4 [==============================] - 0s 665us/step - loss: 0.3495 - sparse_categorical_accuracy: 0.9417
Epoch 283/500
4/4 [==============================] - 0s 665us/step - loss: 0.3462 - sparse_categorical_accuracy: 0.9750
Epoch 284/500
4/4 [==============================] - 0s 997us/step - loss: 0.3948 - sparse_categorical_accuracy: 0.9167
Epoch 285/500
4/4 [==============================] - 0s 665us/step - loss: 0.4060 - sparse_categorical_accuracy: 0.8833
Epoch 286/500
4/4 [==============================] - 0s 997us/step - loss: 0.3834 - sparse_categorical_accuracy: 0.9167
Epoch 287/500
4/4 [==============================] - 0s 665us/step - loss: 0.3814 - sparse_categorical_accuracy: 0.9000
Epoch 288/500
4/4 [==============================] - 0s 997us/step - loss: 0.3698 - sparse_categorical_accuracy: 0.9250
Epoch 289/500
4/4 [==============================] - 0s 997us/step - loss: 0.5091 - sparse_categorical_accuracy: 0.8083
Epoch 290/500
4/4 [==============================] - 0s 665us/step - loss: 0.3431 - sparse_categorical_accuracy: 0.9417
Epoch 291/500
4/4 [==============================] - 0s 665us/step - loss: 0.3418 - sparse_categorical_accuracy: 0.9667
Epoch 292/500
4/4 [==============================] - 0s 997us/step - loss: 0.3627 - sparse_categorical_accuracy: 0.9250
Epoch 293/500
4/4 [==============================] - 0s 665us/step - loss: 0.3739 - sparse_categorical_accuracy: 0.9000
Epoch 294/500
4/4 [==============================] - 0s 665us/step - loss: 0.3468 - sparse_categorical_accuracy: 0.9667
Epoch 295/500
4/4 [==============================] - 0s 665us/step - loss: 0.4111 - sparse_categorical_accuracy: 0.8583
Epoch 296/500
4/4 [==============================] - 0s 997us/step - loss: 0.3469 - sparse_categorical_accuracy: 0.9333
Epoch 297/500
4/4 [==============================] - 0s 997us/step - loss: 0.3459 - sparse_categorical_accuracy: 0.9333
Epoch 298/500
4/4 [==============================] - 0s 997us/step - loss: 0.3437 - sparse_categorical_accuracy: 0.9583
Epoch 299/500
4/4 [==============================] - 0s 997us/step - loss: 0.3559 - sparse_categorical_accuracy: 0.9417
Epoch 300/500
4/4 [==============================] - 0s 5ms/step - loss: 0.3615 - sparse_categorical_accuracy: 0.9417 - val_loss: 0.3242 - val_sparse_categorical_accuracy: 0.9667
Epoch 301/500
4/4 [==============================] - 0s 665us/step - loss: 0.3921 - sparse_categorical_accuracy: 0.9250
Epoch 302/500
4/4 [==============================] - 0s 665us/step - loss: 0.3612 - sparse_categorical_accuracy: 0.9167
Epoch 303/500
4/4 [==============================] - 0s 665us/step - loss: 0.3446 - sparse_categorical_accuracy: 0.9583
Epoch 304/500
4/4 [==============================] - 0s 665us/step - loss: 0.3693 - sparse_categorical_accuracy: 0.9250
Epoch 305/500
4/4 [==============================] - 0s 997us/step - loss: 0.3616 - sparse_categorical_accuracy: 0.9500
Epoch 306/500
4/4 [==============================] - 0s 665us/step - loss: 0.3492 - sparse_categorical_accuracy: 0.9750
Epoch 307/500
4/4 [==============================] - 0s 665us/step - loss: 0.3634 - sparse_categorical_accuracy: 0.9417
Epoch 308/500
4/4 [==============================] - 0s 997us/step - loss: 0.3407 - sparse_categorical_accuracy: 0.9500
Epoch 309/500
4/4 [==============================] - 0s 998us/step - loss: 0.3700 - sparse_categorical_accuracy: 0.8917
Epoch 310/500
4/4 [==============================] - 0s 998us/step - loss: 0.3437 - sparse_categorical_accuracy: 0.9750
Epoch 311/500
4/4 [==============================] - 0s 665us/step - loss: 0.3738 - sparse_categorical_accuracy: 0.8917
Epoch 312/500
4/4 [==============================] - 0s 998us/step - loss: 0.3417 - sparse_categorical_accuracy: 0.9583
Epoch 313/500
4/4 [==============================] - 0s 998us/step - loss: 0.3499 - sparse_categorical_accuracy: 0.9417
Epoch 314/500
4/4 [==============================] - 0s 665us/step - loss: 0.3756 - sparse_categorical_accuracy: 0.9000
Epoch 315/500
4/4 [==============================] - 0s 665us/step - loss: 0.3532 - sparse_categorical_accuracy: 0.9417
Epoch 316/500
4/4 [==============================] - 0s 998us/step - loss: 0.4007 - sparse_categorical_accuracy: 0.8917
Epoch 317/500
4/4 [==============================] - 0s 665us/step - loss: 0.3593 - sparse_categorical_accuracy: 0.9417
Epoch 318/500
4/4 [==============================] - 0s 665us/step - loss: 0.3408 - sparse_categorical_accuracy: 0.9583
Epoch 319/500
4/4 [==============================] - 0s 665us/step - loss: 0.4063 - sparse_categorical_accuracy: 0.8833
Epoch 320/500
4/4 [==============================] - 0s 5ms/step - loss: 0.5146 - sparse_categorical_accuracy: 0.7917 - val_loss: 0.3246 - val_sparse_categorical_accuracy: 1.0000
Epoch 321/500
4/4 [==============================] - 0s 998us/step - loss: 0.3707 - sparse_categorical_accuracy: 0.9083
Epoch 322/500
4/4 [==============================] - 0s 665us/step - loss: 0.3414 - sparse_categorical_accuracy: 0.9750
Epoch 323/500
4/4 [==============================] - 0s 665us/step - loss: 0.3500 - sparse_categorical_accuracy: 0.9500
Epoch 324/500
4/4 [==============================] - 0s 665us/step - loss: 0.3485 - sparse_categorical_accuracy: 0.9500
Epoch 325/500
4/4 [==============================] - 0s 997us/step - loss: 0.4369 - sparse_categorical_accuracy: 0.8583
Epoch 326/500
4/4 [==============================] - 0s 665us/step - loss: 0.3594 - sparse_categorical_accuracy: 0.9500
Epoch 327/500
4/4 [==============================] - 0s 665us/step - loss: 0.3559 - sparse_categorical_accuracy: 0.9417
Epoch 328/500
4/4 [==============================] - 0s 665us/step - loss: 0.4150 - sparse_categorical_accuracy: 0.8917
Epoch 329/500
4/4 [==============================] - 0s 665us/step - loss: 0.3804 - sparse_categorical_accuracy: 0.9167
Epoch 330/500
4/4 [==============================] - 0s 665us/step - loss: 0.3942 - sparse_categorical_accuracy: 0.8917
Epoch 331/500
4/4 [==============================] - 0s 665us/step - loss: 0.3654 - sparse_categorical_accuracy: 0.9417
Epoch 332/500
4/4 [==============================] - 0s 997us/step - loss: 0.3498 - sparse_categorical_accuracy: 0.9500
Epoch 333/500
4/4 [==============================] - 0s 665us/step - loss: 0.3528 - sparse_categorical_accuracy: 0.9500
Epoch 334/500
4/4 [==============================] - 0s 665us/step - loss: 0.3459 - sparse_categorical_accuracy: 0.9750
Epoch 335/500
4/4 [==============================] - 0s 665us/step - loss: 0.3427 - sparse_categorical_accuracy: 0.9417
Epoch 336/500
4/4 [==============================] - 0s 997us/step - loss: 0.3421 - sparse_categorical_accuracy: 0.9667
Epoch 337/500
4/4 [==============================] - 0s 665us/step - loss: 0.3449 - sparse_categorical_accuracy: 0.9417
Epoch 338/500
4/4 [==============================] - 0s 997us/step - loss: 0.4189 - sparse_categorical_accuracy: 0.8583
Epoch 339/500
4/4 [==============================] - 0s 665us/step - loss: 0.3469 - sparse_categorical_accuracy: 0.9500
Epoch 340/500
4/4 [==============================] - 0s 5ms/step - loss: 0.4089 - sparse_categorical_accuracy: 0.8583 - val_loss: 0.3289 - val_sparse_categorical_accuracy: 1.0000
Epoch 341/500
4/4 [==============================] - 0s 665us/step - loss: 0.3863 - sparse_categorical_accuracy: 0.9083
Epoch 342/500
4/4 [==============================] - 0s 665us/step - loss: 0.3991 - sparse_categorical_accuracy: 0.8833
Epoch 343/500
4/4 [==============================] - 0s 665us/step - loss: 0.4232 - sparse_categorical_accuracy: 0.8667
Epoch 344/500
4/4 [==============================] - 0s 665us/step - loss: 0.4240 - sparse_categorical_accuracy: 0.8667
Epoch 345/500
4/4 [==============================] - 0s 665us/step - loss: 0.3626 - sparse_categorical_accuracy: 0.9500
Epoch 346/500
4/4 [==============================] - 0s 665us/step - loss: 0.3398 - sparse_categorical_accuracy: 0.9583
Epoch 347/500
4/4 [==============================] - 0s 665us/step - loss: 0.3416 - sparse_categorical_accuracy: 0.9250
Epoch 348/500
4/4 [==============================] - 0s 998us/step - loss: 0.3892 - sparse_categorical_accuracy: 0.9083
Epoch 349/500
4/4 [==============================] - 0s 997us/step - loss: 0.3674 - sparse_categorical_accuracy: 0.9167
Epoch 350/500
4/4 [==============================] - 0s 998us/step - loss: 0.3400 - sparse_categorical_accuracy: 0.9667
Epoch 351/500
4/4 [==============================] - 0s 997us/step - loss: 0.3556 - sparse_categorical_accuracy: 0.9500
Epoch 352/500
4/4 [==============================] - 0s 998us/step - loss: 0.3704 - sparse_categorical_accuracy: 0.9500
Epoch 353/500
4/4 [==============================] - 0s 665us/step - loss: 0.3406 - sparse_categorical_accuracy: 0.9667
Epoch 354/500
4/4 [==============================] - 0s 998us/step - loss: 0.3330 - sparse_categorical_accuracy: 0.9500
Epoch 355/500
4/4 [==============================] - 0s 997us/step - loss: 0.3984 - sparse_categorical_accuracy: 0.8833
Epoch 356/500
4/4 [==============================] - 0s 997us/step - loss: 0.4194 - sparse_categorical_accuracy: 0.8583
Epoch 357/500
4/4 [==============================] - 0s 665us/step - loss: 0.3721 - sparse_categorical_accuracy: 0.9250
Epoch 358/500
4/4 [==============================] - 0s 665us/step - loss: 0.3770 - sparse_categorical_accuracy: 0.9333
Epoch 359/500
4/4 [==============================] - 0s 665us/step - loss: 0.3631 - sparse_categorical_accuracy: 0.9167
Epoch 360/500
4/4 [==============================] - 0s 5ms/step - loss: 0.3405 - sparse_categorical_accuracy: 0.9583 - val_loss: 0.3238 - val_sparse_categorical_accuracy: 0.9667
Epoch 361/500
4/4 [==============================] - 0s 665us/step - loss: 0.4157 - sparse_categorical_accuracy: 0.9000
Epoch 362/500
4/4 [==============================] - 0s 665us/step - loss: 0.3548 - sparse_categorical_accuracy: 0.9667
Epoch 363/500
4/4 [==============================] - 0s 997us/step - loss: 0.3715 - sparse_categorical_accuracy: 0.9417
Epoch 364/500
4/4 [==============================] - 0s 997us/step - loss: 0.4348 - sparse_categorical_accuracy: 0.8417
Epoch 365/500
4/4 [==============================] - 0s 665us/step - loss: 0.3671 - sparse_categorical_accuracy: 0.9333
Epoch 366/500
4/4 [==============================] - 0s 665us/step - loss: 0.3489 - sparse_categorical_accuracy: 0.9500
Epoch 367/500
4/4 [==============================] - 0s 665us/step - loss: 0.3407 - sparse_categorical_accuracy: 0.9500
Epoch 368/500
4/4 [==============================] - 0s 998us/step - loss: 0.3895 - sparse_categorical_accuracy: 0.9083
Epoch 369/500
4/4 [==============================] - 0s 665us/step - loss: 0.3437 - sparse_categorical_accuracy: 0.9583
Epoch 370/500
4/4 [==============================] - 0s 665us/step - loss: 0.3371 - sparse_categorical_accuracy: 0.9583
Epoch 371/500
4/4 [==============================] - 0s 665us/step - loss: 0.3437 - sparse_categorical_accuracy: 0.9667
Epoch 372/500
4/4 [==============================] - 0s 665us/step - loss: 0.3445 - sparse_categorical_accuracy: 0.9583
Epoch 373/500
4/4 [==============================] - 0s 665us/step - loss: 0.4199 - sparse_categorical_accuracy: 0.8833
Epoch 374/500
4/4 [==============================] - 0s 665us/step - loss: 0.3528 - sparse_categorical_accuracy: 0.9417
Epoch 375/500
4/4 [==============================] - 0s 665us/step - loss: 0.3791 - sparse_categorical_accuracy: 0.9250
Epoch 376/500
4/4 [==============================] - 0s 665us/step - loss: 0.3511 - sparse_categorical_accuracy: 0.9500
Epoch 377/500
4/4 [==============================] - 0s 665us/step - loss: 0.3391 - sparse_categorical_accuracy: 0.9667
Epoch 378/500
4/4 [==============================] - 0s 665us/step - loss: 0.3461 - sparse_categorical_accuracy: 0.9500
Epoch 379/500
4/4 [==============================] - 0s 665us/step - loss: 0.3603 - sparse_categorical_accuracy: 0.9667
Epoch 380/500
4/4 [==============================] - 0s 5ms/step - loss: 0.3398 - sparse_categorical_accuracy: 0.9667 - val_loss: 0.3323 - val_sparse_categorical_accuracy: 1.0000
Epoch 381/500
4/4 [==============================] - 0s 998us/step - loss: 0.3799 - sparse_categorical_accuracy: 0.9167
Epoch 382/500
4/4 [==============================] - 0s 997us/step - loss: 0.3502 - sparse_categorical_accuracy: 0.9667
Epoch 383/500
4/4 [==============================] - 0s 997us/step - loss: 0.3963 - sparse_categorical_accuracy: 0.8833
Epoch 384/500
4/4 [==============================] - 0s 997us/step - loss: 0.3446 - sparse_categorical_accuracy: 0.9500
Epoch 385/500
4/4 [==============================] - 0s 997us/step - loss: 0.3970 - sparse_categorical_accuracy: 0.9250
Epoch 386/500
4/4 [==============================] - 0s 997us/step - loss: 0.3411 - sparse_categorical_accuracy: 0.9750
Epoch 387/500
4/4 [==============================] - 0s 998us/step - loss: 0.3672 - sparse_categorical_accuracy: 0.9167
Epoch 388/500
4/4 [==============================] - 0s 997us/step - loss: 0.3954 - sparse_categorical_accuracy: 0.9167
Epoch 389/500
4/4 [==============================] - 0s 997us/step - loss: 0.3850 - sparse_categorical_accuracy: 0.8750
Epoch 390/500
4/4 [==============================] - 0s 665us/step - loss: 0.4663 - sparse_categorical_accuracy: 0.8333
Epoch 391/500
4/4 [==============================] - 0s 998us/step - loss: 0.4209 - sparse_categorical_accuracy: 0.8583
Epoch 392/500
4/4 [==============================] - 0s 665us/step - loss: 0.3512 - sparse_categorical_accuracy: 0.9250
Epoch 393/500
4/4 [==============================] - 0s 997us/step - loss: 0.3487 - sparse_categorical_accuracy: 0.9417
Epoch 394/500
4/4 [==============================] - 0s 665us/step - loss: 0.3444 - sparse_categorical_accuracy: 0.9500
Epoch 395/500
4/4 [==============================] - 0s 665us/step - loss: 0.3714 - sparse_categorical_accuracy: 0.9333
Epoch 396/500
4/4 [==============================] - 0s 997us/step - loss: 0.3681 - sparse_categorical_accuracy: 0.9250
Epoch 397/500
4/4 [==============================] - 0s 665us/step - loss: 0.3659 - sparse_categorical_accuracy: 0.9000
Epoch 398/500
4/4 [==============================] - 0s 997us/step - loss: 0.3437 - sparse_categorical_accuracy: 0.9667
Epoch 399/500
4/4 [==============================] - 0s 997us/step - loss: 0.3917 - sparse_categorical_accuracy: 0.9083
Epoch 400/500
4/4 [==============================] - 0s 5ms/step - loss: 0.3787 - sparse_categorical_accuracy: 0.9250 - val_loss: 0.5941 - val_sparse_categorical_accuracy: 0.6000
Epoch 401/500
4/4 [==============================] - 0s 665us/step - loss: 0.3651 - sparse_categorical_accuracy: 0.9333
Epoch 402/500
4/4 [==============================] - 0s 665us/step - loss: 0.3480 - sparse_categorical_accuracy: 0.9583
Epoch 403/500
4/4 [==============================] - 0s 998us/step - loss: 0.3813 - sparse_categorical_accuracy: 0.9167
Epoch 404/500
4/4 [==============================] - 0s 665us/step - loss: 0.4448 - sparse_categorical_accuracy: 0.8583
Epoch 405/500
4/4 [==============================] - 0s 997us/step - loss: 0.3864 - sparse_categorical_accuracy: 0.9083
Epoch 406/500
4/4 [==============================] - 0s 665us/step - loss: 0.3440 - sparse_categorical_accuracy: 0.9583
Epoch 407/500
4/4 [==============================] - 0s 665us/step - loss: 0.4250 - sparse_categorical_accuracy: 0.8667
Epoch 408/500
4/4 [==============================] - 0s 997us/step - loss: 0.3375 - sparse_categorical_accuracy: 0.9667
Epoch 409/500
4/4 [==============================] - 0s 665us/step - loss: 0.3470 - sparse_categorical_accuracy: 0.9333
Epoch 410/500
4/4 [==============================] - 0s 665us/step - loss: 0.3442 - sparse_categorical_accuracy: 0.9500
Epoch 411/500
4/4 [==============================] - 0s 665us/step - loss: 0.3907 - sparse_categorical_accuracy: 0.8583
Epoch 412/500
4/4 [==============================] - 0s 665us/step - loss: 0.3829 - sparse_categorical_accuracy: 0.8750
Epoch 413/500
4/4 [==============================] - 0s 665us/step - loss: 0.3658 - sparse_categorical_accuracy: 0.8917
Epoch 414/500
4/4 [==============================] - 0s 665us/step - loss: 0.3384 - sparse_categorical_accuracy: 0.9583
Epoch 415/500
4/4 [==============================] - 0s 665us/step - loss: 0.3447 - sparse_categorical_accuracy: 0.9667
Epoch 416/500
4/4 [==============================] - 0s 665us/step - loss: 0.3389 - sparse_categorical_accuracy: 0.9750
Epoch 417/500
4/4 [==============================] - 0s 997us/step - loss: 0.3484 - sparse_categorical_accuracy: 0.9750
Epoch 418/500
4/4 [==============================] - 0s 997us/step - loss: 0.3718 - sparse_categorical_accuracy: 0.9167
Epoch 419/500
4/4 [==============================] - 0s 997us/step - loss: 0.3435 - sparse_categorical_accuracy: 0.9500
Epoch 420/500
4/4 [==============================] - 0s 5ms/step - loss: 0.3400 - sparse_categorical_accuracy: 0.9500 - val_loss: 0.3493 - val_sparse_categorical_accuracy: 1.0000
Epoch 421/500
4/4 [==============================] - 0s 665us/step - loss: 0.3376 - sparse_categorical_accuracy: 0.9667
Epoch 422/500
4/4 [==============================] - 0s 665us/step - loss: 0.3501 - sparse_categorical_accuracy: 0.9750
Epoch 423/500
4/4 [==============================] - 0s 665us/step - loss: 0.4595 - sparse_categorical_accuracy: 0.8250
Epoch 424/500
4/4 [==============================] - 0s 997us/step - loss: 0.3583 - sparse_categorical_accuracy: 0.9333
Epoch 425/500
4/4 [==============================] - 0s 665us/step - loss: 0.3593 - sparse_categorical_accuracy: 0.9417
Epoch 426/500
4/4 [==============================] - 0s 997us/step - loss: 0.4827 - sparse_categorical_accuracy: 0.8000
Epoch 427/500
4/4 [==============================] - 0s 665us/step - loss: 0.4092 - sparse_categorical_accuracy: 0.8917
Epoch 428/500
4/4 [==============================] - 0s 665us/step - loss: 0.3592 - sparse_categorical_accuracy: 0.9250
Epoch 429/500
4/4 [==============================] - 0s 665us/step - loss: 0.3744 - sparse_categorical_accuracy: 0.9000
Epoch 430/500
4/4 [==============================] - 0s 997us/step - loss: 0.4432 - sparse_categorical_accuracy: 0.8750
Epoch 431/500
4/4 [==============================] - 0s 665us/step - loss: 0.3755 - sparse_categorical_accuracy: 0.9167
Epoch 432/500
4/4 [==============================] - 0s 665us/step - loss: 0.3350 - sparse_categorical_accuracy: 0.9667
Epoch 433/500
4/4 [==============================] - 0s 665us/step - loss: 0.3608 - sparse_categorical_accuracy: 0.9417
Epoch 434/500
4/4 [==============================] - 0s 997us/step - loss: 0.3540 - sparse_categorical_accuracy: 0.9417
Epoch 435/500
4/4 [==============================] - 0s 665us/step - loss: 0.3831 - sparse_categorical_accuracy: 0.9167
Epoch 436/500
4/4 [==============================] - 0s 665us/step - loss: 0.3791 - sparse_categorical_accuracy: 0.8750
Epoch 437/500
4/4 [==============================] - 0s 665us/step - loss: 0.3327 - sparse_categorical_accuracy: 0.9750
Epoch 438/500
4/4 [==============================] - 0s 665us/step - loss: 0.3575 - sparse_categorical_accuracy: 0.9250
Epoch 439/500
4/4 [==============================] - 0s 665us/step - loss: 0.4376 - sparse_categorical_accuracy: 0.8500
Epoch 440/500
4/4 [==============================] - 0s 5ms/step - loss: 0.3535 - sparse_categorical_accuracy: 0.9333 - val_loss: 0.3876 - val_sparse_categorical_accuracy: 1.0000
Epoch 441/500
4/4 [==============================] - 0s 998us/step - loss: 0.3743 - sparse_categorical_accuracy: 0.9250
Epoch 442/500
4/4 [==============================] - 0s 665us/step - loss: 0.3386 - sparse_categorical_accuracy: 0.9750
Epoch 443/500
4/4 [==============================] - 0s 998us/step - loss: 0.3476 - sparse_categorical_accuracy: 0.9667
Epoch 444/500
4/4 [==============================] - 0s 998us/step - loss: 0.3391 - sparse_categorical_accuracy: 0.9500
Epoch 445/500
4/4 [==============================] - 0s 997us/step - loss: 0.3449 - sparse_categorical_accuracy: 0.9583
Epoch 446/500
4/4 [==============================] - 0s 997us/step - loss: 0.3598 - sparse_categorical_accuracy: 0.9417
Epoch 447/500
4/4 [==============================] - 0s 997us/step - loss: 0.3927 - sparse_categorical_accuracy: 0.8833
Epoch 448/500
4/4 [==============================] - 0s 665us/step - loss: 0.3524 - sparse_categorical_accuracy: 0.9333
Epoch 449/500
4/4 [==============================] - 0s 665us/step - loss: 0.3387 - sparse_categorical_accuracy: 0.9750
Epoch 450/500
4/4 [==============================] - 0s 665us/step - loss: 0.3424 - sparse_categorical_accuracy: 0.9250
Epoch 451/500
4/4 [==============================] - 0s 998us/step - loss: 0.4508 - sparse_categorical_accuracy: 0.8333
Epoch 452/500
4/4 [==============================] - 0s 998us/step - loss: 0.3504 - sparse_categorical_accuracy: 0.9417
Epoch 453/500
4/4 [==============================] - 0s 665us/step - loss: 0.3766 - sparse_categorical_accuracy: 0.9167
Epoch 454/500
4/4 [==============================] - 0s 665us/step - loss: 0.3650 - sparse_categorical_accuracy: 0.9167
Epoch 455/500
4/4 [==============================] - 0s 665us/step - loss: 0.3506 - sparse_categorical_accuracy: 0.9583
Epoch 456/500
4/4 [==============================] - 0s 665us/step - loss: 0.3765 - sparse_categorical_accuracy: 0.9083
Epoch 457/500
4/4 [==============================] - 0s 665us/step - loss: 0.3376 - sparse_categorical_accuracy: 0.9833
Epoch 458/500
4/4 [==============================] - 0s 665us/step - loss: 0.3532 - sparse_categorical_accuracy: 0.9583
Epoch 459/500
4/4 [==============================] - 0s 665us/step - loss: 0.3358 - sparse_categorical_accuracy: 0.9500
Epoch 460/500
4/4 [==============================] - 0s 5ms/step - loss: 0.6349 - sparse_categorical_accuracy: 0.7250 - val_loss: 0.3554 - val_sparse_categorical_accuracy: 1.0000
Epoch 461/500
4/4 [==============================] - 0s 997us/step - loss: 0.3414 - sparse_categorical_accuracy: 0.9750
Epoch 462/500
4/4 [==============================] - 0s 665us/step - loss: 0.3489 - sparse_categorical_accuracy: 0.9417
Epoch 463/500
4/4 [==============================] - 0s 664us/step - loss: 0.3581 - sparse_categorical_accuracy: 0.9417
Epoch 464/500
4/4 [==============================] - 0s 665us/step - loss: 0.4619 - sparse_categorical_accuracy: 0.8583
Epoch 465/500
4/4 [==============================] - 0s 998us/step - loss: 0.4844 - sparse_categorical_accuracy: 0.8333
Epoch 466/500
4/4 [==============================] - 0s 665us/step - loss: 0.3958 - sparse_categorical_accuracy: 0.8833
Epoch 467/500
4/4 [==============================] - 0s 665us/step - loss: 0.3387 - sparse_categorical_accuracy: 0.9583
Epoch 468/500
4/4 [==============================] - 0s 997us/step - loss: 0.3566 - sparse_categorical_accuracy: 0.9417
Epoch 469/500
4/4 [==============================] - 0s 664us/step - loss: 0.3544 - sparse_categorical_accuracy: 0.9417
Epoch 470/500
4/4 [==============================] - 0s 665us/step - loss: 0.3763 - sparse_categorical_accuracy: 0.9000
Epoch 471/500
4/4 [==============================] - 0s 665us/step - loss: 0.3349 - sparse_categorical_accuracy: 0.9500
Epoch 472/500
4/4 [==============================] - 0s 998us/step - loss: 0.5347 - sparse_categorical_accuracy: 0.7667
Epoch 473/500
4/4 [==============================] - 0s 665us/step - loss: 0.4666 - sparse_categorical_accuracy: 0.8833
Epoch 474/500
4/4 [==============================] - 0s 665us/step - loss: 0.5124 - sparse_categorical_accuracy: 0.7833
Epoch 475/500
4/4 [==============================] - 0s 665us/step - loss: 0.3539 - sparse_categorical_accuracy: 0.9417
Epoch 476/500
4/4 [==============================] - 0s 997us/step - loss: 0.3371 - sparse_categorical_accuracy: 0.9583
Epoch 477/500
4/4 [==============================] - 0s 665us/step - loss: 0.4072 - sparse_categorical_accuracy: 0.8917
Epoch 478/500
4/4 [==============================] - 0s 665us/step - loss: 0.4168 - sparse_categorical_accuracy: 0.8750
Epoch 479/500
4/4 [==============================] - 0s 997us/step - loss: 0.4617 - sparse_categorical_accuracy: 0.8333
Epoch 480/500
4/4 [==============================] - 0s 5ms/step - loss: 0.3497 - sparse_categorical_accuracy: 0.9417 - val_loss: 0.3175 - val_sparse_categorical_accuracy: 1.0000
Epoch 481/500
4/4 [==============================] - 0s 997us/step - loss: 0.3413 - sparse_categorical_accuracy: 0.9667
Epoch 482/500
4/4 [==============================] - 0s 665us/step - loss: 0.3415 - sparse_categorical_accuracy: 0.9667
Epoch 483/500
4/4 [==============================] - 0s 665us/step - loss: 0.3437 - sparse_categorical_accuracy: 0.9583
Epoch 484/500
4/4 [==============================] - 0s 665us/step - loss: 0.3377 - sparse_categorical_accuracy: 0.9500
Epoch 485/500
4/4 [==============================] - 0s 665us/step - loss: 0.4217 - sparse_categorical_accuracy: 0.8583
Epoch 486/500
4/4 [==============================] - 0s 665us/step - loss: 0.3618 - sparse_categorical_accuracy: 0.9417
Epoch 487/500
4/4 [==============================] - 0s 665us/step - loss: 0.3622 - sparse_categorical_accuracy: 0.9083
Epoch 488/500
4/4 [==============================] - 0s 665us/step - loss: 0.3756 - sparse_categorical_accuracy: 0.8917
Epoch 489/500
4/4 [==============================] - 0s 665us/step - loss: 0.3968 - sparse_categorical_accuracy: 0.9000
Epoch 490/500
4/4 [==============================] - 0s 665us/step - loss: 0.3435 - sparse_categorical_accuracy: 0.9583
Epoch 491/500
4/4 [==============================] - 0s 665us/step - loss: 0.3394 - sparse_categorical_accuracy: 0.9750
Epoch 492/500
4/4 [==============================] - 0s 997us/step - loss: 0.3348 - sparse_categorical_accuracy: 0.9833
Epoch 493/500
4/4 [==============================] - 0s 665us/step - loss: 0.3447 - sparse_categorical_accuracy: 0.9333
Epoch 494/500
4/4 [==============================] - 0s 674us/step - loss: 0.3433 - sparse_categorical_accuracy: 0.9333
Epoch 495/500
4/4 [==============================] - 0s 665us/step - loss: 0.3357 - sparse_categorical_accuracy: 0.9583
Epoch 496/500
4/4 [==============================] - 0s 997us/step - loss: 0.3445 - sparse_categorical_accuracy: 0.9583
Epoch 497/500
4/4 [==============================] - 0s 665us/step - loss: 0.3435 - sparse_categorical_accuracy: 0.9333
Epoch 498/500
4/4 [==============================] - 0s 665us/step - loss: 0.3406 - sparse_categorical_accuracy: 0.9667
Epoch 499/500
4/4 [==============================] - 0s 665us/step - loss: 0.3649 - sparse_categorical_accuracy: 0.9333
Epoch 500/500
4/4 [==============================] - 0s 5ms/step - loss: 0.3888 - sparse_categorical_accuracy: 0.9250 - val_loss: 0.3516 - val_sparse_categorical_accuracy: 0.8667
Model: "my_model"
_________________________________________________________________
 Layer (type)                Output Shape              Param #   
=================================================================
 dense (Dense)               multiple                  15        
                                                                 
=================================================================
Total params: 15
Trainable params: 15
Non-trainable params: 0
_________________________________________________________________

3 MNIST 数据集

3.1 介绍

MNIST 数据集一共有 7 万张图片,是 28×28 像素的 0 到 9 手写数字数据集,其中 6 万张用于训练, 1 万张用于测试。每张图片包括 784(28×28)个像素点,使用全连接网络时可将 784 个像素点组成长度为 784 的一维数组,作为输入特征。数据集图片如下所示。
在这里插入图片描述

3.2 导入并可视化数据集

keras 函数库中提供了使用 mnist 数据集的接口,代码如下所示,可以使用
load_data()直接从 mnist 中读取测试集和训练集。

mnist = tf.keras.datasets.mnist

(x_train, y_train),(x_test, y_test) = mnist.load_data()

输入全连接网络时需要先将数据拉直为一维数组,把784个像素点的灰度值作为输入特征输入神经网络

tf.keras.layers.Flatten()
在这里插入图片描述

使用plt库中的两个函数可视化训练集中的图片
plt.imshow(x_train[0], cmap = ‘gray’)
plt.show()

在这里插入图片描述

使用 print 打印出训练集中第一个样本以二位数组的形式打印出来,如下
所示。

print(“x_train[0]:”,x_train[0])

在这里插入图片描述

打印出第一个样本的标签,为 5

print(“y_train[0]:”,y_train[0])

y_train[0]:5

打印出测试样本的形状,共有10000个28行28列的三维数据

print(“x_test.shape:”x_test.shape)

x_test.shape:(10000,28,28)

# p13_mnist_datasets.py
import tensorflow as tf
import matplotlib.pyplot as plt

mnist = tf.keras.datasets.mnist

(x_train, y_train), (x_test, y_test) = mnist.load_data()

# 可视化训练集输入特征的第一个元素
plt.imshow(x_train[0], cmap ='gray') #绘制灰色图
plt.show()

在这里插入图片描述

# 打印出训练集输入特征的第一个元素
print("x_train[0]:\n", x_train[0])
# 打印出训练集标签的第一个元素
print("y_train[0]:\n", y_train[0])
x_train[0]:
 [[  0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
    0   0   0   0   0   0   0   0   0   0]
 [  0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
    0   0   0   0   0   0   0   0   0   0]
 [  0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
    0   0   0   0   0   0   0   0   0   0]
 [  0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
    0   0   0   0   0   0   0   0   0   0]
 [  0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
    0   0   0   0   0   0   0   0   0   0]
 [  0   0   0   0   0   0   0   0   0   0   0   0   3  18  18  18 126 136
  175  26 166 255 247 127   0   0   0   0]
 [  0   0   0   0   0   0   0   0  30  36  94 154 170 253 253 253 253 253
  225 172 253 242 195  64   0   0   0   0]
 [  0   0   0   0   0   0   0  49 238 253 253 253 253 253 253 253 253 251
   93  82  82  56  39   0   0   0   0   0]
 [  0   0   0   0   0   0   0  18 219 253 253 253 253 253 198 182 247 241
    0   0   0   0   0   0   0   0   0   0]
 [  0   0   0   0   0   0   0   0  80 156 107 253 253 205  11   0  43 154
    0   0   0   0   0   0   0   0   0   0]
 [  0   0   0   0   0   0   0   0   0  14   1 154 253  90   0   0   0   0
    0   0   0   0   0   0   0   0   0   0]
 [  0   0   0   0   0   0   0   0   0   0   0 139 253 190   2   0   0   0
    0   0   0   0   0   0   0   0   0   0]
 [  0   0   0   0   0   0   0   0   0   0   0  11 190 253  70   0   0   0
    0   0   0   0   0   0   0   0   0   0]
 [  0   0   0   0   0   0   0   0   0   0   0   0  35 241 225 160 108   1
    0   0   0   0   0   0   0   0   0   0]
 [  0   0   0   0   0   0   0   0   0   0   0   0   0  81 240 253 253 119
   25   0   0   0   0   0   0   0   0   0]
 [  0   0   0   0   0   0   0   0   0   0   0   0   0   0  45 186 253 253
  150  27   0   0   0   0   0   0   0   0]
 [  0   0   0   0   0   0   0   0   0   0   0   0   0   0   0  16  93 252
  253 187   0   0   0   0   0   0   0   0]
 [  0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0 249
  253 249  64   0   0   0   0   0   0   0]
 [  0   0   0   0   0   0   0   0   0   0   0   0   0   0  46 130 183 253
  253 207   2   0   0   0   0   0   0   0]
 [  0   0   0   0   0   0   0   0   0   0   0   0  39 148 229 253 253 253
  250 182   0   0   0   0   0   0   0   0]
 [  0   0   0   0   0   0   0   0   0   0  24 114 221 253 253 253 253 201
   78   0   0   0   0   0   0   0   0   0]
 [  0   0   0   0   0   0   0   0  23  66 213 253 253 253 253 198  81   2
    0   0   0   0   0   0   0   0   0   0]
 [  0   0   0   0   0   0  18 171 219 253 253 253 253 195  80   9   0   0
    0   0   0   0   0   0   0   0   0   0]
 [  0   0   0   0  55 172 226 253 253 253 253 244 133  11   0   0   0   0
    0   0   0   0   0   0   0   0   0   0]
 [  0   0   0   0 136 253 253 253 212 135 132  16   0   0   0   0   0   0
    0   0   0   0   0   0   0   0   0   0]
 [  0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
    0   0   0   0   0   0   0   0   0   0]
 [  0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
    0   0   0   0   0   0   0   0   0   0]
 [  0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
    0   0   0   0   0   0   0   0   0   0]]
y_train[0]:
 5
# 打印出整个训练集输入特征形状
print("x_train.shape:\n", x_train.shape)
# 打印出整个训练集标签的形状
print("y_train.shape:\n", y_train.shape)
# 打印出整个测试集输入特征的形状
print("x_test.shape:\n", x_test.shape)
# 打印出整个测试集标签的形状
print("y_test.shape:\n", y_test.shape)

x_train.shape:
 (60000, 28, 28)
y_train.shape:
 (60000,)
x_test.shape:
 (10000, 28, 28)
y_test.shape:
 (10000,)

3.3 训练 MNIST 数据集

使用 Sequential 实现手写数字识别

# p14_mnist_sequential.py
import tensorflow as tf

mnist = tf.keras.datasets.mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data()

x_train, x_test = x_train / 255.0, x_test / 255.0

model = tf.keras.models.Sequential([
    tf.keras.layers.Flatten(),
    tf.keras.layers.Dense(128, activation = 'relu', kernel_regularizer = tf.keras.regularizers.l2()),
    tf.keras.layers.Dense(10, activation = 'softmax', kernel_regularizer = tf.keras.regularizers.l2())
])


model.compile(optimizer='adam',
              loss = tf.keras.losses.SparseCategoricalCrossentropy(from_logits=False),
              metrics = ['sparse_categorical_accuracy']
)
model.fit(x_train, y_train, batch_size=32, epochs=5, validation_data=(x_test, y_test), validation_freq=1)
model.summary()
Epoch 1/5
1875/1875 [==============================] - 2s 832us/step - loss: 0.8692 - sparse_categorical_accuracy: 0.8887 - val_loss: 0.7183 - val_sparse_categorical_accuracy: 0.9113
Epoch 2/5
1875/1875 [==============================] - 1s 770us/step - loss: 0.7406 - sparse_categorical_accuracy: 0.9010 - val_loss: 0.7298 - val_sparse_categorical_accuracy: 0.9052
Epoch 3/5
1875/1875 [==============================] - 1s 772us/step - loss: 0.7331 - sparse_categorical_accuracy: 0.9023 - val_loss: 0.7283 - val_sparse_categorical_accuracy: 0.9003
Epoch 4/5
1875/1875 [==============================] - 1s 787us/step - loss: 0.7296 - sparse_categorical_accuracy: 0.9035 - val_loss: 0.7069 - val_sparse_categorical_accuracy: 0.9094
Epoch 5/5
1875/1875 [==============================] - 1s 776us/step - loss: 0.7265 - sparse_categorical_accuracy: 0.9037 - val_loss: 0.6963 - val_sparse_categorical_accuracy: 0.9120
Model: "sequential"
_________________________________________________________________
 Layer (type)                Output Shape              Param #   
=================================================================
 flatten (Flatten)           (None, 784)               0         
                                                                 
 dense_1 (Dense)             (None, 128)               100480    
                                                                 
 dense_2 (Dense)             (None, 10)                1290      
                                                                 
=================================================================
Total params: 101,770
Trainable params: 101,770
Non-trainable params: 0
_________________________________________________________________
#p15_mnist_class.py
import tensorflow as tf
from tensorflow.keras.layers import Dense, Flatten
from tensorflow.keras import Model

mnist = tf.keras.datasets.mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data()

x_train, x_test = x_train / 255.0, x_test / 255.0
class MnistModel(Model):
    def __init__(self):
        super(MnistModel, self).__init__()
        self.flatten = Flatten()
        self.d1 = Dense(128, activation='relu')
        self.d2 = Dense(10, activation='softmax')
        
    def call(self,x):
        x = self.flatten(x)
        x = self.d1(x)
        y = self.d2(x)
        return y
    
model = MnistModel()

model.compile(optimizer='adam',
              loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=False),
              metrics=['sparse_categorical_accuracy'])

model.fit(x_train, y_train, batch_size=32, epochs=5, validation_data=(x_test, y_test), validation_freq=1)
model.summary()
Epoch 1/5
1875/1875 [==============================] - 2s 795us/step - loss: 0.2601 - sparse_categorical_accuracy: 0.9265 - val_loss: 0.1397 - val_sparse_categorical_accuracy: 0.9568
Epoch 2/5
1875/1875 [==============================] - 1s 739us/step - loss: 0.1128 - sparse_categorical_accuracy: 0.9667 - val_loss: 0.0977 - val_sparse_categorical_accuracy: 0.9712
Epoch 3/5
1875/1875 [==============================] - 1s 739us/step - loss: 0.0761 - sparse_categorical_accuracy: 0.9775 - val_loss: 0.0889 - val_sparse_categorical_accuracy: 0.9726
Epoch 4/5
1875/1875 [==============================] - 1s 741us/step - loss: 0.0573 - sparse_categorical_accuracy: 0.9826 - val_loss: 0.0734 - val_sparse_categorical_accuracy: 0.9775
Epoch 5/5
1875/1875 [==============================] - 1s 751us/step - loss: 0.0433 - sparse_categorical_accuracy: 0.9865 - val_loss: 0.0755 - val_sparse_categorical_accuracy: 0.9765
Model: "mnist_model"
_________________________________________________________________
 Layer (type)                Output Shape              Param #   
=================================================================
 flatten_1 (Flatten)         multiple                  0         
                                                                 
 dense_3 (Dense)             multiple                  100480    
                                                                 
 dense_4 (Dense)             multiple                  1290      
                                                                 
=================================================================
Total params: 101,770
Trainable params: 101,770
Non-trainable params: 0
_________________________________________________________________

4 Fashion_mnist 数据集

Fashion_mnist 数据集具有 mnist 近乎所有的特征,包括 60000 张训练图片
和 10000 张测试图片,图片被分为十类,每张图像为 28×28 的分辨率。

在这里插入图片描述

import tensorflow as tf

fashion = tf.keras.datasets.fashion_mnist
(x_train, y_train),(x_test, y_test) = fashion.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0

model = tf.keras.models.Sequential([
    tf.keras.layers.Flatten(),
    tf.keras.layers.Dense(128, activation = 'relu'),
    tf.keras.layers.Dense(10, activation = 'softmax')
])

model.compile(optimizer='adam',
              loss = tf.keras.losses.SparseCategoricalCrossentropy(from_logits=False),
              metrics=['sparse_categorical_accuracy']
)

model.fit(x_train, y_train, batch_size=32, epochs=5, validation_data=(x_test, y_test), validation_freq=1)
model.summary()
Epoch 1/5
1875/1875 [==============================] - 2s 811us/step - loss: 0.4998 - sparse_categorical_accuracy: 0.8241 - val_loss: 0.4051 - val_sparse_categorical_accuracy: 0.8543
Epoch 2/5
1875/1875 [==============================] - 1s 776us/step - loss: 0.3737 - sparse_categorical_accuracy: 0.8652 - val_loss: 0.4044 - val_sparse_categorical_accuracy: 0.8572
Epoch 3/5
1875/1875 [==============================] - 1s 755us/step - loss: 0.3347 - sparse_categorical_accuracy: 0.8785 - val_loss: 0.3784 - val_sparse_categorical_accuracy: 0.8629
Epoch 4/5
1875/1875 [==============================] - 1s 737us/step - loss: 0.3121 - sparse_categorical_accuracy: 0.8859 - val_loss: 0.3685 - val_sparse_categorical_accuracy: 0.8636
Epoch 5/5
1875/1875 [==============================] - 1s 736us/step - loss: 0.2958 - sparse_categorical_accuracy: 0.8916 - val_loss: 0.3528 - val_sparse_categorical_accuracy: 0.8715
Model: "sequential_2"
_________________________________________________________________
 Layer (type)                Output Shape              Param #   
=================================================================
 flatten_4 (Flatten)         (None, 784)               0         
                                                                 
 dense_8 (Dense)             (None, 128)               100480    
                                                                 
 dense_9 (Dense)             (None, 10)                1290      
                                                                 
=================================================================
Total params: 101,770
Trainable params: 101,770
Non-trainable params: 0
_________________________________________________________________
#p16_fashion_sequential.py
import tensorflow as tf
from tensorflow.keras.layers import Dense,Flatten
from tensorflow.keras import Model


fashion = tf.keras.datasets.fashion_mnist
(x_train, y_train),(x_test, y_test) = fashion.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0

class FasionModel(Model):
    def __init__(self):
        super(FasionModel, self).__init__()
        self.flatten = Flatten()
        self.d1 = Dense(128, activation = 'relu')
        self.d2 =Dense(10, activation='softmax')
        
    def call(self, x):
        x = self.flatten(x)
        x = self.d1(x)
        y = self.d2(x)
        return y
    
    
model = FasionModel()

model.compile(optimizer='adam',
              loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=False),
              metrics=['sparse_categorical_accuracy'])

model.fit(x_train, y_train, batch_size=32, epochs=5, validation_data=(x_test, y_test), validation_freq=1)
model.summary()

class FasionModel(Model):
    def __init__(self):
        super(FasionModel, self).__init__()
        self.flatten = Flatten()
        self.d1 = Dense(128, activation = 'relu')
        self.d2 =Dense(10, activation='softmax')
        
    def call(self, x):
        x = self.flatten(x)
        x = self.d1(x)
        y = self.d2(x)
        return y
    
    
model = FasionModel()
model.compile(optimizer='adam',
              loss = tf.keras.losses.SparseCategoricalCrossentropy(from_logits=False),
              metrics = ['sparse_categorical_accuracy']
             
)

model.fit(x_train, y_train, batch_size=32, epochs=5, validation_data=(x_test, y_test), validation_freq=1)
model.summary()

Epoch 1/5
1875/1875 [==============================] - 2s 797us/step - loss: 0.4944 - sparse_categorical_accuracy: 0.8256 - val_loss: 0.4059 - val_sparse_categorical_accuracy: 0.8541
Epoch 2/5
1875/1875 [==============================] - 1s 733us/step - loss: 0.3716 - sparse_categorical_accuracy: 0.8662 - val_loss: 0.3932 - val_sparse_categorical_accuracy: 0.8631
Epoch 3/5
1875/1875 [==============================] - 1s 739us/step - loss: 0.3343 - sparse_categorical_accuracy: 0.8780 - val_loss: 0.3763 - val_sparse_categorical_accuracy: 0.8633
Epoch 4/5
1875/1875 [==============================] - 1s 740us/step - loss: 0.3114 - sparse_categorical_accuracy: 0.8859 - val_loss: 0.3702 - val_sparse_categorical_accuracy: 0.8650
Epoch 5/5
1875/1875 [==============================] - 1s 753us/step - loss: 0.2953 - sparse_categorical_accuracy: 0.8912 - val_loss: 0.3493 - val_sparse_categorical_accuracy: 0.8778
Model: "fasion_model_2"
_________________________________________________________________
 Layer (type)                Output Shape              Param #   
=================================================================
 flatten_7 (Flatten)         multiple                  0         
                                                                 
 dense_14 (Dense)            multiple                  100480    
                                                                 
 dense_15 (Dense)            multiple                  1290      
                                                                 
=================================================================
Total params: 101,770
Trainable params: 101,770
Non-trainable params: 0
_________________________________________________________________
Epoch 1/5
1875/1875 [==============================] - 2s 797us/step - loss: 0.4989 - sparse_categorical_accuracy: 0.8245 - val_loss: 0.4104 - val_sparse_categorical_accuracy: 0.8551
Epoch 2/5
1875/1875 [==============================] - 1s 735us/step - loss: 0.3741 - sparse_categorical_accuracy: 0.8654 - val_loss: 0.3954 - val_sparse_categorical_accuracy: 0.8602
Epoch 3/5
1875/1875 [==============================] - 1s 736us/step - loss: 0.3359 - sparse_categorical_accuracy: 0.8782 - val_loss: 0.3695 - val_sparse_categorical_accuracy: 0.8671
Epoch 4/5
1875/1875 [==============================] - 1s 738us/step - loss: 0.3139 - sparse_categorical_accuracy: 0.8847 - val_loss: 0.3762 - val_sparse_categorical_accuracy: 0.8658
Epoch 5/5
1875/1875 [==============================] - 1s 746us/step - loss: 0.2969 - sparse_categorical_accuracy: 0.8914 - val_loss: 0.3612 - val_sparse_categorical_accuracy: 0.8706
Model: "fasion_model_3"
_________________________________________________________________
 Layer (type)                Output Shape              Param #   
=================================================================
 flatten_8 (Flatten)         multiple                  0         
                                                                 
 dense_16 (Dense)            multiple                  100480    
                                                                 
 dense_17 (Dense)            multiple                  1290      
                                                                 
=================================================================
Total params: 101,770
Trainable params: 101,770
Non-trainable params: 0
_________________________________________________________________
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值