ToolJoltTools

Pooling Output Size Calculator

Max/avg pooling output sizes — with ceil_mode, the overlapping-pool case, and global pooling explained.

Output size (px)
Window overlap (px)

Defaults are ResNet's overlapping 3×3/stride-2 max-pool (112→56). AlexNet popularized overlapping pooling (k>s) claiming slight accuracy gains; most modern nets replace pooling with strided convs entirely.

Formula

out = ⌊or⌈ (n + 2p − k) / s ⌋or⌉ + 1 — identical to conv arithmetic; pooling just has no weights
References: Krizhevsky et al. (2012), AlexNet (overlapping pooling, §3.4); PyTorch nn.MaxPool2d documentation (ceil_mode)

About Pooling Output Size Calculator

Pooling reuses convolution's size arithmetic with one extra trap: ceil_mode. With floor rounding (the default), windows that hang off the edge are dropped — sometimes silently discarding the last row of your feature map; with ceil_mode=True they are kept, occasionally producing a window that starts entirely in padding. This calculator handles both, plus overlapping pools (kernel larger than stride) of AlexNet/ResNet fame and the degenerate-but-ubiquitous global pooling case (window = input size). Useful every time torch summary shows a size you didn't predict.

How to use Pooling Output Size Calculator

  1. 1Enter your values into Pooling Output Size Calculator — sensible, domain-typical defaults are pre-filled so you see a real result immediately.
  2. 2The result recomputes live using the formula shown on the page; there is no button to press.
  3. 3Adjust any input to compare scenarios, then read the worked example to see the substituted numbers.

Why use Pooling Output Size Calculator?

  • Computes Pooling Output Size instantly in your browser — no sign-up, no upload, no server round-trip.
  • 100% free and unlimited, with the exact formula shown: out = ⌊or⌈ (n + 2p − k) / s ⌋or⌉ + 1 — identical to conv arithmetic; pooling just has no weights.
  • Runs entirely client-side, so every value you enter stays private on your device.
  • Live recompute as you type, with a worked example and authoritative references for trust.

Frequently asked questions

When does ceil_mode change the answer?+

Whenever (n + 2p − k) is not divisible by s. Example: 112 input, k=3, s=2, p=0 → floor gives 55, ceil gives 56. Caffe historically used ceil, PyTorch floors — another classic source of one-pixel porting mismatches between framework checkpoints.

What's the point of overlapping pooling (k > s)?+

AlexNet's 3×3/stride-2 pools overlap by one pixel, which the paper credited with ~0.4% top-1 improvement and mild overfitting resistance. ResNet kept the pattern for its stem. Evidence is modest; the design survives mostly by inheritance.

Why did pooling disappear from modern architectures?+

Strided convolutions learn their own downsampling and consistently match or beat fixed max/avg pooling ('All Convolutional Net', 2014). Pooling survives in two places: the stem (cheap early downsampling) and the end — global average pooling before the classifier head.

Global average pooling — what size do I enter?+

Set window = input size, stride = 1, padding = 0: output is 1×1 per channel. GAP replaced giant flatten+FC heads (NiN, then ResNet onward), eliminating millions of parameters and letting one model accept any input resolution.

Related tools

Related ML & AI tools

Sponsored