我对图像分类 ML 很陌生,并且一直在尝试使用不同层的 CNN。
背景
我试图对堆叠在一起的 25x25 像素图像进行分类,因为 50x25 像素是相同 (1) 或不同 (0)。我正在使用 keras 来创建 CNN 层。 Keras 顺序层如下所示:
layers.Input((2*imsize,imsize,3)), # shape of input with 3 channels
layers.Reshape((2,imsize,imsize,3)), # Turn the input into two 25x25 images
layers.LayerNormalization(axis=[-1,-2,-3]), # Normalize images
layers.Flatten(), # Flatten array
layers.Dense(16,activation='relu'), # 16 outputs hidden layer
layers.Dense(2,activation='softmax')
然后我使用 adam optimiser 编译各层,损失和准确度如下:
ml.compile(optimizer='adam',
loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=False),
metrics=['accuracy'])
之后,我使用
epoch=20
和 batch_size=100
训练了模型。我根据纪元绘制后得到了这些结果。
结果
当前评价:
我目前的观察是
我的问题是:我对模型的评估是否正确?我应该如何理解这个结果才能改进它?