class_docstr: Aggregated class for intent-slot related metrics.
  
  Attributes:
      top_intent_accuracy: Accuracy of the top-level intent.
      frame_accuracy: Frame accuracy.
      frame_accuracies_by_depth: Frame accuracies bucketized by depth of the gold
          tree.
      bracket_metrics: Bracket metrics for intents and slots. For details, see the
          function `compute_intent_slot_metrics()`.
      tree_metrics: Tree metrics for intents and slots. For details, see the function
          `compute_intent_slot_metrics()`.
      loss: Cross entropy loss.
      percent_invalid_trees: Percentage of invalid trees.
      percent_trees_wrong_label: Percentage of trees with incorrect IN/SL labels
      exit_epoch: return the number of epochs run in the training. Useful for benchmark
code: def print_metrics(self) -> None:
      if self.frame_accuracy:
          print(f"\n\nFrame accuracy = {self.frame_accuracy * 100:.2f}")
      if self.frame_accuracy_top_k:
          print(
              f"\n\nTop k frame accuracy = {self.frame_accuracy_top_k * 100:.2f}"
          )
      if self.bracket_metrics:
          print("\n\nBracket Metrics")
          self.bracket_metrics.print_metrics()
      if self.tree_metrics:
          print("\n\nTree Metrics")
          self.tree_metrics.print_metrics()
      if self.percent_invalid_trees is not None:
          print(
              f"\n\n% Invalid Trees = {self.percent_invalid_trees * 100:.2f}%"
          )
      if self.percent_trees_wrong_label is not None:
          print(
              f"\n\n% Trees w/ wrong IN/SL = {self.percent_trees_wrong_label * 100:.2f}%"
          )
  
imports: from collections import Counter, defaultdict
  from copy import deepcopy
  from typing import AbstractSet, Any, Callable, Counter, Dict, List, NamedTuple, Optional, Sequence, Tuple
  from pytext.data.data_structures.annotation import INVALID_TREE_INTENT
  from pytext.data.data_structures.node import Node, Span
  from .None import AllConfusions, Confusions, PerLabelConfusions, PRF1Metrics, PRF1Scores, safe_division
label_desc: Use image node_id 1 for calling the AllMetrics obj's underlying member method code with example usage: obj.print_metrics() without return types