code: def _aggregate(
      states: Dict[str, torch.Tensor],
      new_states: Dict[str, torch.Tensor],
  ) -> None:
      for k, v in new_states.items():
          if k not in states:
              states[k] = v.float().detach().clone()
          else:
              states[k] = torch.cat([states[k], v.float()])
  
imports: import unittest
  from typing import Dict, Iterable, List, Optional, Type, Union
  import torch
  from torch import no_grad
  from torchrec.metrics.auprc import _compute_auprc_helper, AUPRCMetric
  from torchrec.metrics.metrics_config import DefaultTaskInfo
  from torchrec.metrics.rec_metric import RecComputeMode, RecMetric, RecMetricException, RecTaskInfo
  from torchrec.metrics.test_utils import metric_test_helper, rec_metric_value_test_launcher, TestMetric
label_desc: Use image node_id 2 for calling the TestAUPRCMetric obj's underlying member method code with example usage: obj._aggregate(states, new_states) without return types