Мы пытаемся построить прямую сверточную нейронную сеть на FPGA. Конфигурация нашей сборки основана на архитектуре LeNet-5.
На первом уровне свертки проблем нет. Всего 1 вход (фото) и дает 6 выходов (6 карт характеристик) с 6 (5 * 5) фильтрами.
Кстати, мы натренировали нашу сеть и данные на spyder-tenorflow и т. Д.
Но на втором уровне свертки есть 6 входов (которые являются выходами первого максимального пула) и16 выходов с 16 (5 * 5 * 6) фильтром. Наш научный сотрудник сказал нам, что «у вас есть 6 входных и (5 * 5) фильтров с глубиной 6. Это означает, что каждый вход соответствует глубине фильтра соседних фильтров. В конце свертки вы можете суммировать всерезультаты умножения, чтобы у вас был только 1 выход для 1 фильтра. "
Но в каком процессе мы суммируем результаты умножения.
В python / spyder / tenorflow функция conv2d что-то делает, и мы получаем результаты. но в железе я должен знать, как это происходит.
Спасибо за помощь. Извините, мой английский.
Вот объяснение с изображением