2017-02-13 31 views
3

Иногда может случиться так, что маску фильтра слоя conv или pool не вписывается во входной том. Например, у меня есть 5x5 входа и маска с 2x2 фильтра и не использовать какое-либо заполнение, в то время как шаг имеет значение d 2 ..Являются ли размеры слоев округленными или округленными, если они не являются целыми числами?

Используя формулу:

H = 1 + (W - F + 2*P)/S 

Когда W представляет собой объем ввода , F - размер фильтра, P - заполнение, S - шаг - все одномерные.

1 + (5 - 2)/2 = 3/2 = 2,5 

Какими будут используемые размеры выходного сигнала? Будет ли он покрыт «2» или «3»?

+2

Почему вы не запускаете сеть и не проверяете журнал? вы увидите там форму вывода каждого созданного слоя ... – Shai

+0

Извините, я не имею опыта в этой теме - я раньше не знал о журнале. Я проверю это спасибо – Kev1n91

+1

@ Kev1n91 Когда вы найдете ответ, вы можете (и должны!) Отправить ответ здесь сами. Другие люди тоже могут быть заинтересованы в этом. –

ответ

2

Он получит пол до 2, рассматривая внедрение caffe. Линия 18 из $CAFFE_ROOT/src/caffe/layers/conv_layer.cpp

const int output_dim = (input_dim + 2 * pad_data[i] - kernel_extent) 
     /stride_data[i] + 1; 

В принципе, рассмотрят фильтр размера SxS который раздвижной на входе. По мере того, как он перемещается в конце, он может столкнуться с входом, равным его размеру или меньше его размера. Если это меньше, чем S, то эта часть игнорируется. Это то, как cafee реализует ее.

 Смежные вопросы

  • Нет связанных вопросов^_^