A Dataset comprising records from one or more TFRecord files.

Inherits From: Dataset

Used in the notebooks

Used in the guide Used in the tutorials

This dataset loads TFRecords from the files as bytes, exactly as they were written.TFRecordDataset does not do any parsing or decoding on its own. Parsing and decoding can be done by applying transformations after the TFRecordDataset.

A minimal example is given below:

import tempfile
example_path = os.path.join(tempfile.gettempdir(), "example.tfrecords")
# Write the records to a file.
with as file_writer:
  for _ in range(4):
    x, y = np.random.random(), np.random.random()

    record_bytes = tf.train.Example(features=tf.train.Features(feature={
        "x": tf.train.Feature(float_list=tf.train.FloatList(value=[x])),
        "y": tf.train.Feature(float_list=tf.train.FloatList(value=[y])),
# Read the data back out.
def decode_fn(record_bytes):
      # Data

      # Schema
      {"x":[], dtype=tf.float32),
       "y":[], dtype=tf.float32)}
for batch in[example_path]).map(decode_fn):
  print("x = {x:.4f},  y = {y:.4f}".format(**batch))
x = 0.5488,  y = 0.7152
x = 0.6028,  y = 0.5449
x = 0.4237,  y = 0.6459
x = 0.4376,  y = 0.8918

filenames A tf.string tensor or containing one or more filenames.
compression_type (Optional.) A t