code: def _process_celeba_config_file(self, file_path):
      
      with tf.io.gfile.GFile(file_path) as f:
        data_raw = f.read()
      lines = data_raw.split("\n")
  
      keys = lines[1].strip().split()
      values = {}
      # Go over each line (skip the last one, as it is empty).
      for line in lines[2:-1]:
        row_values = line.strip().split()
        # Each row start with the 'file_name' and then space-separated values.
        values[row_values[0]] = [int(v) for v in row_values[1:]]
      return keys, values
docs: Unpack the celeba config file.
  
      The file starts with the number of lines, and a header.
      Afterwards, there is a configuration for each file: one per line.
  
      Args:
        file_path: Path to the file with the configuration.
  
      Returns:
        keys: names of the attributes
        values: map from the file name to the list of attribute values for
                this file.