class_docstr: Logs attack results to Weights & Biases.
docstr: Weights & Biases doesn't have a feature to automatically aggregate
  results across timesteps and display the full table.
  
  Therefore, we have to do it manually.
code: def _log_result_table(self):
      """Weights & Biases doesn't have a feature to automatically aggregate
      results across timesteps and display the full table.
  
      Therefore, we have to do it manually.
      """
      result_table = html_table_from_rows(
          self._result_table_rows,
          header=["", "Original Input", "Perturbed Input"],
      )
      wandb.log({"results": wandb.Html(result_table)})
  
file_path: TextAttack/textattack/loggers/weights_and_biases_logger.py
imports: from textattack.shared.utils import LazyLoader, html_table_from_rows
  from .logger import Logger
label_desc: Use image node_id 4 for calling the WeightsAndBiasesLogger obj's underlying member method code with example usage: obj._log_result_table() without return types