Bird
Raised Fist0
TensorFlowml~20 mins

Tensor math operations in TensorFlow - Practice Problems & Coding Challenges

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
Challenge - 5 Problems
🎖️
Tensor Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
Predict Output
intermediate
2:00remaining
What is the output of this TensorFlow code?
Consider the following code snippet using TensorFlow. What will be the printed output?
TensorFlow
import tensorflow as tf

a = tf.constant([[1, 2], [3, 4]])
b = tf.constant([[5, 6], [7, 8]])
c = tf.add(a, b)
print(c.numpy())
A
[[6 8]
 [10 12]]
B
[[4 8]
 [10 12]]
C
[[6 8]
 [11 12]]
D
[[5 7]
 [10 12]]
Attempts:
2 left
💡 Hint
tf.add adds corresponding elements of two tensors.
Model Choice
intermediate
1:30remaining
Which TensorFlow operation computes the element-wise product of two tensors?
You want to multiply two tensors element by element in TensorFlow. Which operation should you use?
Atf.matmul
Btf.multiply
Ctf.add
Dtf.reduce_sum
Attempts:
2 left
💡 Hint
Think about the operation that multiplies elements one by one.
Hyperparameter
advanced
1:30remaining
Choosing the correct axis for tf.reduce_sum
Given a tensor of shape (3, 4, 5), which axis should you reduce over to get a tensor of shape (3, 4)?
Aaxis=0
Baxis=1
Caxis=None
Daxis=2
Attempts:
2 left
💡 Hint
Reducing over an axis removes that dimension.
🔧 Debug
advanced
2:00remaining
Why does this TensorFlow code raise an error?
Examine the code below. Why does it raise an error?
TensorFlow
import tensorflow as tf

a = tf.constant([1, 2, 3])
b = tf.constant([[1, 2], [3, 4], [5, 6]])
c = tf.add(a, b)
print(c.numpy())
A'a' and 'b' have different data types
Btf.add cannot add tensors with more than one dimension
CShapes of 'a' and 'b' are incompatible for broadcasting
DTensorFlow requires explicit reshaping before addition
Attempts:
2 left
💡 Hint
Check the shapes of the tensors and how broadcasting works.
🧠 Conceptual
expert
1:30remaining
What is the effect of tf.transpose on a 3D tensor?
You have a tensor of shape (2, 3, 4). What will be the shape after applying tf.transpose with perm=[1, 0, 2]?
A(3, 2, 4)
B(4, 3, 2)
C(2, 4, 3)
D(3, 4, 2)
Attempts:
2 left
💡 Hint
tf.transpose permutes the dimensions according to the perm list.

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