Я действительно не могу понять слово «по-разному», но я предполагаю, что оно означает «Вы получаете разные ответы каждый раз, когда запускаете этот код».
Вопрос в том, что вы ожидаете от "не так уж иного"?
То, что вы делаете, используя этот код, тренирует его снова каждый раз, когда вы запускаете.
Вы должны сначала понять кое-что, что каждый раз, когда вы звоните classifier = Sequential()
без classifier.load_weights()
, он будет инициировать веса со случайными числами.
Таким образом, каждый раз, когда вы запускаете этот код или даже каждый код в мире с разными весами, он НИКОГДА не будет предсказывать одно и то же значение (result
).
Теперь, если вы хотите, чтобы он предсказал правильный ответ после нескольких эпох, а текущая модель не может этого сделать, вам нужно увеличить размер модели.
Примерно так.
classifier = Sequential()
classifier.add(Convolution2D(32, 3, 3, input_shape = (64, 64, 3), activation = 'relu'))
classifier.add(MaxPooling2D(pool_size = (2, 2)))
classifier.add(Convolution2D(64, 3, 3, activation = 'relu'))
classifier.add(MaxPooling2D(pool_size = (2, 2)))
classifier.add(Convolution2D(128, 3, 3, activation = 'relu'))
classifier.add(MaxPooling2D(pool_size = (2, 2)))
classifier.add(Convolution2D(256, 3, 3, activation = 'relu'))
classifier.add(MaxPooling2D(pool_size = (2, 2)))
classifier.add(Flatten())
#full connection
classifier.add(Dense(128, activation='relu'))
classifier.add(Dense(1, activation='sigmoid'))