class_docstr: Abstract class for defining tasks.
  
  To create your own task, please refer to the provided ABSATask and WSCTask as examples for how to do so.
  There are 4 abstract methods that must be defined: _init_tsne_layout(), _init_table_cols_layout(),
  get_val_to_label_map(), get_tsne_rows(). These definitions will all depend on how the input dataframe
  is structured.
  
  Attributes:
      mode: 'normal' if a single model is loaded, else 'compare'
      num_layers: number of transformer layers in the model
      model_ids: ["model1"] or ["model1", "model2"], used internally
      model_names: a list of the given model names to be displayed in app (correspond to above model_ids)
      collateral_paths: list of filepaths to the model collaterals (attn, hidden_states)
      df_paths: list of filepaths to model dataframe (everything else)
  
      tsne_internal_options: list of column names from the dataframe to color the tsne plot with
      tsne_displayed_options: list of names to display corresponding to the above plot options
      tsne_plot_description: string title for the tsne plot
      attn_map_options: list of options to display for attention map plot
      head_matrix_options: list of options to display for head matrix plot
      table_cols: list of columns to display for the summary table
  
      map_model_id_to_name: dictionary mapping "model1"/"model2" (used internally) to map_model_to_path
      map_model_to_full_df:dict mapping model_ids to dataframes (after _preprocess_df)
      map_model_to_df: dict mapping model_ids to dataframes (after _preprocess_df and _process_all_df)
      map_model_to_collateral: dict mapping model_ids to collateral pahts
docstr: Get layout options for the attention visualization.
docstr_tok: ["Get","layout","options","for","the","attention","visualization","."]
code: def _init_attn_layout(self) -> List[str]:
      """Get layout options for the attention visualization."""
      attn_map_options = []
      for model_name in self.model_names:
          attn_map_options += [
              model_name,
          ]
      if self.mode == "compare":
          attn_map_options += ["delta"]
      return attn_map_options
  
imports: from typing import List, Tuple, Dict, Union
  from abc import ABC, abstractmethod
  import torch
  import pandas
  import numpy
label_desc: Use image node_id 3 for calling the Task obj's underlying member method code with example usage: obj._init_attn_layout() and returns: attn_map_options