Я думаю, что буду задавать здесь несколько вопросов, мне бы хотелось получить любой комментарий, потому что я новичок в Caffe.
В моей сети входные изображения имеют размер 1x41x41
Поскольку я использую размер пакета 64, я думаю, что размер данных будет 64x1x41x41
(пожалуйста, поправьте меня, если это неправильно)
После некоторых сверточных слоев (которые не меняют размер данных) я хотел бы умножить полученные данные на предопределенные капли размером 1x41x41
. Кажется удобным использовать EltwiseLayer
для умножения. Итак, чтобы определить второй нижний слой Eltwise
, мне нужны другие входные данные для BLOB-объектов. (Пожалуйста, сообщите, если это можно сделать другим способом)
Первый вопрос: пакетное обучение меня смущает. Если я хочу умножить пакет изображений с одним пятном в EltwiseLayer
, должны ли нижние размеры быть одинаковыми? Другими словами, должен ли я использовать repmat
(matlab) для клонирования 64 больших двоичных объектов, чтобы они имели размер 64x1x41x41
, или я могу просто подключить один двоичный объект размером 1x1x41x41
?
Второй вопрос: я хочу умножить данные на 100 разных блоков, а затем взять среднее значение 100 результатов. Нужно ли мне определять 100 EltwiseLayers
для выполнения этой работы? Или я могу собрать большие двоичные объекты в одиночные данные размером 1x100x41x41
(или 64x100x41x41
) и клонировать данные, которые будут умножены 100 раз? И если да, то как я могу это сделать? Пример был бы очень полезен. (Я где-то видел TileLayer
, но информация разлетелась по всей галактике.)
Заранее спасибо.