BatchNorm Shape Calculator
Verify your PyTorch BatchNorm2d configuration. BatchNorm preserves the input shape but requires num_features to match the channel dimension. Check your setup instantly.
Built by Michael Lip
Frequently Asked Questions
Does BatchNorm change the tensor shape?
No. BatchNorm2d preserves the input shape exactly. If input is [batch, C, H, W], output is [batch, C, H, W]. However, the num_features parameter must equal C (the channel dimension), or you get a RuntimeError.
What does the num_features parameter mean?
num_features must equal the number of channels (C) in your input tensor. For BatchNorm2d after a Conv2d with out_channels=64, set num_features=64. For BatchNorm1d after a Linear with out_features=256, set num_features=256.
When should I use BatchNorm1d vs BatchNorm2d?
Use BatchNorm2d for 4D input [batch, C, H, W] (after Conv2d). Use BatchNorm1d for 2D input [batch, features] (after Linear) or 3D input [batch, C, L] (after Conv1d).
About This Tool
This tool is part of HeyTensor, a free suite of PyTorch and deep learning utilities. All calculations run entirely in your browser — no data is sent to any server. The source code is open on GitHub.
Contact
HeyTensor is built and maintained by Michael Lip. For questions or feedback, email [email protected].