Bird
Raised Fist0
PyTorchml~12 mins

Tensor creation (torch.tensor, zeros, ones, rand) in PyTorch - Model Pipeline Trace

Choose your learning style10 modes available
Model Pipeline - Tensor creation (torch.tensor, zeros, ones, rand)

This pipeline shows how tensors are created using different PyTorch functions. Tensors are the basic building blocks for data in PyTorch, similar to arrays or tables in everyday life.

Data Flow - 4 Stages
1Create tensor from list
N/A→torch.tensor creates a tensor from a Python list→3 rows x 3 columns
[[1, 2, 3], [4, 5, 6], [7, 8, 9]] -> torch.tensor -> tensor([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
↓
2Create tensor of zeros
N/A→torch.zeros creates a tensor filled with zeros of given shape→2 rows x 4 columns
torch.zeros(2, 4) -> tensor([[0., 0., 0., 0.], [0., 0., 0., 0.]])
↓
3Create tensor of ones
N/A→torch.ones creates a tensor filled with ones of given shape→3 rows x 2 columns
torch.ones(3, 2) -> tensor([[1., 1.], [1., 1.], [1., 1.]])
↓
4Create tensor with random values
N/A→torch.rand creates a tensor with random values between 0 and 1→2 rows x 3 columns
torch.rand(2, 3) -> tensor([[0.23, 0.67, 0.12], [0.89, 0.45, 0.33]])
Training Trace - Epoch by Epoch
No training loss to show because this pipeline only creates tensors.
EpochLoss ↓Accuracy ↑Observation
1N/AN/ANo training occurs because this is tensor creation only.
Prediction Trace - 4 Layers
Layer 1: torch.tensor
Layer 2: torch.zeros
Layer 3: torch.ones
Layer 4: torch.rand
Model Quiz - 3 Questions
Test your understanding
What does torch.zeros(3, 2) produce?
AA tensor with 2 rows and 3 columns filled with zeros
BA tensor with 3 rows and 2 columns filled with ones
CA tensor with 3 rows and 2 columns filled with zeros
DA tensor with random values between 0 and 1
Key Insight
Tensor creation functions in PyTorch provide flexible ways to start working with data. Knowing how to create tensors filled with zeros, ones, or random values is essential for initializing models and data structures before training.

Practice

(1/5)
1. Which PyTorch function creates a tensor filled with zeros of a specified shape?
easy
A. torch.zeros()
B. torch.ones()
C. torch.rand()
D. torch.tensor()

Solution

  1. Step 1: Understand the purpose of each function

    torch.zeros() creates a tensor filled with zeros, torch.ones() creates ones, torch.rand() creates random values, and torch.tensor() converts data to tensor.
  2. Step 2: Match function to requirement

    Since the question asks for a tensor filled with zeros, torch.zeros() is the correct choice.
  3. Final Answer:

    torch.zeros() -> Option A
  4. Quick Check:

    Zeros tensor = torch.zeros() [OK]
Hint: Zeros tensor? Use torch.zeros() [OK]
Common Mistakes:
  • Confusing torch.ones() with zeros
  • Using torch.tensor() without data
  • Thinking torch.rand() creates zeros
2. Which of the following is the correct syntax to create a 2x3 tensor of ones in PyTorch?
easy
A. torch.ones{2, 3}
B. torch.ones([2 3])
C. torch.ones(2, 3)
D. torch.ones((2 3))

Solution

  1. Step 1: Check valid argument types for torch.ones()

    PyTorch accepts shape as separate ints or tuple/list. torch.ones(2, 3) uses separate ints (valid). torch.ones([2 3]) missing comma (syntax error). torch.ones{2, 3} invalid braces. torch.ones((2 3)) missing comma (syntax error).
  2. Step 2: Identify syntax errors

    Only torch.ones(2, 3) is valid Python syntax.
  3. Final Answer:

    torch.ones(2, 3) -> Option C
  4. Quick Check:

    Separate args syntax = torch.ones(2, 3) [OK]
Hint: Separate dimensions with commas: torch.ones(2, 3) [OK]
Common Mistakes:
  • Using curly braces instead of parentheses
  • Confusing list and tuple syntax
  • Missing commas between shape dimensions
3. What is the output shape and type of the tensor created by torch.rand(3, 2)?
medium
A. A tensor of shape (3, 2) filled with zeros
B. A tensor of shape (2, 3) with random integer values
C. A tensor of shape (3, 2) filled with ones
D. A tensor of shape (3, 2) with random float values between 0 and 1

Solution

  1. Step 1: Understand torch.rand() behavior

    torch.rand(3, 2) creates a tensor with shape (3, 2) filled with random floats between 0 and 1.
  2. Step 2: Compare options to expected output

    A tensor of shape (3, 2) with random float values between 0 and 1 matches the shape and value type. Options A, B, and D are incorrect because they describe wrong shapes or values.
  3. Final Answer:

    A tensor of shape (3, 2) with random float values between 0 and 1 -> Option D
  4. Quick Check:

    torch.rand() = random floats [OK]
Hint: torch.rand(shape) = random floats in [0,1) [OK]
Common Mistakes:
  • Thinking torch.rand() creates integers
  • Mixing up shape dimensions
  • Assuming torch.rand() creates zeros or ones
4. Identify the error in this code snippet:
import torch
t = torch.zeros(2 3)
medium
A. Missing comma between dimensions in torch.zeros()
B. torch.zeros() cannot create 2D tensors
C. torch.zeros() requires a list, not separate arguments
D. torch.zeros() needs dtype argument

Solution

  1. Step 1: Check syntax of torch.zeros() arguments

    The code uses torch.zeros(2 3) missing a comma between 2 and 3, which is a syntax error.
  2. Step 2: Validate other options

    torch.zeros() can create 2D tensors and accepts multiple int arguments or a tuple/list. dtype is optional.
  3. Final Answer:

    Missing comma between dimensions in torch.zeros() -> Option A
  4. Quick Check:

    Comma separates dimensions [OK]
Hint: Separate dimensions with commas: torch.zeros(2, 3) [OK]
Common Mistakes:
  • Omitting commas between shape dimensions
  • Thinking dtype is mandatory
  • Believing torch.zeros() can't create 2D tensors
5. You want to create a tensor from a Python list [[1,2], [3,4]] and then create a tensor of the same shape filled with ones. Which code correctly does this?
hard
A.
import torch
list_data = [[1,2], [3,4]]
t1 = torch.ones(list_data)
t2 = torch.tensor(t1.shape)
B.
import torch
list_data = [[1,2], [3,4]]
t1 = torch.tensor(list_data)
t2 = torch.ones(t1.shape)
C.
import torch
list_data = [[1,2], [3,4]]
t1 = torch.tensor(list_data)
t2 = torch.ones(len(t1))
D.
import torch
list_data = [[1,2], [3,4]]
t1 = torch.ones(len(list_data))
t2 = torch.tensor(t1.shape)

Solution

  1. Step 1: Create tensor from list

    torch.tensor(list_data) correctly converts the nested Python list to a (2,2) tensor.
  2. Step 2: Create tensor of ones with same shape

    torch.ones(t1.shape) creates a tensor filled with ones matching the shape of t1 ((2,2)).
  3. Step 3: Check other options for correctness

    import torch
    list_data = [[1,2], [3,4]]
    t1 = torch.ones(list_data)
    t2 = torch.tensor(t1.shape)
    misuses torch.ones() with nested list (ValueError),
    import torch
    list_data = [[1,2], [3,4]]
    t1 = torch.tensor(list_data)
    t2 = torch.ones(len(t1))
    uses length=2 instead of shape (creates (2,) not (2,2)),
    import torch
    list_data = [[1,2], [3,4]]
    t1 = torch.ones(len(list_data))
    t2 = torch.tensor(t1.shape)
    creates t1 wrong (ones not data) and t2 not ones tensor.
  4. Final Answer:

    Correctly create tensor and ones tensor with matching shape -> Option B
  5. Quick Check:

    Use tensor.shape for shape in torch.ones() [OK]
Hint: Use tensor.shape to match shape in torch.ones() [OK]
Common Mistakes:
  • Passing nested list directly to torch.ones()
  • Using len() instead of shape for multi-dim tensors
  • Confusing torch.tensor() and torch.ones() usage
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