def annotate_dataset_feature_statistics_plots()

in model_card_toolkit/utils/graphics.py [0:0]


def annotate_dataset_feature_statistics_plots(
    model_card: model_card_module.ModelCard,
    data_stats: Sequence[statistics_pb2.DatasetFeatureStatisticsList]) -> None:
  """Annotates visualizations for every dataset and feature.

  This function adds a new Dataset object at model_card.model_parameters.data
  for every dataset in data_stats. For every feature, histograms are created
  and encoded as base64 text strings. They can be found in the Dataset.graphics
  field.

  Args:
    model_card: The model card object.
    data_stats: A list of DatasetFeatureStatisticsList related to the dataset.
  """
  colors = (
      _COLOR_PALETTE['material_teal_700'],
      _COLOR_PALETTE['material_indigo_400'])
  for stats, color in zip(data_stats, colors):
    if not stats:
      continue
    for dataset in stats.datasets:
      graphs = []
      for feature in dataset.features:
        graph = _extract_graph_data_from_dataset_feature_statistics(
            feature, color)
        graph = _draw_histogram(graph)
        if graph is not None:
          graphs.append(
              model_card_module.Graphic(
                  name=graph.name, image=graph.base64str))
      model_card.model_parameters.data.append(
          model_card_module.Dataset(
              name=dataset.name,
              graphics=model_card_module.GraphicsCollection(collection=graphs)))