code: def example_reading_spec(self):
      
  
      # Subclasses can override and/or extend.
  
      processed_reward_type = tf.float32
      if self.is_processed_rewards_discrete:
        processed_reward_type = tf.int64
  
      data_fields = {
          TIMESTEP_FIELD: tf.FixedLenFeature((1,), tf.int64),
          RAW_REWARD_FIELD: tf.FixedLenFeature((1,), tf.float32),
          PROCESSED_REWARD_FIELD: tf.FixedLenFeature((1,), processed_reward_type),
          DONE_FIELD: tf.FixedLenFeature((1,), tf.int64),  # we wrote this as int.
  
          # Special treatment because we need to determine type and shape, also
          # enables classes to override.
          OBSERVATION_FIELD: self.observation_spec,
          ACTION_FIELD: self.action_spec,
      }
  
      data_items_to_decoders = {
          field: tf.contrib.slim.tfexample_decoder.Tensor(field)
          for field in data_fields
      }
  
      return data_fields, data_items_to_decoders
docs: Data fields to store on disk and their decoders.