code: def _compute_dynamic_properties(self, builder):
      
      # Fill other things by going over the dataset.
      splits = self.splits
      for split_info in utils.tqdm(
          splits.values(), desc="Computing statistics...", unit=" split"):
        try:
          split_name = split_info.name
          # Fill DatasetFeatureStatistics.
          dataset_feature_statistics, schema = get_dataset_feature_statistics(
              builder, split_name)
  
          # Add the statistics to this split.
          split_info.statistics.CopyFrom(dataset_feature_statistics)
  
          # Set the schema at the top-level since this is independent of the
          # split.
          self.as_proto.schema.CopyFrom(schema)
  
        except tf.errors.InvalidArgumentError:
          # This means there is no such split, even though it was specified in the
          # info, the least we can do is to log this.
          logging.error(("%s's info() property specifies split %s, but it "
                         "doesn't seem to have been generated. Please ensure "
                         "that the data was downloaded for this split and re-run "
                         "download_and_prepare."), self.name, split_name)
          raise
  
      # Set splits to trigger proto update in setter
      self._set_splits(splits)
docs: Update from the DatasetBuilder.