Я пытаюсь выяснить, как я могу преобразовать модель классификации в модель извлечения 2d точек.т. е. обучаться обнаружению 4-х координат в изображении (не классифицируя его).
Было бы целесообразно удалить softmax в конце, но я не уверен, как бы я обучил модель, чтобы она соответствовала номеру Nкоординат.Я даже не уверен, как бы я структурировал помеченные данные.
Пользовательские Mobilenet Пример:
...
previous layer definitions
...
# final layer
def pool_and_classify(self):
model = self.model
model.add(AveragePooling2D(pool_size=(7,7),strides=(1,1)))
model.add(Flatten())
model.add(Dense(self.classes))
# model.add(Activation('relu')) #was 'softmax'
def create(self, size):
self.model = Sequential()
self.model.add(Conv2D(32,kernel_size=(3,3),strides=(2,2), padding='same', input_shape=size))
self.mobile_block(32,64)
self.mobile_block(128,128)
self.mobile_block(256,256)
self.separate()
self.final_conv_block()
self.pool_and_classify()
Если бы я хотел 4 координаты, последний плотный слой мог быпотенциально быть 8?