Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Learn Challenge: Initializing Model Weights and Biases | PyTorch Introduction
PyTorch Essentials

book
Challenge: Initializing Model Weights and Biases

Task

Swipe to start coding

You are tasked with creating random tensors to initialize weights and biases for a simple neural network.

  1. Ensure reproducibility by setting a manual seed to an arbitrary number before generating the tensors.
  2. Create a 3x4 tensor filled with random values from a uniform distribution between 0 and 1 (weights for the first layer).
  3. Create a 1x4 tensor filled with zeros (biases for the first layer).
  4. Create a 4x2 tensor with random integers between -5 and 5 (weights for the second layer).

Solution

import torch

# Set the manual seed
torch.manual_seed(42)
# Create a 3x4 tensor with random values between 0 and 1
weights_layer1 = torch.rand(3, 4)
# Create a 1x4 tensor filled with zeros
biases_layer1 = torch.zeros(1, 4)
# Create a 4x2 tensor with random integers between -5 and 5
weights_layer2 = torch.randint(-5, 5, (4, 2))
# Print the tensors
print("Weights for Layer 1:\n", weights_layer1)
print("Biases for Layer 1:\n", biases_layer1)
print("Weights for Layer 2:\n", weights_layer2)

Everything was clear?

How can we improve it?

Thanks for your feedback!

Section 1. Chapter 6
import torch

# Set the manual seed
___
# Create a 3x4 tensor with random values between 0 and 1
weights_layer1 = ___
# Create a 1x4 tensor filled with zeros
biases_layer1 = ___
# Create a 4x2 tensor with random integers between -5 and 5
weights_layer2 = ____
# Print the tensors
print("Weights for layer 1:\n", weights_layer1)
print("Biases for layer 1:\n", biases_layer1)
print("Weights for layer 2:\n", weights_layer2)
toggle bottom row
some-alt