code: def test_report_detach(self):
      report = self._build_report()
      report.a = report.a.float()
      report.a.requires_grad = True
      report.scores = report.a * 2
      self.assertTrue(report.scores.requires_grad)
      self.assertTrue(report.a.requires_grad)
      self.assertFalse(report.scores.is_leaf)
      self.assertTrue(report.a.is_leaf)
      report = report.detach()
      self.assertFalse(report.scores.requires_grad)
      self.assertFalse(report.a.requires_grad)
      self.assertTrue(report.scores.is_leaf)
      self.assertTrue(report.a.is_leaf)
  
file_path: mmf/tests/common/test_report.py
imports: import unittest
  import tests.test_utils
  import torch
  from mmf.common.report import Report
  from mmf.common.sample import SampleList
label_desc: Use image node_id 3 for calling the TestReport obj's underlying member method code with example usage: obj.test_report_detach() without return types