Я новичок в keras, и я работаю над ограничением регрессии для классификации отдельных объектов. Мои входные изображения имеют размер 1080 X 1920. И ограничивающая рамка имеет тот же порядок (например: x = 910, y = 210; высота = 120, ширина = 90). У меня есть только один интересующий объект, поэтому я не использую классификатор. Моя сеть имеет плотный вывод с предсказаниями ограничивающего прямоугольника. Но когда я запускаю свой код, вывод конечного слоя будет отрицательным, что не имеет никакого смысла.
Я попытался напечатать вывод плотного слоя и после поиска так много нашел способ. Но, как я уже сказал выше, результат будет отрицательным.
Моя модель как показано ниже
input_shape=img_data[0].shape
model = Sequential()
model.add(Convolution2D(32, 3,3,border_mode='same',input_shape=input_shape))
model.add(Activation('relu'))
model.add(Convolution2D(32, 3, 3))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.5))
model.add(Convolution2D(64, 3, 3))
model.add(Activation('relu'))
#model.add(Convolution2D(64, 3, 3))
#model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.5))
model.add(Flatten())
model.add(Dense(4,name = 'my_dense'))
model.compile(loss= "mean_squared_error",optimizer="Adam",metrics=[])
hist = model.fit(X_train, y_train, batch_size=1, nb_epoch=num_epoch, verbose=1, validation_data=(X_test, y_test))
m2 = Model(inputs = model.input, outputs = model.get_layer('my_dense').output)
op = m2.predict(X_test)
Ожидаемым выходным значением являются параметры ограничивающего прямоугольника, такие как x, y, рост и вес. Но я, получая отрицательные значения для "оп"
Любая помощь очень ценится.