title: output dimensions Mismatch CAFFE-SSD
body: <p>While calculating the dimensions of the <a href="https://github.com/weiliu89/caffe/tree/ssd" rel="nofollow noreferrer">SSD</a> Object Detection pipeline, we found that for the layer named "pool3", with parameters:</p>
  
  <pre><code>pooling_param {
  pool: MAX
  kernel_size: 2
  stride: 2
  }
  </code></pre>
  
  <p>the input dimensions are 75x75x256 (WxHxC)
  and according to the formula: <a href="http://cs231n.github.io/convolutional-networks/" rel="nofollow noreferrer">( Wout = ( Win − kernel + 2*padding )/stride +1)</a>, the output dimension for Width comes out to be, (75-2)/2 = 37.5</p>
  
  <p>However, the paper shows the output size at this point as <strong>38</strong>, same is the output of the following code for this network</p>
  
  <pre><code>net.blobs['pool3'].shape 
  </code></pre>
  
  <p>the answer seems simple that Caffe framework 'ceils' it but referring to <a href="https://stats.stackexchange.com/questions/223630/fractional-output-dimensions-of-sliding-windows-convolutions-pooling-etc-in">this post</a> and <a href="https://stats.stackexchange.com/questions/238304/how-does-caffe-handle-non-integer-convolution-layer-output-size">this one</a> as well, it should be 'flooring' and answer should be <strong>37</strong></p>
  
  <p>So can anyone suggest how Caffe treats these non-integral output sizes ?</p>