یک سری تصاویر ساده خاکستری وجود داره
مدل قراره تصویرهایی که دایره در داخل اونها هست رو از اونهایی که دایره نیست تشخیص بده، کلا 300 تا تصویر هست که 100 تا از اونها شامل دایره هست.
(255 تا تصویر برای آموزش و 45 تصویر برای آزمایش استفاده شده)
برنامه بصورت بسیار ساده با استفاده از فریم ورک کراس در پایتون به شکل زیر نوشته شده
ولی در مدل هیچگونه یادگیری اتفاق نمی افتد. چه راه حلی برای این موضوع پیشنهاد میکنید، یا اینکه اشکال کار چی هست؟ چجوری از اول دقیقا میزان دقت دو سوم هست و این نسبت هم تا آخر ثابت هست. (دقیقا نسبت تصاویری که دایره در آنها نیست به کل تصاویر)
model = Sequential()
model.add(Conv2D(8,3,input_shape = (100, 100, 1)))
model.add(Activation('relu'))
model.add(Conv2D(8,3))
model.add(Activation('relu'))
model.add(MaxPooling2D(2,2))
model.add(Dropout(0.25))
model.add(Conv2D(16,3))
model.add(Activation('relu'))
model.add(Conv2D(16,3))
model.add(Activation('relu'))
model.add(MaxPooling2D(2,2))
model.add(Dropout(0.25))
model.add(Conv2D(32,3))
model.add(Activation('relu'))
model.add(Conv2D(32,3))
model.add(Activation('relu'))
model.add(MaxPooling2D(2,2))
model.add(Dropout(0.25))
model.add(Flatten())
model.add(Dense(100))
model.add(Activation('relu'))
model.add(Dropout(0.5))
model.add(Dense(10))
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=32, epochs=15, verbose=1, validation_data=(X_test, y_test))
Train on 255 samples, validate on 45 samples
Epoch 1/15
255/255 [==============================] - 1s - loss: 0.6908 - acc: 0.5725 - val_loss: 0.6827 - val_acc: 0.6667
Epoch 2/15
255/255 [==============================] - 1s - loss: 0.6693 - acc: 0.6471 - val_loss: 0.6364 - val_acc: 0.6667
Epoch 3/15
255/255 [==============================] - 1s - loss: 0.6404 - acc: 0.6431 - val_loss: 0.6295 - val_acc: 0.6667
Epoch 4/15
255/255 [==============================] - 1s - loss: 0.6397 - acc: 0.6667 - val_loss: 0.6132 - val_acc: 0.6667
Epoch 5/15
255/255 [==============================] - 1s - loss: 0.6211 - acc: 0.6667 - val_loss: 0.6055 - val_acc: 0.6667
Epoch 6/15
255/255 [==============================] - 1s - loss: 0.6018 - acc: 0.6627 - val_loss: 0.5924 - val_acc: 0.6667
Epoch 7/15
255/255 [==============================] - 1s - loss: 0.5834 - acc: 0.6627 - val_loss: 0.5914 - val_acc: 0.6667
Epoch 8/15
255/255 [==============================] - 1s - loss: 0.5830 - acc: 0.6706 - val_loss: 0.6068 - val_acc: 0.6667
Epoch 9/15
255/255 [==============================] - 1s - loss: 0.5882 - acc: 0.6588 - val_loss: 0.5859 - val_acc: 0.6667
Epoch 10/15
255/255 [==============================] - 1s - loss: 0.5674 - acc: 0.6588 - val_loss: 0.5905 - val_acc: 0.6667
Epoch 11/15
255/255 [==============================] - 1s - loss: 0.5802 - acc: 0.6667 - val_loss: 0.5944 - val_acc: 0.6667
Epoch 12/15
255/255 [==============================] - 1s - loss: 0.5744 - acc: 0.6588 - val_loss: 0.5804 - val_acc: 0.6667
Epoch 13/15
255/255 [==============================] - 1s - loss: 0.5453 - acc: 0.6667 - val_loss: 0.5803 - val_acc: 0.6667
Epoch 14/15
255/255 [==============================] - 0s - loss: 0.5659 - acc: 0.6588 - val_loss: 0.5923 - val_acc: 0.6667
Epoch 15/15
255/255 [==============================] - 1s - loss: 0.5479 - acc: 0.6667 - val_loss: 0.5772 - val_acc: 0.6667