در اینجا (حتما این لینک رو بخونید در این لینک مسئله شرح داده شده است) یک برنامه بسیار بد نوشتم که با راهنمایی یک از دوستان تبدیل به برنامهی زیر شد. اما دقت مدل در طول اجرا دارای نوسانات زیادی بود و حتی در چند مورد بسیار کم شد.
چه راهکارهایی وجود داره برای اینکه نوسانات دقت مدل در مسیر رسیدن به جواب مطلوب کمتر بشه
model = Sequential()
model.add(Conv2D(filters=4,kernel_size=(5,5),strides=(3,3),input_shape = (100, 100, 1)))
model.add(Activation('relu'))
model.add(MaxPooling2D(2,1))
model.add(Dropout(0.25))
model.add(Conv2D(filters=8,kernel_size=(5,5),strides=(3,3)))
model.add(Activation('relu'))
model.add(MaxPooling2D(2,1))
model.add(Dropout(0.25))
model.add(Conv2D(filters=16,kernel_size=(3,3),strides=(1,1)))
model.add(Activation('relu'))
model.add(MaxPooling2D(2,1))
model.add(Dropout(0.25))
model.add(Flatten())
model.add(Dense(20))
model.add(Activation('relu'))
model.add(Dropout(0.5))
model.add(Dense(2, activation='softmax'))
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
model.fit(X_train, y_train, batch_size=64, epochs=500, verbose=1, validation_data=(X_test, y_test))