VGGnet не учится во время обучения - PullRequest
0 голосов
/ 02 апреля 2019

VGGNet не обучается во время тонкой настройки.

Я обучил 16-слойную модель VGGnet на данных ЭКГ. После этого я разработал новую модель, взяв conv_base VGGnet и полностью подключенные слои. Новая модель совсем не учится. Это показывает ту же точность и эпоху потерь по эпохам. Позже я разработал полностью new_model (некоторый вариант VGGNet) с нуля, используя библиотеку Keras, но эта модель также не улучшается во время обучения. Какие могут быть возможные причины? Какую бы модель я ни тренировал (которая раньше работала безупречно), давал одинаковые 89,02% в соответствии

Model summary is Layer (type)    Output Shape         Param #     Connected to                     
input_1 (InputLayer)            (None, 1201, 1)         0            

input_2 (InputLayer)            (None, 401, 1)          0            

sequential_1 (Sequential)       (None, 2560)         8176064     input_1[0][0]                    
sequential_2 (Sequential)       (None, 25088)        49664       input_2[0][0]                    
concatenate_1 (Concatenate)     (None, 27648)        0           sequential_1[1][0], sequential_2[1][0]               
dense_1 (Dense)                 (None, 1024)         28312576    concatenate_1[0][0]              
dropout_1 (Dropout)             (None, 1024)         0           dense_1[0][0]                    
dense_2 (Dense)                 (None, 512)          524800      dropout_1[0][0]                  
dropout_2 (Dropout)             (None, 512)          0           dense_2[0][0]                    
dense_3 (Dense)                 (None, 256)          131328      dropout_2[0][0]                  
dropout_3 (Dropout)             (None, 256)          0           dense_3[0][0]                    
dense_4 (Dense)                 (None, 64)           16448       dropout_3[0][0]                  
dense_5 (Dense)                 (None, 2)            130         dense_4[0][0]

Учебный код

    from keras.optimizers import adam



    from keras.callbacks import ModelCheckpoint
    checkpointer = 
    ModelCheckpoint(filepath='modifiedVGGBasic.bestweights.hdf5', 
    verbose=1, monitor='val_acc',mode='max', \
                               save_best_only=True)
    earlystop = EarlyStopping(monitor='val_acc', min_delta=0.001, patience=50, \
                    verbose=2, mode='max', restore_best_weights=True)

    ecg_model.compile(optimizer='adam', loss='categorical_crossentropy',metrics=['acc'])

     result =ecg_model.fit([xt1r,xt2r],yt,validation_data=([xv1r,xv2r],yv), \
                  batch_size=128,class_weight=class_weights, \
                   epochs=150, verbose=2, callbacks=[earlystop, checkpointer])

Вывод двух эпох показан ниже. Он дает одинаковую точность в 89,02% для всех эпох и не учится.

Поезд на 53819 пробах, проверка на 13455 проб

Эпоха 1/150 - 916 с - потери: 1,7631 - в соотв. 0,8866 - потери по объему: 1,7705 - значения по валику: 0,8902

Epoch 00001: val_acc улучшен с -inf до 0.89015, сохраняя модель в Измененный VGGBasic.bestweights.hdf5

эпоха 2/150 - 888 с - потери: 1,7703 - в соотв. 0,8902 - потери в валу: 1,7705 - вэл_акк: 0,8902

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...