AvgPool : SAME padding


As of now SAME padding option is implemented by adding additional pad operator before conv/pool.
This is good for conv (pad_value=0), max_pool(pad_value = -inf).

Ref. https://github.com/dmlc/tvm/pull/1163 this change is one step towards fixing this issue to avoid padded values in compute. With pad operator to meet SAME padding requirement pad for avg_pool becomes {0,0} and this flag is ineffective.

How do we go about this ?

I suggest to extend padding argument for avg_pool to take 4 values (pad_top, pad_left, pad_botton, pad_right) with backward compatibility (passing {w, h} will convert to above format automatically)

welcome comments or suggestions.