Bird
Raised Fist0
TensorFlowml~15 mins

Tensor creation (constant, variable, zeros, ones) in TensorFlow - ML Experiment: Train & Evaluate

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Experiment - Tensor creation (constant, variable, zeros, ones)
Problem:You want to create different types of tensors in TensorFlow to understand how to initialize data for machine learning models.
Current Metrics:No metrics yet, this is a foundational skill for building models.
Issue:You are unsure how to create constant tensors, variable tensors, and tensors filled with zeros or ones.
Your Task
Create four tensors: a constant tensor with fixed values, a variable tensor that can change, a tensor filled with zeros, and a tensor filled with ones. Print each tensor and its type.
Use TensorFlow functions only.
Do not use any deprecated TensorFlow APIs.
Ensure tensors have shape (3, 3).
Hint 1
Hint 2
Hint 3
Hint 4
Solution
TensorFlow
import tensorflow as tf

# Create a constant tensor
constant_tensor = tf.constant([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

# Create a variable tensor
variable_tensor = tf.Variable([[1, 1, 1], [2, 2, 2], [3, 3, 3]])

# Create a tensor filled with zeros
zeros_tensor = tf.zeros((3, 3))

# Create a tensor filled with ones
ones_tensor = tf.ones((3, 3))

# Print tensors and their types
print("Constant Tensor:\n", constant_tensor)
print("Type:", type(constant_tensor))

print("\nVariable Tensor:\n", variable_tensor)
print("Type:", type(variable_tensor))

print("\nZeros Tensor:\n", zeros_tensor)
print("Type:", type(zeros_tensor))

print("\nOnes Tensor:\n", ones_tensor)
print("Type:", type(ones_tensor))
Added code to create a constant tensor with fixed values.
Added code to create a variable tensor that can be updated.
Added code to create tensors filled with zeros and ones.
Printed each tensor and its Python type to verify creation.
Results Interpretation

Before: No tensors created, unsure how to initialize data.

After: Successfully created and printed four types of tensors with shape (3, 3): constant, variable, zeros, and ones.

This experiment shows how to initialize different types of tensors in TensorFlow, which is essential for setting up data and model parameters in machine learning.
Bonus Experiment
Try creating tensors of shape (2, 4) with random values using TensorFlow.
💡 Hint
Use tf.random.uniform() or tf.random.normal() to create tensors with random values.

Practice

(1/5)
1. Which TensorFlow function creates a tensor with arbitrary fixed values that cannot be changed later?
easy
A. tf.ones
B. tf.Variable
C. tf.zeros
D. tf.constant

Solution

  1. Step 1: Understand tensor mutability

    tf.constant creates tensors with fixed values that cannot be changed after creation.
  2. Step 2: Compare with other functions

    tf.Variable creates tensors that can be changed, while tf.zeros and tf.ones create tensors filled with zeros or ones but are also constants by default.
  3. Final Answer:

    tf.constant -> Option D
  4. Quick Check:

    Fixed tensor = tf.constant [OK]
Hint: Fixed tensors use tf.constant, variables use tf.Variable [OK]
Common Mistakes:
  • Confusing tf.constant with tf.Variable
  • Thinking tf.zeros creates changeable tensors
  • Assuming tf.ones creates variables
2. Which of the following is the correct syntax to create a TensorFlow variable with initial value 5?
easy
A. tf.zeros(5)
B. tf.Variable(5)
C. tf.constant(5)
D. tf.ones(5)

Solution

  1. Step 1: Identify variable creation syntax

    tf.Variable(5) creates a variable tensor with initial value 5.
  2. Step 2: Check other options

    tf.constant(5) creates a constant, not a variable. tf.zeros(5) and tf.ones(5) create tensors of shape 5, not a single value 5.
  3. Final Answer:

    tf.Variable(5) -> Option B
  4. Quick Check:

    Variable init = tf.Variable(value) [OK]
Hint: Variables use tf.Variable(value), constants use tf.constant(value) [OK]
Common Mistakes:
  • Using tf.constant instead of tf.Variable for changeable tensors
  • Using tf.zeros or tf.ones with a single number instead of shape tuple
  • Confusing value and shape in function arguments
3. What is the output of this code?
import tensorflow as tf
x = tf.zeros((2, 3))
print(x.numpy())
medium
A. [[1 1 1] [1 1 1]]
B. [5 5 5 5 5 5]
C. [[0. 0. 0.] [0. 0. 0.]]
D. Error: shape must be a single integer

Solution

  1. Step 1: Understand tf.zeros with shape (2, 3)

    This creates a 2-row, 3-column tensor filled with zeros.
  2. Step 2: Print tensor as numpy array

    Calling .numpy() converts tensor to numpy array, showing zeros in 2x3 shape.
  3. Final Answer:

    [[0. 0. 0.] [0. 0. 0.]] -> Option C
  4. Quick Check:

    tf.zeros((2,3)) = 2x3 zeros [OK]
Hint: tf.zeros(shape) creates zeros tensor of given shape [OK]
Common Mistakes:
  • Confusing tf.zeros with tf.ones output
  • Misunderstanding shape argument as single integer
  • Expecting a flat list instead of 2D array
4. The following code throws an error. What is the mistake?
import tensorflow as tf
x = tf.ones(3, 4)
print(x)
medium
A. tf.ones expects a single shape tuple, not separate integers
B. tf.ones cannot create tensors with more than 2 dimensions
C. tf.ones requires dtype argument
D. tf.ones only creates scalar tensors

Solution

  1. Step 1: Check tf.ones argument format

    tf.ones expects a single shape argument as a tuple, e.g., (3, 4), not two separate integers.
  2. Step 2: Identify error cause

    Passing two integers separately causes a TypeError because the function signature expects one shape argument.
  3. Final Answer:

    tf.ones expects a single shape tuple, not separate integers -> Option A
  4. Quick Check:

    Shape must be tuple for tf.ones [OK]
Hint: Pass shape as tuple like (3,4) to tf.ones [OK]
Common Mistakes:
  • Passing shape as separate arguments instead of tuple
  • Assuming dtype is mandatory
  • Thinking tf.ones only creates scalars
5. You want to create a TensorFlow variable initialized with a 3x3 identity matrix (ones on diagonal, zeros elsewhere). Which code correctly does this?
hard
A. tf.Variable(tf.eye(3))
B. tf.Variable(tf.ones((3,3)))
C. tf.Variable(tf.zeros((3,3)))
D. tf.Variable(tf.constant(3))

Solution

  1. Step 1: Identify identity matrix creation

    tf.eye(3) creates a 3x3 identity matrix with ones on the diagonal and zeros elsewhere.
  2. Step 2: Wrap identity matrix in variable

    Using tf.Variable makes this tensor changeable during training or updates.
  3. Step 3: Check other options

    tf.ones and tf.zeros create all ones or zeros, not identity. tf.constant(3) creates scalar 3, not matrix.
  4. Final Answer:

    tf.Variable(tf.eye(3)) -> Option A
  5. Quick Check:

    Identity matrix = tf.eye + tf.Variable [OK]
Hint: Use tf.eye(shape) inside tf.Variable for identity matrix [OK]
Common Mistakes:
  • Using tf.ones or tf.zeros instead of tf.eye for identity
  • Passing scalar to tf.Variable instead of matrix
  • Forgetting to wrap tensor in tf.Variable for mutability