Bird
Raised Fist0
TensorFlowml~10 mins

Dataset from tensors 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 TensorFlow dataset from a tensor.

TensorFlow
import tensorflow as tf

data = tf.constant([1, 2, 3, 4, 5])
dataset = tf.data.Dataset.[1](data)

for item in dataset:
    print(item.numpy())
Drag options to blanks, or click blank then click option'
Afrom_tensor_slices
Bfrom_tensor
Cfrom_list
Dfrom_array
Attempts:
3 left
💡 Hint
Common Mistakes
Using a non-existent method like from_tensor or from_list.
Confusing from_tensor_slices with other dataset creation methods.
2fill in blank
medium

Complete the code to create a dataset from two tensors representing features and labels.

TensorFlow
import tensorflow as tf

features = tf.constant([[1, 2], [3, 4], [5, 6]])
labels = tf.constant([0, 1, 0])
dataset = tf.data.Dataset.[1]((features, labels))

for feature, label in dataset:
    print(feature.numpy(), label.numpy())
Drag options to blanks, or click blank then click option'
Afrom_list
Bfrom_array
Cfrom_tensors
Dfrom_tensor_slices
Attempts:
3 left
💡 Hint
Common Mistakes
Using from_tensors which creates a dataset with one element containing all data.
Using from_list which is not a TensorFlow dataset method.
3fill in blank
hard

Fix the error in the code to correctly create a dataset from a tensor.

TensorFlow
import tensorflow as tf

numbers = tf.constant([10, 20, 30])
dataset = tf.data.Dataset.[1](numbers)

for num in dataset:
    print(num.numpy())
Drag options to blanks, or click blank then click option'
Afrom_tensor
Bfrom_array
Cfrom_tensor_slices
Dfrom_list
Attempts:
3 left
💡 Hint
Common Mistakes
Using a non-existent method like from_tensor.
Confusing from_tensor_slices with other dataset creation methods.
4fill in blank
hard

Fill both blanks to create a dataset from features and labels and iterate over it.

TensorFlow
import tensorflow as tf

features = tf.constant([[7, 8], [9, 10]])
labels = tf.constant([1, 0])
dataset = tf.data.Dataset.[1]((features, labels))

for [2], label in dataset:
    print([2].numpy(), label.numpy())
Drag options to blanks, or click blank then click option'
Afrom_tensor_slices
Bfrom_tensors
Cfeature
Dx
Attempts:
3 left
💡 Hint
Common Mistakes
Using from_tensors which creates a dataset with one element.
Using a loop variable name that does not match the print statement.
5fill in blank
hard

Fill all three blanks to create a dataset from tensors, shuffle it, and batch it.

TensorFlow
import tensorflow as tf

features = tf.constant([[1, 2], [3, 4], [5, 6], [7, 8]])
labels = tf.constant([0, 1, 0, 1])
dataset = tf.data.Dataset.[1]((features, labels))
dataset = dataset.[2](buffer_size=4)
dataset = dataset.[3](batch_size=2)

for batch_features, batch_labels in dataset:
    print(batch_features.numpy(), batch_labels.numpy())
Drag options to blanks, or click blank then click option'
Afrom_tensor_slices
Bshuffle
Cbatch
Drepeat
Attempts:
3 left
💡 Hint
Common Mistakes
Using repeat instead of shuffle or batch.
Not shuffling before batching.

Practice

(1/5)
1. What does tf.data.Dataset.from_tensor_slices() do in TensorFlow?
easy
A. It merges multiple datasets into one.
B. It converts a dataset back into tensors.
C. It creates a dataset by slicing the input tensors row-wise.
D. It shuffles the dataset randomly.

Solution

  1. Step 1: Understand the function purpose

    tf.data.Dataset.from_tensor_slices() takes tensors and creates a dataset by slicing them row-wise, so each element is one slice.
  2. Step 2: Compare with other options

    Options B, C, and D describe different dataset operations, not the slicing creation step.
  3. Final Answer:

    It creates a dataset by slicing the input tensors row-wise. -> Option C
  4. Quick Check:

    Dataset from tensor slices = row-wise slicing [OK]
Hint: Remember: from_tensor_slices splits tensors row-wise [OK]
Common Mistakes:
  • Confusing from_tensor_slices with shuffling
  • Thinking it merges datasets
  • Assuming it converts datasets back to tensors
2. Which of the following is the correct syntax to create a dataset from a tensor data_tensor using TensorFlow?
easy
A. dataset = tf.data.Dataset.from_tensor_slices(data_tensor)
B. dataset = tf.data.Dataset.create_from_tensor(data_tensor)
C. dataset = tf.data.Dataset.tensor_slices(data_tensor)
D. dataset = tf.data.from_tensor_slices(data_tensor)

Solution

  1. Step 1: Recall the correct method name

    The correct TensorFlow method to create a dataset from tensor slices is tf.data.Dataset.from_tensor_slices().
  2. Step 2: Check syntax correctness

    dataset = tf.data.Dataset.from_tensor_slices(data_tensor) matches the exact syntax. Options A, B, and D use incorrect method names or missing parts.
  3. Final Answer:

    dataset = tf.data.Dataset.from_tensor_slices(data_tensor) -> Option A
  4. Quick Check:

    Correct method name and syntax = dataset = tf.data.Dataset.from_tensor_slices(data_tensor) [OK]
Hint: Use exact method: Dataset.from_tensor_slices() [OK]
Common Mistakes:
  • Using wrong method names
  • Missing Dataset class before method
  • Confusing with other dataset creation functions
3. What will be the output of the following code?
import tensorflow as tf
x = tf.constant([[1, 2], [3, 4], [5, 6]])
dataset = tf.data.Dataset.from_tensor_slices(x)
for element in dataset:
    print(element.numpy())
medium
A. [[1 2] [3 4] [5 6]]
B. [[1], [2], [3], [4], [5], [6]]
C. [1, 2, 3, 4, 5, 6]
D. [1 2] [3 4] [5 6]

Solution

  1. Step 1: Understand from_tensor_slices behavior

    The method slices the tensor row-wise, so each element is a 1D tensor representing one row.
  2. Step 2: Analyze the loop output

    Each iteration prints one row as a numpy array, so output lines are [1 2], then [3 4], then [5 6].
  3. Final Answer:

    [1 2] [3 4] [5 6] -> Option D
  4. Quick Check:

    Row-wise slices printed line by line = [1 2] [3 4] [5 6] [OK]
Hint: from_tensor_slices outputs row slices printed separately [OK]
Common Mistakes:
  • Expecting full tensor printed at once
  • Confusing row slices with flattened output
  • Assuming column-wise slicing
4. Identify the error in this code snippet:
import tensorflow as tf
x = tf.constant([1, 2, 3])
dataset = tf.data.Dataset.from_tensor_slices(x)
for element in dataset:
    print(element.numpy())
print(dataset.batch(2))
medium
A. Calling batch() after iteration does not return a new dataset.
B. print(dataset.batch(2)) prints a dataset object, not batches.
C. from_tensor_slices() requires a list, not a tensor.
D. The loop should use dataset.batch(2) instead of dataset.

Solution

  1. Step 1: Understand batch() output

    The batch() method returns a new dataset object that groups elements, but printing it directly shows the object info, not the batch contents.
  2. Step 2: Check what print(dataset.batch(2)) does

    It prints a dataset representation, not the actual batched data. To see batches, you must iterate over it.
  3. Final Answer:

    print(dataset.batch(2)) prints a dataset object, not batches. -> Option B
  4. Quick Check:

    Printing dataset.batch() shows object info, not data [OK]
Hint: Iterate to see batches; print shows object info only [OK]
Common Mistakes:
  • Expecting print to show batch data
  • Thinking batch modifies original dataset in place
  • Confusing tensor and list input types
5. You have two tensors:
features = tf.constant([[1, 2], [3, 4], [5, 6]])
labels = tf.constant([0, 1, 0])

You want to create a dataset that pairs each feature row with its label for training. Which code correctly creates this dataset?
hard
A. dataset = tf.data.Dataset.from_tensor_slices((features, labels))
B. dataset = tf.data.Dataset.from_tensor_slices(features).zip(labels)
C. dataset = tf.data.Dataset.from_tensor_slices(features + labels)
D. dataset = tf.data.Dataset.from_tensor_slices(features).batch(labels)

Solution

  1. Step 1: Understand pairing tensors in dataset

    To pair features and labels, pass a tuple of tensors to from_tensor_slices(). This creates dataset elements as (feature_row, label) pairs.
  2. Step 2: Evaluate each option

    dataset = tf.data.Dataset.from_tensor_slices((features, labels)) correctly uses a tuple. dataset = tf.data.Dataset.from_tensor_slices(features).zip(labels) tries to zip a tensor, which is invalid. dataset = tf.data.Dataset.from_tensor_slices(features + labels) adds tensors incorrectly. dataset = tf.data.Dataset.from_tensor_slices(features).batch(labels) misuses batch() with labels.
  3. Final Answer:

    dataset = tf.data.Dataset.from_tensor_slices((features, labels)) -> Option A
  4. Quick Check:

    Tuple input pairs tensors row-wise = dataset = tf.data.Dataset.from_tensor_slices((features, labels)) [OK]
Hint: Use tuple inside from_tensor_slices to pair tensors [OK]
Common Mistakes:
  • Trying to zip a tensor directly
  • Adding tensors instead of pairing
  • Using batch() incorrectly with labels