Flatten Output Shape Calculator

Calculate the output shape of nn.Flatten in PyTorch. See how a multi-dimensional tensor collapses into a 2D tensor for fully-connected layers.

Built by Michael Lip

Frequently Asked Questions

What does nn.Flatten do to the shape?

nn.Flatten() collapses all dimensions except the batch dimension into one. For input [batch, C, H, W], output is [batch, C*H*W]. For example, [32, 64, 7, 7] becomes [32, 3136].

When do I need to use Flatten?

Use Flatten when transitioning from convolutional layers (which output 4D tensors) to fully-connected Linear layers (which expect 2D tensors). It is the bridge between the feature extraction and classification parts of a CNN.

What is the start_dim parameter?

nn.Flatten(start_dim=1) flattens from dimension 1 onward (default). You can change start_dim to flatten only certain dimensions. For example, Flatten(start_dim=2) on [B, C, H, W] gives [B, C, H*W].

Is this tool free?

Yes. All HeyTensor tools are free, run in your browser, and require no signup.

Does this work offline?

Once loaded, the tool runs entirely in your browser. No internet needed after the initial page load.

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].

📊 Based on real data from our Most Common PyTorch Errors research — 20 errors ranked by frequency