val_loss отличается в обучении и оценке, val_accuracy ниже, чем train_accuracy - PullRequest
0 голосов
/ 09 апреля 2020

Я пытаюсь обучить простую CNN для классификации TC , У меня есть только данные 3K, поэтому я пытаюсь построить простую сеть и использовал способы преодоления перегрузки. Я использую dropout, kernal_regularizer и BatchNormalization, но результат еще хуже, в чем проблема? Эта модель все еще большая, или я использую способы по ошибке. Кто-нибудь может показать мне правильный путь? потеря и val_loss точность и val_accuracy

   kl2=0.1
   bl2=0.1
   model.add(layers.Conv3D(32,(3,7,7),(1,3,3),data_format='channels_last',kernel_regularizer=l2(kl2),bias_regularizer=l2(bl2),input_shape=(8,226,226,3)))
   model.add(layers.BatchNormalization())
   model.add(Activation('relu'))
   model.add(layers.Conv3D(64,(3,5,5),(1,3,3),kernel_regularizer=l2(kl2),bias_regularizer=l2(bl2)))  
   model.add(layers.BatchNormalization())
   model.add(Activation('relu'))
   model.add(layers.Conv3D(128,(2,3,3),(2,3,3),kernel_regularizer=l2(kl2),bias_regularizer=l2(bl2)))
   model.add(layers.BatchNormalization())
   model.add(Activation('relu'))
   model.add(layers.MaxPooling3D(pool_size=(2, 2, 2)))  
   model.add(Dropout(0.5))
   model.add(Flatten())        
   model.add(Dense(512,kernel_regularizer=l2(kl2),bias_regularizer=l2(bl2)))  
   model.add(layers.BatchNormalization())
   model.add(Activation('relu'))
   model.add(Dropout(0.5))
   model.add(Dense(128,kernel_regularizer=l2(kl2),bias_regularizer=l2(bl2)))
   model.add(layers.BatchNormalization())
   model.add(Activation('relu'))
   model.add(Dropout(0.5))
   model.add(Dense(3,kernel_regularizer=l2(kl2),bias_regularizer=l2(bl2)))
   model.add(layers.BatchNormalization())
   model.add(Activation('softmax'))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...