Заполнение нейронной сети несколькими значениями - PullRequest
0 голосов
/ 23 февраля 2019

В соответствии с архитектурой нейронной сети Nvidia:

self.model = Sequential()                                      #135, 135, 3
self.model.add(BatchNormalization(epsilon=0.001, input_shape=(135, 135, 3)))
self.model.add(Conv2D(24, 5, 5, border_mode='valid', activation='relu', subsample=(2, 2)))
self.model.add(Dropout(0.5))
self.model.add(Conv2D(36, 5, 5, border_mode='valid', activation='relu', subsample=(2, 2)))
self.model.add(Dropout(0.5))
self.model.add(Conv2D(48, 5, 5, border_mode='valid', activation='relu', subsample=(2, 2)))
self.model.add(Dropout(0.5))
self.model.add(Conv2D(64, 3, 3, border_mode='valid', activation='relu', subsample=(1, 1)))
self.model.add(Dropout(0.5))
self.model.add(Conv2D(64, 3, 3, border_mode='valid', activation='relu', subsample=(1, 1)))
self.model.add(Dropout(0.5))
self.model.add(Flatten())
self.model.add(Dense(1164, activation='relu'))
self.model.add(Dropout(0.5))
self.model.add(Dense(100, activation='relu'))
self.model.add(Dropout(0.5))
self.model.add(Dense(50, activation='relu'))
self.model.add(Dropout(0.5))
self.model.add(Dense(10, activation='relu'))
self.model.add(Dropout(0.5))
self.model.add(Dense(1, activation='tanh'))

adam = Adam(lr=0.0001)
self.model.compile(loss='mse',
              optimizer=adam,
              metrics=['accuracy'])

Эта модель была разработана специально для задач автопилота.

На входе, на 1 уровне сверточной сети, снимается изображениес размерами 135, 135, 3 и на входе уже выдает любой угол, на который машина должна повернуться (зависит от набора данных)

Есть ли способ добавить вместе с изображениями - например, любые показания с датчиков?(расстояния и т. д.)

Например: у меня есть изображение размером 135,135,3, а также массив показаний с датчика, например:

3 любых датчика [10,0, 25]

Ну, отметьте их, например, поверните налево.

-25 - влево, 0 - прямо, 25 - вправо

Какможно ли объединить показания датчиков и изображений, чтобы после обучения нейронная сеть учитывала показания этих датчиков?

1 Ответ

0 голосов
/ 25 февраля 2019

Конечно, это возможно, это просто дополнительные данные, но ваша обработка их может быть не идеальна для сети Conv2D.Так что, возможно, в точке, где вы делаете плотный или позже, вы объединяете две сети;пример keras приведен ниже https://datascience.stackexchange.com/questions/26103/merging-two-different-models-in-keras возможно и в тензорном потоке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...