Я пытаюсь работать с nolearn и использовать ConcatLayer для объединения нескольких входов. Он отлично работает, если каждый вход имеет тот же тип и форму. У меня есть три разных типа входов, которые в конечном итоге приведут к одному скалярному выходному значению.Пытается использовать ConcatLayer с различными входами формы
Первый вход представляет собой изображение размеров (288,1001)
Второй вход представляет собой вектор длиной 87
В-третьих, одно значение скалярной
Я использую Conv2DLayer (ы) на первом входе. Второй вход использует Conv1DLayer или DenseLayer (не уверен, что было бы лучше, так как я не могу получить его достаточно далеко, чтобы видеть, что происходит) Я даже не уверен, как третий вход должен быть настроен, так как это только один значение, которое я хочу передать в сеть.
Код взрывает на ConcatLayer с: «Несовпадение: входные формы должны быть одинаковыми, за исключением оси конкатенации»
Было бы бесконечно благодарен, если кто-то может выписать супер простую структуру сети который может принимать эти типы входов и выводить одно скалярное значение. Я весь день гулял и просто не мог понять этого.
Подгонка функция выглядит следующим образом, если это полезно знать, как вы можете видеть, я ввод словаря с элементом для каждого типа ввода:
X = {'base_input': X_base, 'header_input': X_headers, 'time_input':X_time}
net.fit(X, y)
По какой-то причине мне не приходило в голову, что я могу переделать с помощью DenseLayer. Полагаю, я думал, что у библиотеки будет способ слияния, но при дальнейшем размышлении я понял, что такой процесс, вероятно, не может быть обобщен с разумными дефолтами. Который тогда сделал это очевидным, я должен был бы предоставить слои, необходимые для изменения. Спасибо за ваш очень полезный ответ! – Beaker