Вход и выход сверточной нейронной сети - это трехмерная матрица - PullRequest
0 голосов
/ 06 февраля 2019

Я пишу код для обнаружения и классификации объектов 3D pointcloud.Сначала я пометил все свое необработанное облако точек и теперь преобразовал его в воксели, чтобы при каждой отметке времени я получал трехмерную матрицу с 4 функциями.И я ожидаю, что мой вывод снова будет той же 3D-матрицей с метками.В терминах программирования:

Мой вход в нейронную сеть - [нет.записей, 4 (функции), 10, 20, 15].

Мой вывод из сети - [нет.записей, 1, 10, 20, 15]

и из-за одного горячего вектора моя форма теперь: [нет.записей, 10, 20, 15, 8] из-за 8 классов.

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

Я использую этот слой в качестве входного сигнала для сети:

model.add(Convolution3D(64, 3, 3, 3, activation='relu', 
                border_mode='same', name='conv1',
                subsample=(1, 1, 1), 
                input_shape=(4, 10, 20, 15)))   

Но я не могу понять, добавив слои пула и другие слои, размер которых уменьшен.Какой слой я должен использовать в качестве выходного и как сохранить одинаковый размер в центральных слоях?

...