Bird
Raised Fist0
PyTorchml~3 mins

Why Tensor creation (torch.tensor, zeros, ones, rand) in PyTorch? - Purpose & Use Cases

Choose your learning style10 modes available
The Big Idea

What if you could instantly create perfect number grids for AI without typing every number yourself?

The Scenario

Imagine you want to organize numbers in neat boxes to do math, like adding or multiplying many numbers at once. Doing this by writing each number one by one on paper is slow and confusing.

The Problem

Writing and managing many numbers manually is tiring and easy to mess up. It takes a lot of time to keep track of all values, and mistakes can happen when copying or calculating by hand.

The Solution

Using tensor creation functions like torch.tensor, zeros, ones, and rand lets you quickly build these number boxes automatically. This saves time and avoids errors, making math with many numbers simple and fast.

Before vs After
✗ Before
data = [[1,2,3],[4,5,6],[7,8,9]]  # manually typed nested lists
✓ After
import torch
data = torch.tensor([[1,2,3],[4,5,6],[7,8,9]])
What It Enables

It opens the door to fast and easy math on big groups of numbers, powering smart machines and AI.

Real Life Example

When teaching a computer to recognize pictures, tensors hold pixel colors so the computer can quickly learn patterns.

Key Takeaways

Manual number handling is slow and error-prone.

Tensor creation functions build number boxes fast and safely.

This is the foundation for all machine learning calculations.

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