Bird
Raised Fist0
TensorFlowml~10 mins

Tensor math operations in TensorFlow - Interactive Code Practice

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
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to create a tensor filled with zeros of shape (3, 3).

TensorFlow
import tensorflow as tf
zero_tensor = tf.[1](shape=(3, 3))
print(zero_tensor)
Drag options to blanks, or click blank then click option'
Aones
Bzeros
Crandom_uniform
Dconstant
Attempts:
3 left
💡 Hint
Common Mistakes
Using tf.ones instead of tf.zeros
Forgetting to specify the shape argument
2fill in blank
medium

Complete the code to add two tensors element-wise.

TensorFlow
import tensorflow as tf
x = tf.constant([1, 2, 3])
y = tf.constant([4, 5, 6])
sum_tensor = tf.[1](x, y)
print(sum_tensor)
Drag options to blanks, or click blank then click option'
Aadd
Bsubtract
Cmultiply
Ddivide
Attempts:
3 left
💡 Hint
Common Mistakes
Using tf.multiply instead of tf.add
Using the '+' operator instead of tf.add (which also works but here we want the function)
3fill in blank
hard

Fix the error in the code to compute the matrix multiplication of two tensors.

TensorFlow
import tensorflow as tf
A = tf.constant([[1, 2], [3, 4]])
B = tf.constant([[5, 6], [7, 8]])
result = tf.[1](A, B)
print(result)
Drag options to blanks, or click blank then click option'
Amatmul
Bmultiply
Cadd
Dsubtract
Attempts:
3 left
💡 Hint
Common Mistakes
Using tf.multiply which does element-wise multiplication
Using tf.add which adds tensors
4fill in blank
hard

Fill both blanks to create a tensor of shape (2, 3) filled with ones and then multiply it by 5.

TensorFlow
import tensorflow as tf
ones_tensor = tf.[1](shape=(2, 3))
scaled_tensor = ones_tensor [2] 5
print(scaled_tensor)
Drag options to blanks, or click blank then click option'
Aones
B*
C+
Dzeros
Attempts:
3 left
💡 Hint
Common Mistakes
Using tf.zeros instead of tf.ones
Using '+' instead of '*' for scaling
5fill in blank
hard

Fill both blanks to compute its square, and then find the mean of the squared values.

TensorFlow
import tensorflow as tf
x = tf.constant([1, 2, 3, 4])
squared = tf.math.[1](x)
mean_val = tf.reduce_[2](squared)
print(mean_val.numpy())  # Output the mean as a number
Drag options to blanks, or click blank then click option'
Asquare
Bmean
Csum
Dabs
Attempts:
3 left
💡 Hint
Common Mistakes
Using tf.math.abs instead of tf.math.square
Using tf.reduce_sum instead of tf.reduce_mean

Practice

(1/5)
1. What does the TensorFlow function tf.add(tensor1, tensor2) do?
easy
A. Adds two tensors element-wise
B. Multiplies two tensors element-wise
C. Performs matrix multiplication of two tensors
D. Subtracts the second tensor from the first

Solution

  1. Step 1: Understand the function name and purpose

    The function tf.add is designed to add values, so it performs addition.
  2. Step 2: Check the operation type

    In TensorFlow, tf.add adds two tensors element-wise, meaning it adds corresponding elements from both tensors.
  3. Final Answer:

    Adds two tensors element-wise -> Option A
  4. Quick Check:

    tf.add = element-wise addition [OK]
Hint: Add means element-wise sum, not matrix multiply [OK]
Common Mistakes:
  • Confusing tf.add with matrix multiplication
  • Thinking tf.add subtracts tensors
  • Assuming tf.add multiplies tensors
2. Which of the following is the correct syntax to perform matrix multiplication of two tensors a and b in TensorFlow?
easy
A. tf.multiply(a, b)
B. tf.add(a, b)
C. tf.matmul(a, b)
D. a.dot(b)

Solution

  1. Step 1: Identify the function for matrix multiplication

    TensorFlow uses tf.matmul specifically for matrix multiplication.
  2. Step 2: Check other options

    tf.multiply does element-wise multiplication, tf.add adds tensors, and a.dot(b) is invalid since tf.Tensor has no .dot method.
  3. Final Answer:

    tf.matmul(a, b) -> Option C
  4. Quick Check:

    Matrix multiply = tf.matmul [OK]
Hint: Matrix multiply uses tf.matmul, not tf.multiply [OK]
Common Mistakes:
  • Using tf.multiply for matrix multiplication
  • Using a.dot(b) like in NumPy
  • Confusing addition with multiplication
3. What is the output of the following TensorFlow code?
import tensorflow as tf
x = tf.constant([[1, 2], [3, 4]])
y = tf.constant([[5, 6], [7, 8]])
result = tf.add(x, y)
print(result.numpy())
medium
A. [[6 12] [10 32]]
B. [[6 8] [10 12]]
C. [[5 12] [21 32]]
D. [[1 2] [3 4]]

Solution

  1. Step 1: Understand the operation

    The code uses tf.add to add two 2x2 tensors element-wise.
  2. Step 2: Calculate element-wise addition

    Adding corresponding elements: [[1+5, 2+6], [3+7, 4+8]] = [[6, 8], [10, 12]]
  3. Final Answer:

    [[6 8] [10 12]] -> Option B
  4. Quick Check:

    Element-wise add = [[6 8] [10 12]] [OK]
Hint: Add each element pair to get the result [OK]
Common Mistakes:
  • Confusing element-wise add with matrix multiply
  • Adding rows or columns incorrectly
  • Printing tensor object instead of numpy array
4. Identify the error in this TensorFlow code snippet and choose the fix:
import tensorflow as tf
x = tf.constant([[1, 2], [3, 4]])
y = tf.constant([5, 6])
result = tf.matmul(x, y)
print(result.numpy())
medium
A. No error, code runs fine
B. Use tf.add instead of tf.matmul
C. Change x to a 1D tensor
D. Change y to a 2x1 tensor: tf.constant([[5], [6]])

Solution

  1. Step 1: Understand matrix multiplication shape rules

    x is shape (2,2), y is shape (2,). TensorFlow tf.matmul requires both inputs to be at least rank 2 tensors.
  2. Step 2: Identify the error

    Passing a 1D tensor y to tf.matmul causes a shape error because tf.matmul expects rank >= 2 tensors.
  3. Step 3: Fix the error

    Change y to a 2D tensor with shape (2,1): tf.constant([[5], [6]]) to make matrix multiplication valid.
  4. Final Answer:

    Change y to a 2x1 tensor: tf.constant([[5], [6]]) -> Option D
  5. Quick Check:

    tf.matmul requires rank 2 tensors [OK]
Hint: tf.matmul requires 2D tensors; reshape 1D vector to 2D [OK]
Common Mistakes:
  • Assuming 1D tensors cause no shape errors in matmul
  • Unnecessarily reshaping y to 2D
  • Confusing matmul with element-wise operations
5. You have two tensors:
a = tf.constant([[1, 2], [3, 4]])
b = tf.constant([[2, 0], [1, 2]])
Which TensorFlow operation will give the element-wise product of a and b?
hard
A. tf.multiply(a, b)
B. tf.matmul(a, b)
C. tf.add(a, b)
D. tf.tensordot(a, b, axes=1)

Solution

  1. Step 1: Understand element-wise product

    Element-wise product multiplies each element of a with the corresponding element of b.
  2. Step 2: Identify TensorFlow function for element-wise multiplication

    tf.multiply performs element-wise multiplication, while tf.matmul does matrix multiplication.
  3. Final Answer:

    tf.multiply(a, b) -> Option A
  4. Quick Check:

    Element-wise multiply = tf.multiply [OK]
Hint: Use tf.multiply for element-wise product, not tf.matmul [OK]
Common Mistakes:
  • Using tf.matmul instead of tf.multiply
  • Confusing addition with multiplication
  • Using tf.tensordot incorrectly