code: def test_intra_distinct(self):
      # 4/5 are unique
      m1 = IntraDistinctMetric.compute("this is some test test", 1)
      self.assertAlmostEqual(m1, 4 / 5)
      m2 = IntraDistinctMetric.compute("this test test test test", 1)
      self.assertAlmostEqual(m2, 2 / 5)
      self.assertAlmostEqual(m1 + m2, 3 / 5)
  
imports: import unittest
  from typing import Dict
  import torch
  import random
  from parlai.core.metrics import AverageMetric, SumMetric, FixedMetric, Metrics, GlobalAverageMetric, MacroAverageMetric, TimerMetric, aggregate_unnamed_reports, aggregate_named_reports, InterDistinctMetric, IntraDistinctMetric, FairseqBleuMetric
  from parlai.core.torch_classifier_agent import ConfusionMatrixMetric, WeightedF1Metric, AUCMetrics
  from parlai.core.torch_generator_agent import PPLMetric
  import parlai.utils.testing
label_desc: Use image node_id 3 for calling the TestDistinct obj's underlying member method code with example usage: obj.test_intra_distinct() without return types