【哈工大版】动态ReLU:自适应参数化ReLU及Keras代码(调参记录9)

2020-05-27 18:11:56 浏览数 (1)

本文介绍哈工大团队提出的一种Dynamic ReLU激活函数,即自适应参数化ReLU激活函数,原本是应用在基于一维振动信号的故障诊断,能够让每个样本有自己独特的ReLU参数,在2019年5月3日投稿至IEEE Transactions on Industrial Electronics,2020年1月24日录用,2020年2月13日在IEEE官网公布

本文在调参记录6的基础上,继续调整超参数,测试Adaptively Parametric ReLU(APReLU)激活函数在Cifar10图像集上的效果。

自适应参数化ReLU激活函数的基本原理见下图:

自适应参数化ReLU:一种动态ReLU激活函数自适应参数化ReLU:一种动态ReLU激活函数

在Keras里,Batch Normalization的momentum默认为0.99,现在设置为0.9,这是因为momentum=0.9似乎更常见。原先Batch Normalization默认没有正则化,现在加上L2正则化,来减小过拟合。

Keras程序如下:

代码语言:python代码运行次数:0复制
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Tue Apr 14 04:17:45 2020
Implemented using TensorFlow 1.0.1 and Keras 2.2.1

Minghang Zhao, Shisheng Zhong, Xuyun Fu, Baoping Tang, Shaojiang Dong, Michael Pecht,
Deep Residual Networks with Adaptively Parametric Rectifier Linear Units for Fault Diagnosis, 
IEEE Transactions on Industrial Electronics, DOI: 10.1109/TIE.2020.2972458,
Date of Publication: 13 February 2020

@author: Minghang Zhao
"""

from __future__ import print_function
import keras
import numpy as np
from keras.datasets import cifar10
from keras.layers import Dense, Conv2D, BatchNormalization, Activation, Minimum
from keras.layers import AveragePooling2D, Input, GlobalAveragePooling2D, Concatenate, Reshape
from keras.regularizers import l2
from keras import backend as K
from keras.models import Model
from keras import optimizers
from keras.preprocessing.image import ImageDataGenerator
from keras.callbacks import LearningRateScheduler
K.set_learning_phase(1)

# The data, split between train and test sets
(x_train, y_train), (x_test, y_test) = cifar10.load_data()
x_train = x_train.astype('float32') / 255.
x_test = x_test.astype('float32') / 255.
x_test = x_test-np.mean(x_train)
x_train = x_train-np.mean(x_train)
print('x_train shape:', x_train.shape)
print(x_train.shape[0], 'train samples')
print(x_test.shape[0], 'test samples')

# convert class vectors to binary class matrices
y_train = keras.utils.to_categorical(y_train, 10)
y_test = keras.utils.to_categorical(y_test, 10)

# Schedule the learning rate, multiply 0.1 every 300 epoches
def scheduler(epoch):
    if epoch % 300 == 0 and epoch != 0:
        lr = K.get_value(model.optimizer.lr)
        K.set_value(model.optimizer.lr, lr * 0.1)
        print("lr changed to {}".format(lr * 0.1))
    return K.get_value(model.optimizer.lr)

# An adaptively parametric rectifier linear unit (APReLU)
def aprelu(inputs):
    # get the number of channels
    channels = inputs.get_shape().as_list()[-1]
    # get a zero feature map
    zeros_input = keras.layers.subtract([inputs, inputs])
    # get a feature map with only positive features
    pos_input = Activation('relu')(inputs)
    # get a feature map with only negative features
    neg_input = Minimum()([inputs,zeros_input])
    # define a network to obtain the scaling coefficients
    scales_p = GlobalAveragePooling2D()(pos_input)
    scales_n = GlobalAveragePooling2D()(neg_input)
    scales = Concatenate()([scales_n, scales_p])
    scales = Dense(channels, activation='linear', kernel_initializer='he_normal', kernel_regularizer=l2(1e-4))(scales)
    scales = BatchNormalization(momentum=0.9, gamma_regularizer=l2(1e-4))(scales)
    scales = Activation('relu')(scales)
    scales = Dense(channels, activation='linear', kernel_initializer='he_normal', kernel_regularizer=l2(1e-4))(scales)
    scales = BatchNormalization(momentum=0.9, gamma_regularizer=l2(1e-4))(scales)
    scales = Activation('sigmoid')(scales)
    scales = Reshape((1,1,channels))(scales)
    # apply a paramtetric relu
    neg_part = keras.layers.multiply([scales, neg_input])
    return keras.layers.add([pos_input, neg_part])

# Residual Block
def residual_block(incoming, nb_blocks, out_channels, downsample=False,
                   downsample_strides=2):
    
    residual = incoming
    in_channels = incoming.get_shape().as_list()[-1]
    
    for i in range(nb_blocks):
        
        identity = residual
        
        if not downsample:
            downsample_strides = 1
        
        residual = BatchNormalization(momentum=0.9, gamma_regularizer=l2(1e-4))(residual)
        residual = aprelu(residual)
        residual = Conv2D(out_channels, 3, strides=(downsample_strides, downsample_strides), 
                          padding='same', kernel_initializer='he_normal', 
                          kernel_regularizer=l2(1e-4))(residual)
        
        residual = BatchNormalization(momentum=0.9, gamma_regularizer=l2(1e-4))(residual)
        residual = aprelu(residual)
        residual = Conv2D(out_channels, 3, padding='same', kernel_initializer='he_normal', 
                          kernel_regularizer=l2(1e-4))(residual)
        
        # Downsampling
        if downsample_strides > 1:
            identity = AveragePooling2D(pool_size=(1,1), strides=(2,2))(identity)
            
        # Zero_padding to match channels
        if in_channels != out_channels:
            zeros_identity = keras.layers.subtract([identity, identity])
            identity = keras.layers.concatenate([identity, zeros_identity])
            in_channels = out_channels
        
        residual = keras.layers.add([residual, identity])
    
    return residual


# define and train a model
inputs = Input(shape=(32, 32, 3))
net = Conv2D(16, 3, padding='same', kernel_initializer='he_normal', kernel_regularizer=l2(1e-4))(inputs)
net = residual_block(net, 9, 16, downsample=False)
net = residual_block(net, 1, 32, downsample=True)
net = residual_block(net, 8, 32, downsample=False)
net = residual_block(net, 1, 64, downsample=True)
net = residual_block(net, 8, 64, downsample=False)
net = BatchNormalization(momentum=0.9, gamma_regularizer=l2(1e-4))(net)
net = Activation('relu')(net)
net = GlobalAveragePooling2D()(net)
outputs = Dense(10, activation='softmax', kernel_initializer='he_normal', kernel_regularizer=l2(1e-4))(net)
model = Model(inputs=inputs, outputs=outputs)
sgd = optimizers.SGD(lr=0.1, decay=0., momentum=0.9, nesterov=True)
model.compile(loss='categorical_crossentropy', optimizer=sgd, metrics=['accuracy'])

# data augmentation
datagen = ImageDataGenerator(
    # randomly rotate images in the range (deg 0 to 180)
    rotation_range=30,
    # randomly flip images
    horizontal_flip=True,
    # randomly shift images horizontally
    width_shift_range=0.125,
    # randomly shift images vertically
    height_shift_range=0.125)

reduce_lr = LearningRateScheduler(scheduler)
# fit the model on the batches generated by datagen.flow().
model.fit_generator(datagen.flow(x_train, y_train, batch_size=100),
                    validation_data=(x_test, y_test), epochs=1000, 
                    verbose=1, callbacks=[reduce_lr], workers=4)

# get results
K.set_learning_phase(0)
DRSN_train_score = model.evaluate(x_train, y_train, batch_size=100, verbose=0)
print('Train loss:', DRSN_train_score[0])
print('Train accuracy:', DRSN_train_score[1])
DRSN_test_score = model.evaluate(x_test, y_test, batch_size=100, verbose=0)
print('Test loss:', DRSN_test_score[0])
print('Test accuracy:', DRSN_test_score[1])

实验结果如下:

代码语言:javascript复制
x_train shape: (50000, 32, 32, 3)
50000 train samples
10000 test samples
Epoch 1/1000
97s 195ms/step - loss: 3.2344 - acc: 0.4133 - val_loss: 2.7840 - val_acc: 0.5398
Epoch 2/1000
65s 131ms/step - loss: 2.6095 - acc: 0.5574 - val_loss: 2.3084 - val_acc: 0.6296
Epoch 3/1000
65s 131ms/step - loss: 2.2160 - acc: 0.6249 - val_loss: 1.9625 - val_acc: 0.6837
Epoch 4/1000
65s 131ms/step - loss: 1.9251 - acc: 0.6702 - val_loss: 1.7395 - val_acc: 0.7116
Epoch 5/1000
65s 131ms/step - loss: 1.7015 - acc: 0.7016 - val_loss: 1.5316 - val_acc: 0.7429
Epoch 6/1000
65s 131ms/step - loss: 1.5268 - acc: 0.7228 - val_loss: 1.3858 - val_acc: 0.7608
Epoch 7/1000
65s 131ms/step - loss: 1.3979 - acc: 0.7372 - val_loss: 1.2604 - val_acc: 0.7761
Epoch 8/1000
65s 131ms/step - loss: 1.2921 - acc: 0.7483 - val_loss: 1.1713 - val_acc: 0.7798
Epoch 9/1000
66s 131ms/step - loss: 1.2057 - acc: 0.7627 - val_loss: 1.1200 - val_acc: 0.7846
Epoch 10/1000
65s 131ms/step - loss: 1.1358 - acc: 0.7690 - val_loss: 1.0900 - val_acc: 0.7811
Epoch 11/1000
65s 131ms/step - loss: 1.0823 - acc: 0.7741 - val_loss: 0.9822 - val_acc: 0.8058
Epoch 12/1000
65s 131ms/step - loss: 1.0365 - acc: 0.7802 - val_loss: 0.9840 - val_acc: 0.7976
Epoch 13/1000
65s 130ms/step - loss: 1.0040 - acc: 0.7847 - val_loss: 0.9539 - val_acc: 0.7995
Epoch 14/1000
65s 131ms/step - loss: 0.9737 - acc: 0.7870 - val_loss: 0.9181 - val_acc: 0.8093
Epoch 15/1000
65s 131ms/step - loss: 0.9468 - acc: 0.7933 - val_loss: 0.8972 - val_acc: 0.8071
Epoch 16/1000
65s 131ms/step - loss: 0.9210 - acc: 0.7964 - val_loss: 0.9039 - val_acc: 0.8077
Epoch 17/1000
65s 131ms/step - loss: 0.9084 - acc: 0.8008 - val_loss: 0.8491 - val_acc: 0.8200
Epoch 18/1000
65s 131ms/step - loss: 0.8879 - acc: 0.8027 - val_loss: 0.8565 - val_acc: 0.8161
Epoch 19/1000
65s 131ms/step - loss: 0.8770 - acc: 0.8044 - val_loss: 0.8640 - val_acc: 0.8116
Epoch 20/1000
65s 131ms/step - loss: 0.8695 - acc: 0.8066 - val_loss: 0.8369 - val_acc: 0.8187
Epoch 21/1000
65s 131ms/step - loss: 0.8565 - acc: 0.8097 - val_loss: 0.8403 - val_acc: 0.8221
Epoch 22/1000
65s 131ms/step - loss: 0.8516 - acc: 0.8119 - val_loss: 0.8131 - val_acc: 0.8315
Epoch 23/1000
65s 131ms/step - loss: 0.8402 - acc: 0.8156 - val_loss: 0.7879 - val_acc: 0.8397
Epoch 24/1000
65s 131ms/step - loss: 0.8271 - acc: 0.8179 - val_loss: 0.7942 - val_acc: 0.8379
Epoch 25/1000
65s 131ms/step - loss: 0.8282 - acc: 0.8196 - val_loss: 0.8132 - val_acc: 0.8270
Epoch 26/1000
65s 130ms/step - loss: 0.8203 - acc: 0.8203 - val_loss: 0.7870 - val_acc: 0.8354
Epoch 27/1000
65s 131ms/step - loss: 0.8141 - acc: 0.8231 - val_loss: 0.7780 - val_acc: 0.8405
Epoch 28/1000
65s 131ms/step - loss: 0.8075 - acc: 0.8270 - val_loss: 0.7806 - val_acc: 0.8386
Epoch 29/1000
65s 131ms/step - loss: 0.8051 - acc: 0.8260 - val_loss: 0.7865 - val_acc: 0.8309
Epoch 30/1000
65s 131ms/step - loss: 0.8015 - acc: 0.8262 - val_loss: 0.7600 - val_acc: 0.8458
Epoch 31/1000
65s 131ms/step - loss: 0.7948 - acc: 0.8295 - val_loss: 0.7560 - val_acc: 0.8458
Epoch 32/1000
65s 131ms/step - loss: 0.7890 - acc: 0.8323 - val_loss: 0.7760 - val_acc: 0.8407
Epoch 33/1000
65s 131ms/step - loss: 0.7868 - acc: 0.8335 - val_loss: 0.7845 - val_acc: 0.8348
Epoch 34/1000
66s 131ms/step - loss: 0.7845 - acc: 0.8346 - val_loss: 0.7517 - val_acc: 0.8460
Epoch 35/1000
65s 131ms/step - loss: 0.7764 - acc: 0.8377 - val_loss: 0.7683 - val_acc: 0.8432
Epoch 36/1000
65s 131ms/step - loss: 0.7720 - acc: 0.8370 - val_loss: 0.7383 - val_acc: 0.8518
Epoch 37/1000
65s 131ms/step - loss: 0.7738 - acc: 0.8374 - val_loss: 0.7491 - val_acc: 0.8469
Epoch 38/1000
65s 131ms/step - loss: 0.7666 - acc: 0.8405 - val_loss: 0.7591 - val_acc: 0.8437
Epoch 39/1000
65s 131ms/step - loss: 0.7656 - acc: 0.8421 - val_loss: 0.7389 - val_acc: 0.8533
Epoch 40/1000
65s 131ms/step - loss: 0.7619 - acc: 0.8431 - val_loss: 0.7583 - val_acc: 0.8461
Epoch 41/1000
65s 130ms/step - loss: 0.7594 - acc: 0.8433 - val_loss: 0.7199 - val_acc: 0.8576
Epoch 42/1000
65s 131ms/step - loss: 0.7594 - acc: 0.8428 - val_loss: 0.7272 - val_acc: 0.8558
Epoch 43/1000
65s 131ms/step - loss: 0.7559 - acc: 0.8451 - val_loss: 0.7353 - val_acc: 0.8535
Epoch 44/1000
65s 131ms/step - loss: 0.7528 - acc: 0.8454 - val_loss: 0.7492 - val_acc: 0.8487
Epoch 45/1000
65s 131ms/step - loss: 0.7564 - acc: 0.8465 - val_loss: 0.7510 - val_acc: 0.8505
Epoch 46/1000
65s 131ms/step - loss: 0.7494 - acc: 0.8487 - val_loss: 0.7626 - val_acc: 0.8462
Epoch 47/1000
65s 131ms/step - loss: 0.7505 - acc: 0.8491 - val_loss: 0.7417 - val_acc: 0.8561
Epoch 48/1000
65s 131ms/step - loss: 0.7434 - acc: 0.8509 - val_loss: 0.7247 - val_acc: 0.8580
Epoch 49/1000
65s 131ms/step - loss: 0.7426 - acc: 0.8502 - val_loss: 0.7203 - val_acc: 0.8612
Epoch 50/1000
65s 130ms/step - loss: 0.7436 - acc: 0.8503 - val_loss: 0.7190 - val_acc: 0.8621
Epoch 51/1000
65s 130ms/step - loss: 0.7415 - acc: 0.8509 - val_loss: 0.7315 - val_acc: 0.8590
Epoch 52/1000
65s 130ms/step - loss: 0.7342 - acc: 0.8549 - val_loss: 0.7141 - val_acc: 0.8627
Epoch 53/1000
65s 130ms/step - loss: 0.7341 - acc: 0.8525 - val_loss: 0.7209 - val_acc: 0.8582
Epoch 54/1000
65s 130ms/step - loss: 0.7326 - acc: 0.8546 - val_loss: 0.7114 - val_acc: 0.8640
Epoch 55/1000
65s 131ms/step - loss: 0.7338 - acc: 0.8546 - val_loss: 0.7166 - val_acc: 0.8587
Epoch 56/1000
65s 131ms/step - loss: 0.7291 - acc: 0.8564 - val_loss: 0.7109 - val_acc: 0.8642
Epoch 57/1000
65s 131ms/step - loss: 0.7261 - acc: 0.8563 - val_loss: 0.7116 - val_acc: 0.8638
Epoch 58/1000
65s 131ms/step - loss: 0.7270 - acc: 0.8567 - val_loss: 0.7272 - val_acc: 0.8591
Epoch 59/1000
65s 131ms/step - loss: 0.7240 - acc: 0.8577 - val_loss: 0.6949 - val_acc: 0.8730
Epoch 60/1000
65s 130ms/step - loss: 0.7268 - acc: 0.8575 - val_loss: 0.7129 - val_acc: 0.8645
Epoch 61/1000
65s 131ms/step - loss: 0.7222 - acc: 0.8599 - val_loss: 0.7174 - val_acc: 0.8642
Epoch 62/1000
65s 131ms/step - loss: 0.7195 - acc: 0.8611 - val_loss: 0.7178 - val_acc: 0.8608
Epoch 63/1000
65s 131ms/step - loss: 0.7177 - acc: 0.8619 - val_loss: 0.7142 - val_acc: 0.8586
Epoch 64/1000
65s 131ms/step - loss: 0.7146 - acc: 0.8632 - val_loss: 0.7119 - val_acc: 0.8619
Epoch 65/1000
65s 131ms/step - loss: 0.7174 - acc: 0.8599 - val_loss: 0.7174 - val_acc: 0.8640
Epoch 66/1000
65s 131ms/step - loss: 0.7145 - acc: 0.8619 - val_loss: 0.7075 - val_acc: 0.8647
Epoch 67/1000
65s 131ms/step - loss: 0.7116 - acc: 0.8635 - val_loss: 0.7449 - val_acc: 0.8534
Epoch 68/1000
65s 131ms/step - loss: 0.7058 - acc: 0.8632 - val_loss: 0.6978 - val_acc: 0.8713
Epoch 69/1000
65s 131ms/step - loss: 0.7111 - acc: 0.8632 - val_loss: 0.7132 - val_acc: 0.8641
Epoch 70/1000
66s 131ms/step - loss: 0.7046 - acc: 0.8655 - val_loss: 0.6695 - val_acc: 0.8764
Epoch 71/1000
66s 131ms/step - loss: 0.7062 - acc: 0.8640 - val_loss: 0.6967 - val_acc: 0.8704
Epoch 72/1000
66s 131ms/step - loss: 0.7044 - acc: 0.8655 - val_loss: 0.6786 - val_acc: 0.8771
Epoch 73/1000
66s 131ms/step - loss: 0.7018 - acc: 0.8667 - val_loss: 0.7139 - val_acc: 0.8639
Epoch 74/1000
65s 131ms/step - loss: 0.7029 - acc: 0.8667 - val_loss: 0.7264 - val_acc: 0.8565
Epoch 75/1000
65s 131ms/step - loss: 0.6981 - acc: 0.8661 - val_loss: 0.6919 - val_acc: 0.8738
Epoch 76/1000
65s 131ms/step - loss: 0.6997 - acc: 0.8667 - val_loss: 0.7023 - val_acc: 0.8700
Epoch 77/1000
65s 131ms/step - loss: 0.6967 - acc: 0.8685 - val_loss: 0.6810 - val_acc: 0.8769
Epoch 78/1000
65s 131ms/step - loss: 0.6982 - acc: 0.8673 - val_loss: 0.7090 - val_acc: 0.8648
Epoch 79/1000
66s 131ms/step - loss: 0.6989 - acc: 0.8670 - val_loss: 0.7114 - val_acc: 0.8691
Epoch 80/1000
66s 131ms/step - loss: 0.6900 - acc: 0.8704 - val_loss: 0.7039 - val_acc: 0.8707
Epoch 81/1000
66s 131ms/step - loss: 0.6920 - acc: 0.8703 - val_loss: 0.6878 - val_acc: 0.8742
Epoch 82/1000
66s 131ms/step - loss: 0.6904 - acc: 0.8705 - val_loss: 0.6966 - val_acc: 0.8724
Epoch 83/1000
66s 131ms/step - loss: 0.6907 - acc: 0.8694 - val_loss: 0.6880 - val_acc: 0.8725
Epoch 84/1000
65s 131ms/step - loss: 0.6933 - acc: 0.8692 - val_loss: 0.7006 - val_acc: 0.8697
Epoch 85/1000
65s 131ms/step - loss: 0.6934 - acc: 0.8709 - val_loss: 0.7079 - val_acc: 0.8679
Epoch 86/1000
65s 131ms/step - loss: 0.6899 - acc: 0.8710 - val_loss: 0.7029 - val_acc: 0.8661
Epoch 87/1000
66s 131ms/step - loss: 0.6946 - acc: 0.8696 - val_loss: 0.6892 - val_acc: 0.8746
Epoch 88/1000
66s 131ms/step - loss: 0.6925 - acc: 0.8709 - val_loss: 0.6920 - val_acc: 0.8698
Epoch 89/1000
66s 131ms/step - loss: 0.6861 - acc: 0.8703 - val_loss: 0.6857 - val_acc: 0.8762
Epoch 90/1000
66s 131ms/step - loss: 0.6878 - acc: 0.8721 - val_loss: 0.6827 - val_acc: 0.8740
Epoch 91/1000
66s 131ms/step - loss: 0.6845 - acc: 0.8728 - val_loss: 0.6995 - val_acc: 0.8702
Epoch 92/1000
65s 131ms/step - loss: 0.6890 - acc: 0.8719 - val_loss: 0.6769 - val_acc: 0.8767
Epoch 93/1000
66s 131ms/step - loss: 0.6836 - acc: 0.8734 - val_loss: 0.6992 - val_acc: 0.8689
Epoch 94/1000
65s 131ms/step - loss: 0.6809 - acc: 0.8737 - val_loss: 0.7046 - val_acc: 0.8682
Epoch 95/1000
65s 131ms/step - loss: 0.6803 - acc: 0.8727 - val_loss: 0.6755 - val_acc: 0.8793
Epoch 96/1000
65s 131ms/step - loss: 0.6833 - acc: 0.8742 - val_loss: 0.6857 - val_acc: 0.8741
Epoch 97/1000
65s 131ms/step - loss: 0.6837 - acc: 0.8732 - val_loss: 0.6969 - val_acc: 0.8715
Epoch 98/1000
65s 131ms/step - loss: 0.6836 - acc: 0.8738 - val_loss: 0.6762 - val_acc: 0.8763
Epoch 99/1000
65s 131ms/step - loss: 0.6837 - acc: 0.8727 - val_loss: 0.6817 - val_acc: 0.8759
Epoch 100/1000
65s 131ms/step - loss: 0.6809 - acc: 0.8755 - val_loss: 0.6859 - val_acc: 0.8736
Epoch 101/1000
65s 131ms/step - loss: 0.6814 - acc: 0.8745 - val_loss: 0.6695 - val_acc: 0.8816
Epoch 102/1000
65s 131ms/step - loss: 0.6813 - acc: 0.8735 - val_loss: 0.6878 - val_acc: 0.8732
Epoch 103/1000
66s 131ms/step - loss: 0.6852 - acc: 0.8744 - val_loss: 0.6906 - val_acc: 0.8719
Epoch 104/1000
65s 131ms/step - loss: 0.6804 - acc: 0.8753 - val_loss: 0.6803 - val_acc: 0.8779
Epoch 105/1000
65s 131ms/step - loss: 0.6771 - acc: 0.8748 - val_loss: 0.6838 - val_acc: 0.8754
Epoch 106/1000
65s 131ms/step - loss: 0.6741 - acc: 0.8768 - val_loss: 0.7191 - val_acc: 0.8606
Epoch 107/1000
65s 131ms/step - loss: 0.6774 - acc: 0.8751 - val_loss: 0.6901 - val_acc: 0.8725
Epoch 108/1000
65s 131ms/step - loss: 0.6752 - acc: 0.8768 - val_loss: 0.7003 - val_acc: 0.8711
Epoch 109/1000
65s 130ms/step - loss: 0.6772 - acc: 0.8752 - val_loss: 0.6926 - val_acc: 0.8756
Epoch 110/1000
65s 131ms/step - loss: 0.6729 - acc: 0.8775 - val_loss: 0.7088 - val_acc: 0.8647
Epoch 111/1000
65s 131ms/step - loss: 0.6670 - acc: 0.8793 - val_loss: 0.6932 - val_acc: 0.8725
Epoch 112/1000
65s 131ms/step - loss: 0.6724 - acc: 0.8775 - val_loss: 0.6781 - val_acc: 0.8779
Epoch 113/1000
65s 131ms/step - loss: 0.6753 - acc: 0.8771 - val_loss: 0.6676 - val_acc: 0.8815
Epoch 114/1000
65s 131ms/step - loss: 0.6720 - acc: 0.8775 - val_loss: 0.6813 - val_acc: 0.8763
Epoch 115/1000
66s 131ms/step - loss: 0.6754 - acc: 0.8746 - val_loss: 0.6662 - val_acc: 0.8761
Epoch 116/1000
65s 130ms/step - loss: 0.6763 - acc: 0.8758 - val_loss: 0.6668 - val_acc: 0.8798
Epoch 117/1000
65s 131ms/step - loss: 0.6680 - acc: 0.8788 - val_loss: 0.6860 - val_acc: 0.8791
Epoch 118/1000
65s 131ms/step - loss: 0.6737 - acc: 0.8781 - val_loss: 0.6630 - val_acc: 0.8794
Epoch 119/1000
65s 131ms/step - loss: 0.6621 - acc: 0.8812 - val_loss: 0.6847 - val_acc: 0.8772
Epoch 120/1000
65s 131ms/step - loss: 0.6638 - acc: 0.8794 - val_loss: 0.6777 - val_acc: 0.8768
Epoch 121/1000
65s 131ms/step - loss: 0.6682 - acc: 0.8793 - val_loss: 0.7159 - val_acc: 0.8659
Epoch 122/1000
65s 131ms/step - loss: 0.6726 - acc: 0.8762 - val_loss: 0.6771 - val_acc: 0.8803
Epoch 123/1000
65s 131ms/step - loss: 0.6660 - acc: 0.8800 - val_loss: 0.6986 - val_acc: 0.8730
Epoch 124/1000
65s 131ms/step - loss: 0.6697 - acc: 0.8780 - val_loss: 0.6978 - val_acc: 0.8741
Epoch 125/1000
65s 131ms/step - loss: 0.6680 - acc: 0.8803 - val_loss: 0.6767 - val_acc: 0.8787
Epoch 126/1000
65s 131ms/step - loss: 0.6604 - acc: 0.8827 - val_loss: 0.6827 - val_acc: 0.8751
Epoch 127/1000
65s 131ms/step - loss: 0.6647 - acc: 0.8816 - val_loss: 0.7081 - val_acc: 0.8681
Epoch 128/1000
65s 130ms/step - loss: 0.6668 - acc: 0.8808 - val_loss: 0.6697 - val_acc: 0.8780
Epoch 129/1000
65s 131ms/step - loss: 0.6629 - acc: 0.8808 - val_loss: 0.6848 - val_acc: 0.8725
Epoch 130/1000
65s 131ms/step - loss: 0.6634 - acc: 0.8802 - val_loss: 0.6862 - val_acc: 0.8730
Epoch 131/1000
65s 131ms/step - loss: 0.6637 - acc: 0.8797 - val_loss: 0.7044 - val_acc: 0.8704
Epoch 132/1000
65s 131ms/step - loss: 0.6647 - acc: 0.8817 - val_loss: 0.6798 - val_acc: 0.8779
Epoch 133/1000
65s 131ms/step - loss: 0.6604 - acc: 0.8830 - val_loss: 0.6790 - val_acc: 0.8770
Epoch 134/1000
65s 131ms/step - loss: 0.6638 - acc: 0.8821 - val_loss: 0.6786 - val_acc: 0.8777
Epoch 135/1000
65s 131ms/step - loss: 0.6621 - acc: 0.8829 - val_loss: 0.6990 - val_acc: 0.8676
Epoch 136/1000
65s 131ms/step - loss: 0.6650 - acc: 0.8803 - val_loss: 0.6916 - val_acc: 0.8742
Epoch 137/1000
65s 131ms/step - loss: 0.6600 - acc: 0.8814 - val_loss: 0.6645 - val_acc: 0.8822
Epoch 138/1000
65s 131ms/step - loss: 0.6606 - acc: 0.8827 - val_loss: 0.6554 - val_acc: 0.8902
Epoch 139/1000
65s 131ms/step - loss: 0.6575 - acc: 0.8849 - val_loss: 0.6895 - val_acc: 0.8782
Epoch 140/1000
65s 131ms/step - loss: 0.6590 - acc: 0.8824 - val_loss: 0.6689 - val_acc: 0.8830
Epoch 141/1000
65s 131ms/step - loss: 0.6589 - acc: 0.8827 - val_loss: 0.6620 - val_acc: 0.8816
Epoch 142/1000
65s 131ms/step - loss: 0.6580 - acc: 0.8833 - val_loss: 0.6765 - val_acc: 0.8787
Epoch 143/1000
66s 131ms/step - loss: 0.6559 - acc: 0.8830 - val_loss: 0.7018 - val_acc: 0.8691
Epoch 144/1000
65s 131ms/step - loss: 0.6579 - acc: 0.8818 - val_loss: 0.6733 - val_acc: 0.8819
Epoch 145/1000
66s 131ms/step - loss: 0.6559 - acc: 0.8843 - val_loss: 0.6702 - val_acc: 0.8809
Epoch 146/1000
65s 131ms/step - loss: 0.6557 - acc: 0.8826 - val_loss: 0.6474 - val_acc: 0.8871
Epoch 147/1000
65s 131ms/step - loss: 0.6552 - acc: 0.8844 - val_loss: 0.6815 - val_acc: 0.8769
Epoch 148/1000
65s 131ms/step - loss: 0.6565 - acc: 0.8830 - val_loss: 0.6770 - val_acc: 0.8818
Epoch 149/1000
65s 131ms/step - loss: 0.6501 - acc: 0.8852 - val_loss: 0.6885 - val_acc: 0.8764
Epoch 150/1000
65s 131ms/step - loss: 0.6566 - acc: 0.8832 - val_loss: 0.6701 - val_acc: 0.8815
Epoch 151/1000
65s 131ms/step - loss: 0.6521 - acc: 0.8861 - val_loss: 0.6785 - val_acc: 0.8785
Epoch 152/1000
65s 131ms/step - loss: 0.6539 - acc: 0.8851 - val_loss: 0.6681 - val_acc: 0.8841
Epoch 153/1000
65s 131ms/step - loss: 0.6514 - acc: 0.8849 - val_loss: 0.6773 - val_acc: 0.8785
Epoch 154/1000
65s 131ms/step - loss: 0.6561 - acc: 0.8836 - val_loss: 0.6747 - val_acc: 0.8803
Epoch 155/1000
65s 131ms/step - loss: 0.6524 - acc: 0.8852 - val_loss: 0.6545 - val_acc: 0.8854
Epoch 156/1000
65s 131ms/step - loss: 0.6587 - acc: 0.8828 - val_loss: 0.7070 - val_acc: 0.8692
Epoch 157/1000
65s 131ms/step - loss: 0.6558 - acc: 0.8838 - val_loss: 0.6618 - val_acc: 0.8843
Epoch 158/1000
65s 131ms/step - loss: 0.6514 - acc: 0.8873 - val_loss: 0.6874 - val_acc: 0.8763
Epoch 159/1000
65s 131ms/step - loss: 0.6564 - acc: 0.8848 - val_loss: 0.6804 - val_acc: 0.8805
Epoch 160/1000
65s 131ms/step - loss: 0.6450 - acc: 0.8868 - val_loss: 0.6752 - val_acc: 0.8800
Epoch 161/1000
65s 131ms/step - loss: 0.6555 - acc: 0.8847 - val_loss: 0.6589 - val_acc: 0.8857
Epoch 162/1000
65s 131ms/step - loss: 0.6492 - acc: 0.8860 - val_loss: 0.6544 - val_acc: 0.8862
Epoch 163/1000
65s 131ms/step - loss: 0.6544 - acc: 0.8844 - val_loss: 0.6807 - val_acc: 0.8775
Epoch 164/1000
65s 131ms/step - loss: 0.6504 - acc: 0.8850 - val_loss: 0.6861 - val_acc: 0.8761
Epoch 165/1000
65s 131ms/step - loss: 0.6538 - acc: 0.8832 - val_loss: 0.6653 - val_acc: 0.8842
Epoch 166/1000
65s 131ms/step - loss: 0.6520 - acc: 0.8866 - val_loss: 0.6685 - val_acc: 0.8823
Epoch 167/1000
65s 131ms/step - loss: 0.6483 - acc: 0.8869 - val_loss: 0.6916 - val_acc: 0.8719
Epoch 168/1000
65s 131ms/step - loss: 0.6501 - acc: 0.8855 - val_loss: 0.6789 - val_acc: 0.8785
Epoch 169/1000
65s 131ms/step - loss: 0.6484 - acc: 0.8863 - val_loss: 0.6853 - val_acc: 0.8740
Epoch 170/1000
65s 131ms/step - loss: 0.6485 - acc: 0.8863 - val_loss: 0.6654 - val_acc: 0.8808
Epoch 171/1000
65s 131ms/step - loss: 0.6474 - acc: 0.8863 - val_loss: 0.6636 - val_acc: 0.8858
Epoch 172/1000
65s 131ms/step - loss: 0.6469 - acc: 0.8863 - val_loss: 0.6752 - val_acc: 0.8793
Epoch 173/1000
65s 131ms/step - loss: 0.6411 - acc: 0.8886 - val_loss: 0.6869 - val_acc: 0.8769
Epoch 174/1000
65s 130ms/step - loss: 0.6456 - acc: 0.8873 - val_loss: 0.6714 - val_acc: 0.8808
Epoch 175/1000
65s 130ms/step - loss: 0.6536 - acc: 0.8853 - val_loss: 0.6580 - val_acc: 0.8885
Epoch 176/1000
65s 130ms/step - loss: 0.6491 - acc: 0.8857 - val_loss: 0.6743 - val_acc: 0.8816
Epoch 177/1000
65s 130ms/step - loss: 0.6492 - acc: 0.8851 - val_loss: 0.6625 - val_acc: 0.8897
Epoch 178/1000
65s 130ms/step - loss: 0.6481 - acc: 0.8845 - val_loss: 0.6671 - val_acc: 0.8826
Epoch 179/1000
65s 131ms/step - loss: 0.6495 - acc: 0.8854 - val_loss: 0.6968 - val_acc: 0.8724
Epoch 180/1000
65s 131ms/step - loss: 0.6474 - acc: 0.8879 - val_loss: 0.6602 - val_acc: 0.8860
Epoch 181/1000
65s 131ms/step - loss: 0.6449 - acc: 0.8869 - val_loss: 0.6648 - val_acc: 0.8849
Epoch 182/1000
65s 131ms/step - loss: 0.6515 - acc: 0.8849 - val_loss: 0.6675 - val_acc: 0.8812
Epoch 183/1000
65s 131ms/step - loss: 0.6489 - acc: 0.8861 - val_loss: 0.6561 - val_acc: 0.8863
Epoch 184/1000
65s 131ms/step - loss: 0.6435 - acc: 0.8892 - val_loss: 0.6526 - val_acc: 0.8894
Epoch 185/1000
65s 131ms/step - loss: 0.6471 - acc: 0.8868 - val_loss: 0.6856 - val_acc: 0.8758
Epoch 186/1000
65s 131ms/step - loss: 0.6525 - acc: 0.8854 - val_loss: 0.6785 - val_acc: 0.8781
Epoch 187/1000
65s 131ms/step - loss: 0.6489 - acc: 0.8850 - val_loss: 0.6638 - val_acc: 0.8832
Epoch 188/1000
65s 131ms/step - loss: 0.6454 - acc: 0.8872 - val_loss: 0.6673 - val_acc: 0.8841
Epoch 189/1000
65s 131ms/step - loss: 0.6491 - acc: 0.8868 - val_loss: 0.6410 - val_acc: 0.8893
Epoch 190/1000
65s 131ms/step - loss: 0.6428 - acc: 0.8884 - val_loss: 0.6678 - val_acc: 0.8835
Epoch 191/1000
65s 131ms/step - loss: 0.6463 - acc: 0.8871 - val_loss: 0.6676 - val_acc: 0.8854
Epoch 192/1000
65s 131ms/step - loss: 0.6435 - acc: 0.8892 - val_loss: 0.6869 - val_acc: 0.8764
Epoch 193/1000
65s 131ms/step - loss: 0.6465 - acc: 0.8877 - val_loss: 0.6578 - val_acc: 0.8849
Epoch 194/1000
65s 131ms/step - loss: 0.6446 - acc: 0.8879 - val_loss: 0.6819 - val_acc: 0.8825
Epoch 195/1000
65s 131ms/step - loss: 0.6464 - acc: 0.8868 - val_loss: 0.6682 - val_acc: 0.8831
Epoch 196/1000
65s 131ms/step - loss: 0.6455 - acc: 0.8888 - val_loss: 0.6580 - val_acc: 0.8863
Epoch 197/1000
65s 131ms/step - loss: 0.6408 - acc: 0.8883 - val_loss: 0.6818 - val_acc: 0.8778
Epoch 198/1000
65s 131ms/step - loss: 0.6415 - acc: 0.8887 - val_loss: 0.6616 - val_acc: 0.8856
Epoch 199/1000
65s 131ms/step - loss: 0.6429 - acc: 0.8897 - val_loss: 0.6876 - val_acc: 0.8769
Epoch 200/1000
66s 131ms/step - loss: 0.6490 - acc: 0.8857 - val_loss: 0.6679 - val_acc: 0.8827
Epoch 201/1000
65s 131ms/step - loss: 0.6403 - acc: 0.8905 - val_loss: 0.6663 - val_acc: 0.8818
Epoch 202/1000
66s 131ms/step - loss: 0.6407 - acc: 0.8900 - val_loss: 0.6714 - val_acc: 0.8789
Epoch 203/1000
66s 131ms/step - loss: 0.6380 - acc: 0.8906 - val_loss: 0.6718 - val_acc: 0.8799
Epoch 204/1000
65s 131ms/step - loss: 0.6422 - acc: 0.8882 - val_loss: 0.6778 - val_acc: 0.8770
Epoch 205/1000
65s 129ms/step - loss: 0.6392 - acc: 0.8894 - val_loss: 0.6697 - val_acc: 0.8805
Epoch 206/1000
65s 129ms/step - loss: 0.6467 - acc: 0.8882 - val_loss: 0.6956 - val_acc: 0.8737
Epoch 207/1000
65s 131ms/step - loss: 0.6391 - acc: 0.8902 - val_loss: 0.6641 - val_acc: 0.8849
Epoch 208/1000
65s 131ms/step - loss: 0.6378 - acc: 0.8900 - val_loss: 0.6890 - val_acc: 0.8733
Epoch 209/1000
65s 131ms/step - loss: 0.6421 - acc: 0.8897 - val_loss: 0.6654 - val_acc: 0.8824
Epoch 210/1000
65s 131ms/step - loss: 0.6405 - acc: 0.8892 - val_loss: 0.6685 - val_acc: 0.8793
Epoch 211/1000
65s 131ms/step - loss: 0.6381 - acc: 0.8893 - val_loss: 0.6581 - val_acc: 0.8855
Epoch 212/1000
65s 131ms/step - loss: 0.6379 - acc: 0.8915 - val_loss: 0.6626 - val_acc: 0.8893
Epoch 213/1000
65s 131ms/step - loss: 0.6405 - acc: 0.8892 - val_loss: 0.6688 - val_acc: 0.8803
Epoch 214/1000
65s 131ms/step - loss: 0.6369 - acc: 0.8896 - val_loss: 0.6827 - val_acc: 0.8770
Epoch 215/1000
65s 131ms/step - loss: 0.6412 - acc: 0.8892 - val_loss: 0.6545 - val_acc: 0.8849
Epoch 216/1000
65s 131ms/step - loss: 0.6383 - acc: 0.8901 - val_loss: 0.6683 - val_acc: 0.8836
Epoch 217/1000
65s 131ms/step - loss: 0.6369 - acc: 0.8901 - val_loss: 0.6657 - val_acc: 0.8854
Epoch 218/1000
65s 131ms/step - loss: 0.6408 - acc: 0.8896 - val_loss: 0.6496 - val_acc: 0.8864
Epoch 219/1000
65s 131ms/step - loss: 0.6391 - acc: 0.8900 - val_loss: 0.6728 - val_acc: 0.8818
Epoch 220/1000
65s 131ms/step - loss: 0.6352 - acc: 0.8905 - val_loss: 0.6821 - val_acc: 0.8817
Epoch 221/1000
65s 131ms/step - loss: 0.6365 - acc: 0.8919 - val_loss: 0.6650 - val_acc: 0.8845
Epoch 222/1000
65s 131ms/step - loss: 0.6389 - acc: 0.8907 - val_loss: 0.6509 - val_acc: 0.8870
Epoch 223/1000
65s 131ms/step - loss: 0.6364 - acc: 0.8911 - val_loss: 0.6672 - val_acc: 0.8853
Epoch 224/1000
65s 131ms/step - loss: 0.6329 - acc: 0.8909 - val_loss: 0.6668 - val_acc: 0.8819
Epoch 225/1000
65s 131ms/step - loss: 0.6349 - acc: 0.8918 - val_loss: 0.6517 - val_acc: 0.8890
Epoch 226/1000
65s 131ms/step - loss: 0.6383 - acc: 0.8901 - val_loss: 0.6778 - val_acc: 0.8791
Epoch 227/1000
65s 131ms/step - loss: 0.6375 - acc: 0.8907 - val_loss: 0.6692 - val_acc: 0.8836
Epoch 228/1000
65s 131ms/step - loss: 0.6354 - acc: 0.8914 - val_loss: 0.6800 - val_acc: 0.8805
Epoch 229/1000
65s 131ms/step - loss: 0.6373 - acc: 0.8915 - val_loss: 0.6575 - val_acc: 0.8852
Epoch 230/1000
65s 131ms/step - loss: 0.6388 - acc: 0.8894 - val_loss: 0.6676 - val_acc: 0.8846
Epoch 231/1000
65s 131ms/step - loss: 0.6374 - acc: 0.8916 - val_loss: 0.6638 - val_acc: 0.8841
Epoch 232/1000
66s 132ms/step - loss: 0.6367 - acc: 0.8925 - val_loss: 0.6715 - val_acc: 0.8851
Epoch 233/1000
65s 131ms/step - loss: 0.6407 - acc: 0.8894 - val_loss: 0.6633 - val_acc: 0.8862
Epoch 234/1000
66s 131ms/step - loss: 0.6320 - acc: 0.8936 - val_loss: 0.6821 - val_acc: 0.8789
Epoch 235/1000
65s 131ms/step - loss: 0.6376 - acc: 0.8914 - val_loss: 0.6735 - val_acc: 0.8812
Epoch 236/1000
65s 131ms/step - loss: 0.6353 - acc: 0.8904 - val_loss: 0.6680 - val_acc: 0.8871
Epoch 237/1000
65s 131ms/step - loss: 0.6357 - acc: 0.8913 - val_loss: 0.6624 - val_acc: 0.8864
Epoch 238/1000
65s 131ms/step - loss: 0.6310 - acc: 0.8936 - val_loss: 0.6616 - val_acc: 0.8832
Epoch 239/1000
65s 131ms/step - loss: 0.6383 - acc: 0.8902 - val_loss: 0.6663 - val_acc: 0.8842
Epoch 240/1000
65s 131ms/step - loss: 0.6337 - acc: 0.8932 - val_loss: 0.6471 - val_acc: 0.8892
Epoch 241/1000
65s 131ms/step - loss: 0.6311 - acc: 0.8921 - val_loss: 0.6608 - val_acc: 0.8853
Epoch 242/1000
65s 131ms/step - loss: 0.6373 - acc: 0.8899 - val_loss: 0.6988 - val_acc: 0.8710
Epoch 243/1000
65s 131ms/step - loss: 0.6369 - acc: 0.8905 - val_loss: 0.6644 - val_acc: 0.8843
Epoch 244/1000
65s 130ms/step - loss: 0.6317 - acc: 0.8927 - val_loss: 0.6922 - val_acc: 0.8721
Epoch 245/1000
65s 131ms/step - loss: 0.6304 - acc: 0.8929 - val_loss: 0.6733 - val_acc: 0.8798
Epoch 246/1000
65s 131ms/step - loss: 0.6328 - acc: 0.8912 - val_loss: 0.6564 - val_acc: 0.8860
Epoch 247/1000
65s 131ms/step - loss: 0.6400 - acc: 0.8896 - val_loss: 0.6664 - val_acc: 0.8794
Epoch 248/1000
65s 131ms/step - loss: 0.6361 - acc: 0.8898 - val_loss: 0.6896 - val_acc: 0.8777
Epoch 249/1000
65s 131ms/step - loss: 0.6332 - acc: 0.8914 - val_loss: 0.6707 - val_acc: 0.8829
Epoch 250/1000
65s 131ms/step - loss: 0.6348 - acc: 0.8901 - val_loss: 0.6581 - val_acc: 0.8850
Epoch 251/1000
65s 131ms/step - loss: 0.6325 - acc: 0.8918 - val_loss: 0.6623 - val_acc: 0.8870
Epoch 252/1000
65s 131ms/step - loss: 0.6337 - acc: 0.8915 - val_loss: 0.6795 - val_acc: 0.8806
Epoch 253/1000
65s 131ms/step - loss: 0.6339 - acc: 0.8909 - val_loss: 0.6760 - val_acc: 0.8788
Epoch 254/1000
65s 131ms/step - loss: 0.6350 - acc: 0.8907 - val_loss: 0.6667 - val_acc: 0.8863
Epoch 255/1000
65s 131ms/step - loss: 0.6312 - acc: 0.8927 - val_loss: 0.6825 - val_acc: 0.8775
Epoch 256/1000
65s 131ms/step - loss: 0.6304 - acc: 0.8920 - val_loss: 0.6648 - val_acc: 0.8839
Epoch 257/1000
65s 131ms/step - loss: 0.6317 - acc: 0.8917 - val_loss: 0.6624 - val_acc: 0.8830
Epoch 258/1000
65s 131ms/step - loss: 0.6335 - acc: 0.8914 - val_loss: 0.6547 - val_acc: 0.8877
Epoch 259/1000
65s 131ms/step - loss: 0.6346 - acc: 0.8903 - val_loss: 0.6671 - val_acc: 0.8863
Epoch 260/1000
65s 131ms/step - loss: 0.6303 - acc: 0.8909 - val_loss: 0.6491 - val_acc: 0.8862
Epoch 261/1000
65s 131ms/step - loss: 0.6348 - acc: 0.8902 - val_loss: 0.6778 - val_acc: 0.8781
Epoch 262/1000
65s 131ms/step - loss: 0.6325 - acc: 0.8928 - val_loss: 0.6651 - val_acc: 0.8800
Epoch 263/1000
65s 131ms/step - loss: 0.6377 - acc: 0.8895 - val_loss: 0.6474 - val_acc: 0.8908
Epoch 264/1000
65s 131ms/step - loss: 0.6293 - acc: 0.8927 - val_loss: 0.6707 - val_acc: 0.8821
Epoch 265/1000
65s 131ms/step - loss: 0.6321 - acc: 0.8915 - val_loss: 0.6679 - val_acc: 0.8820
Epoch 266/1000
65s 131ms/step - loss: 0.6323 - acc: 0.8936 - val_loss: 0.6647 - val_acc: 0.8851
Epoch 267/1000
65s 131ms/step - loss: 0.6311 - acc: 0.8926 - val_loss: 0.6748 - val_acc: 0.8786
Epoch 268/1000
65s 131ms/step - loss: 0.6344 - acc: 0.8920 - val_loss: 0.6851 - val_acc: 0.8826
Epoch 269/1000
65s 131ms/step - loss: 0.6296 - acc: 0.8943 - val_loss: 0.6626 - val_acc: 0.8854
Epoch 270/1000
65s 131ms/step - loss: 0.6323 - acc: 0.8931 - val_loss: 0.6555 - val_acc: 0.8864
Epoch 271/1000
65s 131ms/step - loss: 0.6285 - acc: 0.8933 - val_loss: 0.6781 - val_acc: 0.8817
Epoch 272/1000
65s 131ms/step - loss: 0.6316 - acc: 0.8921 - val_loss: 0.6630 - val_acc: 0.8870
Epoch 273/1000
65s 131ms/step - loss: 0.6296 - acc: 0.8943 - val_loss: 0.6682 - val_acc: 0.8824
Epoch 274/1000
65s 131ms/step - loss: 0.6221 - acc: 0.8957 - val_loss: 0.6788 - val_acc: 0.8791
Epoch 275/1000
65s 131ms/step - loss: 0.6317 - acc: 0.8918 - val_loss: 0.6434 - val_acc: 0.8917
Epoch 276/1000
65s 130ms/step - loss: 0.6290 - acc: 0.8927 - val_loss: 0.6572 - val_acc: 0.8868
Epoch 277/1000
65s 131ms/step - loss: 0.6279 - acc: 0.8931 - val_loss: 0.6877 - val_acc: 0.8757
Epoch 278/1000
65s 131ms/step - loss: 0.6301 - acc: 0.8923 - val_loss: 0.6746 - val_acc: 0.8770
Epoch 279/1000
65s 131ms/step - loss: 0.6334 - acc: 0.8919 - val_loss: 0.6553 - val_acc: 0.8863
Epoch 280/1000
65s 131ms/step - loss: 0.6320 - acc: 0.8927 - val_loss: 0.6727 - val_acc: 0.8812
Epoch 281/1000
65s 131ms/step - loss: 0.6290 - acc: 0.8944 - val_loss: 0.6784 - val_acc: 0.8765
Epoch 282/1000
65s 131ms/step - loss: 0.6290 - acc: 0.8937 - val_loss: 0.6466 - val_acc: 0.8924
Epoch 283/1000
65s 131ms/step - loss: 0.6297 - acc: 0.8940 - val_loss: 0.6622 - val_acc: 0.8853
Epoch 284/1000
65s 131ms/step - loss: 0.6267 - acc: 0.8940 - val_loss: 0.6592 - val_acc: 0.8860
Epoch 285/1000
65s 131ms/step - loss: 0.6319 - acc: 0.8926 - val_loss: 0.6628 - val_acc: 0.8849
Epoch 286/1000
65s 131ms/step - loss: 0.6314 - acc: 0.8935 - val_loss: 0.6617 - val_acc: 0.8855
Epoch 287/1000
65s 131ms/step - loss: 0.6251 - acc: 0.8949 - val_loss: 0.6846 - val_acc: 0.8761
Epoch 288/1000
65s 131ms/step - loss: 0.6311 - acc: 0.8923 - val_loss: 0.6675 - val_acc: 0.8826
Epoch 289/1000
65s 131ms/step - loss: 0.6282 - acc: 0.8938 - val_loss: 0.6756 - val_acc: 0.8799
Epoch 290/1000
65s 131ms/step - loss: 0.6289 - acc: 0.8938 - val_loss: 0.6717 - val_acc: 0.8831
Epoch 291/1000
65s 131ms/step - loss: 0.6288 - acc: 0.8926 - val_loss: 0.6444 - val_acc: 0.8908
Epoch 292/1000
65s 131ms/step - loss: 0.6257 - acc: 0.8943 - val_loss: 0.6434 - val_acc: 0.8882
Epoch 293/1000
65s 131ms/step - loss: 0.6269 - acc: 0.8926 - val_loss: 0.6450 - val_acc: 0.8896
Epoch 294/1000
65s 131ms/step - loss: 0.6284 - acc: 0.8929 - val_loss: 0.6520 - val_acc: 0.8855
Epoch 295/1000
65s 131ms/step - loss: 0.6234 - acc: 0.8941 - val_loss: 0.6519 - val_acc: 0.8899
Epoch 296/1000
66s 131ms/step - loss: 0.6284 - acc: 0.8935 - val_loss: 0.6571 - val_acc: 0.8827
Epoch 297/1000
65s 131ms/step - loss: 0.6265 - acc: 0.8940 - val_loss: 0.6566 - val_acc: 0.8857
Epoch 298/1000
65s 131ms/step - loss: 0.6287 - acc: 0.8936 - val_loss: 0.6573 - val_acc: 0.8841
Epoch 299/1000
65s 131ms/step - loss: 0.6237 - acc: 0.8954 - val_loss: 0.6371 - val_acc: 0.8937
Epoch 300/1000
65s 131ms/step - loss: 0.6263 - acc: 0.8943 - val_loss: 0.6537 - val_acc: 0.8884
Epoch 301/1000
lr changed to 0.010000000149011612
65s 131ms/step - loss: 0.5256 - acc: 0.9298 - val_loss: 0.5518 - val_acc: 0.9215
Epoch 302/1000
66s 131ms/step - loss: 0.4681 - acc: 0.9470 - val_loss: 0.5407 - val_acc: 0.9233
Epoch 303/1000
66s 131ms/step - loss: 0.4455 - acc: 0.9532 - val_loss: 0.5319 - val_acc: 0.9258
Epoch 304/1000
65s 131ms/step - loss: 0.4308 - acc: 0.9559 - val_loss: 0.5251 - val_acc: 0.9277
Epoch 305/1000
65s 131ms/step - loss: 0.4180 - acc: 0.9595 - val_loss: 0.5182 - val_acc: 0.9290
Epoch 306/1000
65s 131ms/step - loss: 0.4088 - acc: 0.9609 - val_loss: 0.5124 - val_acc: 0.9300
Epoch 307/1000
65s 131ms/step - loss: 0.3970 - acc: 0.9628 - val_loss: 0.5158 - val_acc: 0.9277
Epoch 308/1000
65s 131ms/step - loss: 0.3877 - acc: 0.9653 - val_loss: 0.5093 - val_acc: 0.9298
Epoch 309/1000
65s 131ms/step - loss: 0.3794 - acc: 0.9664 - val_loss: 0.5062 - val_acc: 0.9281
Epoch 310/1000
65s 131ms/step - loss: 0.3736 - acc: 0.9666 - val_loss: 0.5056 - val_acc: 0.9267
Epoch 311/1000
65s 131ms/step - loss: 0.3675 - acc: 0.9669 - val_loss: 0.4959 - val_acc: 0.9295
Epoch 312/1000
65s 131ms/step - loss: 0.3631 - acc: 0.9670 - val_loss: 0.4913 - val_acc: 0.9313
Epoch 313/1000
65s 131ms/step - loss: 0.3538 - acc: 0.9686 - val_loss: 0.4924 - val_acc: 0.9299
Epoch 314/1000
65s 131ms/step - loss: 0.3432 - acc: 0.9716 - val_loss: 0.4920 - val_acc: 0.9296
Epoch 315/1000
65s 131ms/step - loss: 0.3434 - acc: 0.9701 - val_loss: 0.4838 - val_acc: 0.9277
Epoch 316/1000
65s 131ms/step - loss: 0.3325 - acc: 0.9719 - val_loss: 0.4822 - val_acc: 0.9301
Epoch 317/1000
65s 130ms/step - loss: 0.3283 - acc: 0.9724 - val_loss: 0.4882 - val_acc: 0.9270
...
Epoch 887/1000
65s 130ms/step - loss: 0.0890 - acc: 0.9991 - val_loss: 0.3411 - val_acc: 0.9367
Epoch 888/1000
65s 130ms/step - loss: 0.0889 - acc: 0.9992 - val_loss: 0.3478 - val_acc: 0.9338
Epoch 889/1000
65s 130ms/step - loss: 0.0889 - acc: 0.9991 - val_loss: 0.3404 - val_acc: 0.9366
Epoch 890/1000
65s 130ms/step - loss: 0.0889 - acc: 0.9991 - val_loss: 0.3356 - val_acc: 0.9373
Epoch 891/1000
65s 130ms/step - loss: 0.0886 - acc: 0.9992 - val_loss: 0.3358 - val_acc: 0.9362
Epoch 892/1000
65s 130ms/step - loss: 0.0883 - acc: 0.9992 - val_loss: 0.3380 - val_acc: 0.9368
Epoch 893/1000
65s 129ms/step - loss: 0.0886 - acc: 0.9991 - val_loss: 0.3369 - val_acc: 0.9374
Epoch 894/1000
65s 130ms/step - loss: 0.0881 - acc: 0.9993 - val_loss: 0.3397 - val_acc: 0.9386
Epoch 895/1000
65s 130ms/step - loss: 0.0885 - acc: 0.9991 - val_loss: 0.3400 - val_acc: 0.9365
Epoch 896/1000
65s 130ms/step - loss: 0.0883 - acc: 0.9989 - val_loss: 0.3367 - val_acc: 0.9355
Epoch 897/1000
65s 130ms/step - loss: 0.0886 - acc: 0.9986 - val_loss: 0.3375 - val_acc: 0.9361
Epoch 898/1000
65s 130ms/step - loss: 0.0878 - acc: 0.9989 - val_loss: 0.3444 - val_acc: 0.9354
Epoch 899/1000
65s 130ms/step - loss: 0.0875 - acc: 0.9992 - val_loss: 0.3444 - val_acc: 0.9367
Epoch 900/1000
65s 130ms/step - loss: 0.0877 - acc: 0.9990 - val_loss: 0.3457 - val_acc: 0.9353
Epoch 901/1000
lr changed to 9.999999310821295e-05
66s 132ms/step - loss: 0.0873 - acc: 0.9992 - val_loss: 0.3442 - val_acc: 0.9350
Epoch 902/1000
66s 133ms/step - loss: 0.0867 - acc: 0.9994 - val_loss: 0.3425 - val_acc: 0.9361
Epoch 903/1000
66s 132ms/step - loss: 0.0874 - acc: 0.9991 - val_loss: 0.3432 - val_acc: 0.9358
Epoch 904/1000
66s 131ms/step - loss: 0.0872 - acc: 0.9992 - val_loss: 0.3431 - val_acc: 0.9360
Epoch 905/1000
66s 131ms/step - loss: 0.0871 - acc: 0.9991 - val_loss: 0.3426 - val_acc: 0.9371
Epoch 906/1000
66s 132ms/step - loss: 0.0868 - acc: 0.9991 - val_loss: 0.3422 - val_acc: 0.9371
Epoch 907/1000
66s 132ms/step - loss: 0.0869 - acc: 0.9993 - val_loss: 0.3418 - val_acc: 0.9368
Epoch 908/1000
66s 132ms/step - loss: 0.0870 - acc: 0.9991 - val_loss: 0.3415 - val_acc: 0.9366
Epoch 909/1000
66s 131ms/step - loss: 0.0863 - acc: 0.9995 - val_loss: 0.3410 - val_acc: 0.9371
Epoch 910/1000
66s 131ms/step - loss: 0.0870 - acc: 0.9991 - val_loss: 0.3405 - val_acc: 0.9363
Epoch 911/1000
66s 132ms/step - loss: 0.0864 - acc: 0.9995 - val_loss: 0.3412 - val_acc: 0.9367
Epoch 912/1000
66s 132ms/step - loss: 0.0862 - acc: 0.9995 - val_loss: 0.3403 - val_acc: 0.9370
Epoch 913/1000
78s 155ms/step - loss: 0.0862 - acc: 0.9995 - val_loss: 0.3399 - val_acc: 0.9368
Epoch 914/1000
84s 168ms/step - loss: 0.0860 - acc: 0.9997 - val_loss: 0.3402 - val_acc: 0.9373
Epoch 915/1000
65s 130ms/step - loss: 0.0865 - acc: 0.9994 - val_loss: 0.3403 - val_acc: 0.9371
Epoch 916/1000
65s 130ms/step - loss: 0.0866 - acc: 0.9993 - val_loss: 0.3399 - val_acc: 0.9369
Epoch 917/1000
65s 130ms/step - loss: 0.0868 - acc: 0.9992 - val_loss: 0.3385 - val_acc: 0.9378
Epoch 918/1000
65s 129ms/step - loss: 0.0865 - acc: 0.9993 - val_loss: 0.3374 - val_acc: 0.9376
Epoch 919/1000
65s 130ms/step - loss: 0.0861 - acc: 0.9995 - val_loss: 0.3378 - val_acc: 0.9373
Epoch 920/1000
65s 130ms/step - loss: 0.0864 - acc: 0.9993 - val_loss: 0.3373 - val_acc: 0.9380
Epoch 921/1000
65s 130ms/step - loss: 0.0863 - acc: 0.9995 - val_loss: 0.3374 - val_acc: 0.9375
Epoch 922/1000
65s 130ms/step - loss: 0.0863 - acc: 0.9993 - val_loss: 0.3371 - val_acc: 0.9376
Epoch 923/1000
65s 129ms/step - loss: 0.0861 - acc: 0.9995 - val_loss: 0.3372 - val_acc: 0.9370
Epoch 924/1000
65s 130ms/step - loss: 0.0860 - acc: 0.9994 - val_loss: 0.3374 - val_acc: 0.9369
Epoch 925/1000
65s 130ms/step - loss: 0.0860 - acc: 0.9996 - val_loss: 0.3375 - val_acc: 0.9368
Epoch 926/1000
65s 130ms/step - loss: 0.0862 - acc: 0.9994 - val_loss: 0.3378 - val_acc: 0.9373
Epoch 927/1000
65s 130ms/step - loss: 0.0864 - acc: 0.9992 - val_loss: 0.3384 - val_acc: 0.9371
Epoch 928/1000
65s 130ms/step - loss: 0.0863 - acc: 0.9993 - val_loss: 0.3386 - val_acc: 0.9367
Epoch 929/1000
65s 130ms/step - loss: 0.0861 - acc: 0.9995 - val_loss: 0.3392 - val_acc: 0.9365
Epoch 930/1000
65s 130ms/step - loss: 0.0861 - acc: 0.9995 - val_loss: 0.3386 - val_acc: 0.9368
Epoch 931/1000
65s 130ms/step - loss: 0.0861 - acc: 0.9995 - val_loss: 0.3384 - val_acc: 0.9375
Epoch 932/1000
65s 130ms/step - loss: 0.0856 - acc: 0.9996 - val_loss: 0.3388 - val_acc: 0.9376
Epoch 933/1000
65s 130ms/step - loss: 0.0859 - acc: 0.9995 - val_loss: 0.3390 - val_acc: 0.9376
Epoch 934/1000
65s 130ms/step - loss: 0.0861 - acc: 0.9995 - val_loss: 0.3389 - val_acc: 0.9375
Epoch 935/1000
65s 130ms/step - loss: 0.0859 - acc: 0.9994 - val_loss: 0.3390 - val_acc: 0.9376
Epoch 936/1000
65s 130ms/step - loss: 0.0859 - acc: 0.9994 - val_loss: 0.3397 - val_acc: 0.9373
Epoch 937/1000
65s 130ms/step - loss: 0.0858 - acc: 0.9995 - val_loss: 0.3396 - val_acc: 0.9371
Epoch 938/1000
65s 130ms/step - loss: 0.0860 - acc: 0.9994 - val_loss: 0.3390 - val_acc: 0.9379
Epoch 939/1000
65s 130ms/step - loss: 0.0859 - acc: 0.9993 - val_loss: 0.3393 - val_acc: 0.9382
Epoch 940/1000
65s 130ms/step - loss: 0.0858 - acc: 0.9994 - val_loss: 0.3391 - val_acc: 0.9379
Epoch 941/1000
65s 130ms/step - loss: 0.0858 - acc: 0.9995 - val_loss: 0.3392 - val_acc: 0.9378
Epoch 942/1000
65s 130ms/step - loss: 0.0857 - acc: 0.9995 - val_loss: 0.3396 - val_acc: 0.9382
Epoch 943/1000
65s 130ms/step - loss: 0.0858 - acc: 0.9995 - val_loss: 0.3403 - val_acc: 0.9376
Epoch 944/1000
65s 130ms/step - loss: 0.0859 - acc: 0.9993 - val_loss: 0.3405 - val_acc: 0.9374
Epoch 945/1000
65s 130ms/step - loss: 0.0854 - acc: 0.9996 - val_loss: 0.3402 - val_acc: 0.9371
Epoch 946/1000
65s 130ms/step - loss: 0.0859 - acc: 0.9994 - val_loss: 0.3398 - val_acc: 0.9376
Epoch 947/1000
65s 130ms/step - loss: 0.0857 - acc: 0.9994 - val_loss: 0.3397 - val_acc: 0.9371
Epoch 948/1000
65s 129ms/step - loss: 0.0855 - acc: 0.9996 - val_loss: 0.3396 - val_acc: 0.9375
Epoch 949/1000
65s 130ms/step - loss: 0.0853 - acc: 0.9996 - val_loss: 0.3398 - val_acc: 0.9376
Epoch 950/1000
65s 130ms/step - loss: 0.0856 - acc: 0.9996 - val_loss: 0.3397 - val_acc: 0.9378
Epoch 951/1000
65s 130ms/step - loss: 0.0856 - acc: 0.9994 - val_loss: 0.3393 - val_acc: 0.9375
Epoch 952/1000
65s 130ms/step - loss: 0.0857 - acc: 0.9996 - val_loss: 0.3397 - val_acc: 0.9374
Epoch 953/1000
65s 130ms/step - loss: 0.0854 - acc: 0.9995 - val_loss: 0.3400 - val_acc: 0.9378
Epoch 954/1000
65s 130ms/step - loss: 0.0856 - acc: 0.9995 - val_loss: 0.3401 - val_acc: 0.9368
Epoch 955/1000
65s 129ms/step - loss: 0.0855 - acc: 0.9994 - val_loss: 0.3403 - val_acc: 0.9370
Epoch 956/1000
65s 130ms/step - loss: 0.0856 - acc: 0.9994 - val_loss: 0.3405 - val_acc: 0.9371
Epoch 957/1000
65s 130ms/step - loss: 0.0857 - acc: 0.9994 - val_loss: 0.3408 - val_acc: 0.9375
Epoch 958/1000
65s 130ms/step - loss: 0.0854 - acc: 0.9994 - val_loss: 0.3405 - val_acc: 0.9374
Epoch 959/1000
65s 130ms/step - loss: 0.0856 - acc: 0.9993 - val_loss: 0.3408 - val_acc: 0.9375
Epoch 960/1000
65s 130ms/step - loss: 0.0856 - acc: 0.9995 - val_loss: 0.3407 - val_acc: 0.9369
Epoch 961/1000
65s 130ms/step - loss: 0.0853 - acc: 0.9996 - val_loss: 0.3402 - val_acc: 0.9371
Epoch 962/1000
65s 129ms/step - loss: 0.0855 - acc: 0.9994 - val_loss: 0.3399 - val_acc: 0.9371
Epoch 963/1000
65s 129ms/step - loss: 0.0852 - acc: 0.9996 - val_loss: 0.3400 - val_acc: 0.9378
Epoch 964/1000
65s 129ms/step - loss: 0.0856 - acc: 0.9994 - val_loss: 0.3399 - val_acc: 0.9375
Epoch 965/1000
65s 130ms/step - loss: 0.0854 - acc: 0.9994 - val_loss: 0.3396 - val_acc: 0.9375
Epoch 966/1000
65s 130ms/step - loss: 0.0852 - acc: 0.9995 - val_loss: 0.3391 - val_acc: 0.9368
Epoch 967/1000
65s 130ms/step - loss: 0.0854 - acc: 0.9994 - val_loss: 0.3383 - val_acc: 0.9374
Epoch 968/1000
65s 130ms/step - loss: 0.0854 - acc: 0.9994 - val_loss: 0.3384 - val_acc: 0.9375
Epoch 969/1000
65s 130ms/step - loss: 0.0851 - acc: 0.9997 - val_loss: 0.3383 - val_acc: 0.9375
Epoch 970/1000
65s 129ms/step - loss: 0.0853 - acc: 0.9995 - val_loss: 0.3388 - val_acc: 0.9365
Epoch 971/1000
65s 130ms/step - loss: 0.0851 - acc: 0.9996 - val_loss: 0.3381 - val_acc: 0.9356
Epoch 972/1000
65s 130ms/step - loss: 0.0855 - acc: 0.9994 - val_loss: 0.3387 - val_acc: 0.9362
Epoch 973/1000
65s 130ms/step - loss: 0.0857 - acc: 0.9994 - val_loss: 0.3385 - val_acc: 0.9372
Epoch 974/1000
65s 130ms/step - loss: 0.0854 - acc: 0.9995 - val_loss: 0.3385 - val_acc: 0.9373
Epoch 975/1000
65s 130ms/step - loss: 0.0851 - acc: 0.9996 - val_loss: 0.3380 - val_acc: 0.9375
Epoch 976/1000
65s 130ms/step - loss: 0.0853 - acc: 0.9994 - val_loss: 0.3380 - val_acc: 0.9379
Epoch 977/1000
65s 130ms/step - loss: 0.0854 - acc: 0.9994 - val_loss: 0.3374 - val_acc: 0.9376
Epoch 978/1000
65s 130ms/step - loss: 0.0851 - acc: 0.9996 - val_loss: 0.3376 - val_acc: 0.9379
Epoch 979/1000
65s 130ms/step - loss: 0.0853 - acc: 0.9995 - val_loss: 0.3380 - val_acc: 0.9378
Epoch 980/1000
65s 130ms/step - loss: 0.0852 - acc: 0.9995 - val_loss: 0.3376 - val_acc: 0.9381
Epoch 981/1000
65s 130ms/step - loss: 0.0854 - acc: 0.9995 - val_loss: 0.3377 - val_acc: 0.9381
Epoch 982/1000
65s 129ms/step - loss: 0.0849 - acc: 0.9996 - val_loss: 0.3373 - val_acc: 0.9384
Epoch 983/1000
65s 130ms/step - loss: 0.0852 - acc: 0.9993 - val_loss: 0.3372 - val_acc: 0.9379
Epoch 984/1000
65s 130ms/step - loss: 0.0848 - acc: 0.9997 - val_loss: 0.3368 - val_acc: 0.9381
Epoch 985/1000
65s 130ms/step - loss: 0.0852 - acc: 0.9994 - val_loss: 0.3373 - val_acc: 0.9382
Epoch 986/1000
65s 130ms/step - loss: 0.0847 - acc: 0.9997 - val_loss: 0.3372 - val_acc: 0.9380
Epoch 987/1000
65s 130ms/step - loss: 0.0848 - acc: 0.9996 - val_loss: 0.3371 - val_acc: 0.9387
Epoch 988/1000
65s 130ms/step - loss: 0.0853 - acc: 0.9993 - val_loss: 0.3377 - val_acc: 0.9380
Epoch 989/1000
65s 130ms/step - loss: 0.0851 - acc: 0.9995 - val_loss: 0.3371 - val_acc: 0.9385
Epoch 990/1000
65s 130ms/step - loss: 0.0848 - acc: 0.9996 - val_loss: 0.3379 - val_acc: 0.9384
Epoch 991/1000
65s 130ms/step - loss: 0.0849 - acc: 0.9994 - val_loss: 0.3377 - val_acc: 0.9380
Epoch 992/1000
65s 130ms/step - loss: 0.0852 - acc: 0.9993 - val_loss: 0.3370 - val_acc: 0.9381
Epoch 993/1000
65s 130ms/step - loss: 0.0851 - acc: 0.9994 - val_loss: 0.3371 - val_acc: 0.9380
Epoch 994/1000
65s 130ms/step - loss: 0.0848 - acc: 0.9996 - val_loss: 0.3371 - val_acc: 0.9381
Epoch 995/1000
65s 130ms/step - loss: 0.0849 - acc: 0.9994 - val_loss: 0.3381 - val_acc: 0.9381
Epoch 996/1000
65s 130ms/step - loss: 0.0849 - acc: 0.9996 - val_loss: 0.3379 - val_acc: 0.9379
Epoch 997/1000
65s 130ms/step - loss: 0.0853 - acc: 0.9993 - val_loss: 0.3384 - val_acc: 0.9377
Epoch 998/1000
65s 129ms/step - loss: 0.0849 - acc: 0.9995 - val_loss: 0.3393 - val_acc: 0.9369
Epoch 999/1000
65s 130ms/step - loss: 0.0849 - acc: 0.9994 - val_loss: 0.3395 - val_acc: 0.9369
Epoch 1000/1000
65s 130ms/step - loss: 0.0847 - acc: 0.9996 - val_loss: 0.3389 - val_acc: 0.9371
Train loss: 0.08910960255563259
Train accuracy: 0.9977200021743774
Test loss: 0.3388938118517399
Test accuracy: 0.9371000009775162

测试准确率到了93.71%,比之前的都高一点。

Minghang Zhao, Shisheng Zhong, Xuyun Fu, Baoping Tang, Shaojiang Dong, Michael Pecht, Deep Residual Networks with Adaptively Parametric Rectifier Linear Units for Fault Diagnosis, IEEE Transactions on Industrial Electronics, DOI: 10.1109/TIE.2020.2972458, Date of Publication: 13 February 2020

https://ieeexplore.ieee.org/document/8998530

0 人点赞