Bird
Raised Fist0
PyTorchml~5 mins

Linear (fully connected) layers in PyTorch - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a linear (fully connected) layer in a neural network?
A linear layer connects every input neuron to every output neuron with a weight. It performs a weighted sum of inputs plus a bias, producing outputs.
Click to reveal answer
beginner
How do you create a linear layer in PyTorch?
Use torch.nn.Linear(input_size, output_size). For example, torch.nn.Linear(10, 5) creates a layer with 10 inputs and 5 outputs.
Click to reveal answer
beginner
What are the learnable parameters in a linear layer?
The weights matrix and the bias vector. Weights connect inputs to outputs, and bias shifts the output values.
Click to reveal answer
intermediate
What is the shape of the weight matrix in a linear layer with input size 8 and output size 3?
The weight matrix shape is (3, 8). It has one row per output and one column per input.
Click to reveal answer
beginner
Why do we add a bias term in a linear layer?
Bias allows the model to shift the output up or down, helping it fit data better by not forcing the output to pass through zero.
Click to reveal answer
What does a linear layer do in a neural network?
AReduces the size of the input data by half
BComputes a weighted sum of inputs plus bias
CApplies a non-linear activation function
DNormalizes the input data
In PyTorch, which class creates a linear layer?
Atorch.nn.ReLU
Btorch.nn.Conv2d
Ctorch.nn.Linear
Dtorch.nn.BatchNorm1d
If a linear layer has input size 4 and output size 2, what is the shape of its weight matrix?
A(4, 2)
B(2, 2)
C(4, 4)
D(2, 4)
What is the role of the bias in a linear layer?
ATo shift the output values
BTo reduce overfitting
CTo normalize the output
DTo scale the inputs
Which of these is NOT true about linear layers?
AThey apply a non-linear activation by default
BThey include weights and bias parameters
CThey connect every input to every output
DThey perform a matrix multiplication
Explain how a linear (fully connected) layer transforms input data in a neural network.
Think about multiplying inputs by weights and adding bias.
You got /5 concepts.
    Describe how you would implement a linear layer in PyTorch and what parameters it needs.
    Focus on the class name and constructor arguments.
    You got /5 concepts.

      Practice

      (1/5)
      1. What does a torch.nn.Linear layer do in a neural network?
      easy
      A. It connects every input feature to every output feature with weights and optional bias.
      B. It applies a convolution operation on the input data.
      C. It reduces the input size by pooling.
      D. It normalizes the input features to have zero mean and unit variance.

      Solution

      1. Step 1: Understand the role of Linear layers

        A Linear layer multiplies input features by weights and adds bias to produce output features.
      2. Step 2: Compare with other layer types

        Convolution, pooling, and normalization are different operations, not done by Linear layers.
      3. Final Answer:

        It connects every input feature to every output feature with weights and optional bias. -> Option A
      4. Quick Check:

        Linear layer = weighted sum + bias [OK]
      Hint: Linear layers do weighted sums of inputs to outputs [OK]
      Common Mistakes:
      • Confusing Linear with convolution layers
      • Thinking Linear layers do pooling
      • Mixing normalization with Linear layers
      2. Which of the following is the correct way to create a Linear layer with 10 inputs and 5 outputs in PyTorch?
      easy
      A. torch.nn.Linear(10, 5)
      B. torch.nn.Linear(out_features=10, in_features=5)
      C. torch.nn.Linear(in_features=5, out_features=10)
      D. torch.nn.Linear(5, 10)

      Solution

      1. Step 1: Recall Linear layer constructor parameters

        The constructor is torch.nn.Linear(in_features, out_features).
      2. Step 2: Match input and output sizes

        We want 10 inputs and 5 outputs, so in_features=10 and out_features=5.
      3. Final Answer:

        torch.nn.Linear(10, 5) -> Option A
      4. Quick Check:

        Input size first, output size second [OK]
      Hint: Remember: Linear(in_features, out_features) [OK]
      Common Mistakes:
      • Swapping input and output sizes
      • Using keyword arguments in wrong order
      • Confusing number of features with batch size
      3. What is the output shape of the following PyTorch code?
      import torch
      layer = torch.nn.Linear(4, 3)
      input_tensor = torch.randn(2, 4)
      output = layer(input_tensor)
      print(output.shape)
      medium
      A. torch.Size([2, 4])
      B. torch.Size([4, 3])
      C. torch.Size([3, 4])
      D. torch.Size([2, 3])

      Solution

      1. Step 1: Understand input and layer dimensions

        The input tensor has shape (2, 4), meaning batch size 2 and 4 features per sample. The Linear layer maps 4 inputs to 3 outputs.
      2. Step 2: Calculate output shape

        The output shape is (batch size, output features) = (2, 3).
      3. Final Answer:

        torch.Size([2, 3]) -> Option D
      4. Quick Check:

        Output shape = (batch, out_features) [OK]
      Hint: Output shape = (batch size, out_features) [OK]
      Common Mistakes:
      • Confusing input and output feature dimensions
      • Mixing batch size with feature size
      • Expecting output shape to match input shape
      4. Identify the error in this PyTorch code snippet:
      import torch
      layer = torch.nn.Linear(3, 2)
      input_tensor = torch.randn(4, 4)
      output = layer(input_tensor)
      medium
      A. Input tensor has wrong batch size.
      B. Linear layer input features do not match input tensor features.
      C. Output tensor shape is incorrect.
      D. Missing activation function after Linear layer.

      Solution

      1. Step 1: Check Linear layer input features

        The Linear layer expects input features of size 3.
      2. Step 2: Check input tensor shape

        The input tensor shape is (4, 4), so each sample has 4 features, which does not match the expected 3.
      3. Final Answer:

        Linear layer input features do not match input tensor features. -> Option B
      4. Quick Check:

        Input features must match layer's in_features [OK]
      Hint: Input feature size must match Linear layer's in_features [OK]
      Common Mistakes:
      • Confusing batch size with feature size
      • Ignoring feature dimension mismatch
      • Thinking activation function is mandatory
      5. You want to build a simple neural network with one hidden Linear layer that takes 8 input features, has 4 hidden units, and outputs 2 classes. Which PyTorch code correctly defines this model?
      hard
      A. import torch.nn as nn model = nn.Sequential( nn.Linear(8, 2), nn.ReLU(), nn.Linear(4, 2) )
      B. import torch.nn as nn model = nn.Sequential( nn.Linear(4, 8), nn.ReLU(), nn.Linear(2, 4) )
      C. import torch.nn as nn model = nn.Sequential( nn.Linear(8, 4), nn.ReLU(), nn.Linear(4, 2) )
      D. import torch.nn as nn model = nn.Sequential( nn.Linear(2, 4), nn.ReLU(), nn.Linear(8, 4) )

      Solution

      1. Step 1: Define input to hidden layer

        The first Linear layer should map 8 input features to 4 hidden units: nn.Linear(8, 4).
      2. Step 2: Define hidden to output layer

        The second Linear layer should map 4 hidden units to 2 output classes: nn.Linear(4, 2).
      3. Step 3: Check activation function placement

        ReLU activation is correctly placed between the two Linear layers.
      4. Final Answer:

        Correct model definition with layers: Linear(8,4), ReLU, Linear(4,2) -> Option C
      5. Quick Check:

        Input -> hidden -> output sizes match [OK]
      Hint: Match layer sizes: input->hidden->output with activation in between [OK]
      Common Mistakes:
      • Swapping input and output sizes in layers
      • Placing activation after output layer
      • Using wrong feature sizes in layers
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard