code: def extract_data(filename, num_images):
    
    print('Extracting', filename)
    with gzip.open(filename) as bytestream:
      bytestream.read(16)
      buf = bytestream.read(IMAGE_SIZE * IMAGE_SIZE * num_images)
      data = np.frombuffer(buf, dtype=np.uint8).astype(np.float32)
      data = (data - (PIXEL_DEPTH / 2.0)) / PIXEL_DEPTH
      data = data.reshape(num_images, IMAGE_SIZE, IMAGE_SIZE, 1)
      return data
docs: Extract the images into a 4D tensor [image index, y, x, channels].
    Values are rescaled from [0, 255] down to [-0.5, 0.5].