class_docstr: This class implements the RecMetricComputation for Recall on session level.
  
  The constructor arguments are defined in RecMetricComputation.
  See the docstring of RecMetricComputation for more detail.
code: def __init__(
      self,
      *args: Any,
      session_metric_def: SessionMetricDef,
      **kwargs: Any,
  ) -> None:
      super().__init__(*args, **kwargs)
      self._add_state(
          NUM_TRUE_POS,
          torch.zeros(self._n_tasks, dtype=torch.double),
          add_window_state=True,
          dist_reduce_fx="sum",
          persistent=True,
      )
      self._add_state(
          NUM_FALSE_NEGATIVE,
          torch.zeros(self._n_tasks, dtype=torch.double),
          add_window_state=True,
          dist_reduce_fx="sum",
          persistent=True,
      )
      self.top_threshold: Optional[
          int
      ] = session_metric_def.top_threshold
      self.run_ranking_of_labels: bool = (
          session_metric_def.run_ranking_of_labels
      )
      self.session_var_name: Optional[
          str
      ] = session_metric_def.session_var_name
  
imports: import logging
  from typing import Any, cast, Dict, List, Optional, Set, Type, Union
  import torch
  from torch import distributed
  from torchrec.metrics.metrics_config import RecTaskInfo, SessionMetricDef
  from torchrec.metrics.metrics_namespace import MetricName, MetricNamespace, MetricPrefix
  from torchrec.metrics.rec_metric import MetricComputationReport, RecComputeMode, RecMetric, RecMetricComputation, RecMetricException
label_desc: Use image node_id 1 to create a new RecallSessionMetricComputation object from inherited base classes: RecMetricComputation with example: obj = RecallSessionMetricComputation()