Bird
Raised Fist0
TensorFlowml~10 mins

Numpy interoperability 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 convert a TensorFlow tensor to a NumPy array.

TensorFlow
import tensorflow as tf

tensor = tf.constant([1, 2, 3])
array = tensor.[1]()
Drag options to blanks, or click blank then click option'
Aarray
Btolist
Cnumpy
Dconvert
Attempts:
3 left
💡 Hint
Common Mistakes
Using tolist() returns a Python list, not a NumPy array.
Using array() or convert() are not valid TensorFlow tensor methods.
2fill in blank
medium

Complete the code to create a TensorFlow tensor from a NumPy array.

TensorFlow
import tensorflow as tf
import numpy as np

np_array = np.array([4, 5, 6])
tensor = tf.[1](np_array)
Drag options to blanks, or click blank then click option'
Acreate_tensor
Bfrom_numpy
Ctensor_from_array
Dconvert_to_tensor
Attempts:
3 left
💡 Hint
Common Mistakes
Using from_numpy or tensor_from_array are not TensorFlow functions.
create_tensor is not a valid TensorFlow function.
3fill in blank
hard

Fix the error in the code to correctly convert a TensorFlow tensor to a NumPy array.

TensorFlow
import tensorflow as tf

tensor = tf.constant([7, 8, 9])
array = tensor.[1]
Drag options to blanks, or click blank then click option'
Anumpy()
Bnumpy
Cto_numpy()
Dtoarray()
Attempts:
3 left
💡 Hint
Common Mistakes
Using numpy without parentheses returns the method itself, not the array.
to_numpy() and toarray() are not TensorFlow tensor methods.
4fill in blank
hard

Fill both blanks to create a TensorFlow tensor from a NumPy array and then convert it back to a NumPy array.

TensorFlow
import tensorflow as tf
import numpy as np

np_array = np.array([10, 11, 12])
tensor = tf.[1](np_array)
back_to_np = tensor.[2]()
Drag options to blanks, or click blank then click option'
Aconvert_to_tensor
Bnumpy
Dfrom_numpy
Attempts:
3 left
💡 Hint
Common Mistakes
Using from_numpy instead of convert_to_tensor.
Using numpy without parentheses for conversion.
5fill in blank
hard

Fill all three blanks to create a NumPy array, convert it to a TensorFlow tensor, and then get its shape.

TensorFlow
import tensorflow as tf
import numpy as np

np_array = np.array([[1], [2], [3]])
tensor = tf.convert_to_tensor(np_array)
shape = tensor.shape
Drag options to blanks, or click blank then click option'
A1
B2
C3
D4
Attempts:
3 left
💡 Hint
Common Mistakes
Using non-integer or missing values in the array.
Not matching the number of blanks with the number of elements.

Practice

(1/5)
1. What does the method .numpy() do when called on a TensorFlow tensor?
easy
A. Converts a Numpy array to a tensor
B. Converts the tensor to a Numpy array
C. Deletes the tensor from memory
D. Prints the tensor shape

Solution

  1. Step 1: Understand the method context

    The .numpy() method is called on a TensorFlow tensor object.
  2. Step 2: Identify the method's purpose

    This method converts the tensor data into a Numpy array for easy interoperability.
  3. Final Answer:

    Converts the tensor to a Numpy array -> Option B
  4. Quick Check:

    TensorFlow tensor to Numpy array = .numpy() [OK]
Hint: TensorFlow tensor to Numpy array uses .numpy() [OK]
Common Mistakes:
  • Confusing .numpy() with conversion from Numpy to tensor
  • Thinking .numpy() deletes the tensor
  • Assuming .numpy() prints shape
2. Which of the following is the correct way to convert a Numpy array np_array to a TensorFlow tensor?
easy
A. tf.convert_to_tensor(np_array)
B. np_array.tensor()
C. tf.tensor(np_array)
D. np_array.to_tensor()

Solution

  1. Step 1: Recall TensorFlow conversion function

    TensorFlow provides tf.convert_to_tensor() to convert Numpy arrays to tensors.
  2. Step 2: Check the options for correct syntax

    Only tf.convert_to_tensor(np_array) matches the correct function and usage.
  3. Final Answer:

    tf.convert_to_tensor(np_array) -> Option A
  4. Quick Check:

    Numpy to tensor uses tf.convert_to_tensor() [OK]
Hint: Use tf.convert_to_tensor() for Numpy to tensor conversion [OK]
Common Mistakes:
  • Using non-existent methods like np_array.tensor()
  • Trying tf.tensor() which is invalid
  • Calling to_tensor() on Numpy array
3. What will be the output of this code?
import tensorflow as tf
import numpy as np
np_array = np.array([1, 2, 3])
tf_tensor = tf.convert_to_tensor(np_array)
print(tf_tensor.numpy())
medium
A. [1 2 3]
B. [[1 2 3]]
C. [1, 2, 3, 4]
D. Error: Cannot convert Numpy array

Solution

  1. Step 1: Convert Numpy array to TensorFlow tensor

    The code uses tf.convert_to_tensor(np_array) which correctly converts the Numpy array [1, 2, 3] to a tensor.
  2. Step 2: Convert tensor back to Numpy array and print

    Calling tf_tensor.numpy() returns the original array as a Numpy array, so printing it shows [1 2 3].
  3. Final Answer:

    [1 2 3] -> Option A
  4. Quick Check:

    Tensor to Numpy prints original array [OK]
Hint: tf.convert_to_tensor + .numpy() returns original array [OK]
Common Mistakes:
  • Expecting nested brackets [[1 2 3]]
  • Adding extra elements like 4
  • Thinking conversion causes error
4. Identify the error in this code snippet:
import tensorflow as tf
import numpy as np
np_array = np.array([1, 2, 3])
tf_tensor = tf.convert_to_tensor(np_array)
print(tf_tensor.numpy())
print(np_array.numpy())
medium
A. TensorFlow tensors do not have a .numpy() method
B. tf.convert_to_tensor() cannot convert Numpy arrays
C. Numpy arrays do not have a .numpy() method
D. The code is correct and runs without error

Solution

  1. Step 1: Check method calls on Numpy array

    Numpy arrays do not have a .numpy() method; this method is for TensorFlow tensors only.
  2. Step 2: Identify the error line

    The line print(np_array.numpy()) causes an AttributeError because np_array is a Numpy array.
  3. Final Answer:

    Numpy arrays do not have a .numpy() method -> Option C
  4. Quick Check:

    Numpy array .numpy() causes error [OK]
Hint: Only TensorFlow tensors have .numpy(), not Numpy arrays [OK]
Common Mistakes:
  • Assuming Numpy arrays have .numpy() method
  • Thinking tf.convert_to_tensor() fails on Numpy arrays
  • Believing TensorFlow tensors lack .numpy()
5. You have a Numpy array np_arr = np.array([[1, 2], [3, 4]]). You want to multiply it by 2 using TensorFlow operations and get the result back as a Numpy array. Which code snippet correctly does this?
hard
A. tf.convert_to_tensor(np_arr) * 2 # then call .numpy() on the result
B. np_arr * 2 # then convert to tensor with tf.convert_to_tensor()
C. np.multiply(np_arr, 2).numpy()
D. tf.multiply(tf.convert_to_tensor(np_arr), 2).numpy()

Solution

  1. Step 1: Convert Numpy array to TensorFlow tensor

    Use tf.convert_to_tensor(np_arr) to convert the Numpy array to a tensor for TensorFlow operations.
  2. Step 2: Multiply tensor by 2 and convert back to Numpy

    Use tf.multiply() to multiply the tensor by 2, then call .numpy() to get the result as a Numpy array.
  3. Final Answer:

    tf.multiply(tf.convert_to_tensor(np_arr), 2).numpy() -> Option D
  4. Quick Check:

    Convert Numpy to tensor, multiply, then .numpy() [OK]
Hint: Convert Numpy to tensor, operate, then .numpy() to return [OK]
Common Mistakes:
  • Trying to multiply Numpy array directly with tf.multiply()
  • Forgetting to convert Numpy array before TensorFlow ops
  • Calling .numpy() on Numpy array instead of tensor