code: def test_early_stop_state_dict(self) -> None:
      losses = [0.4, 0.3, 0.28, 0.25, 0.26, 0.25]
      es1 = EarlyStopChecker("min", 3)
      es2 = EarlyStopChecker("min", 3)
  
      # Only update wait count and best_value on es1
      for loss in losses:
          should_stop = es1.check(torch.tensor(loss))
          self.assertFalse(should_stop)
  
      # Verify contents of state_dict
      state_dict = es1.state_dict()
      self.assertEqual(state_dict["patience_count"], 2)
      self.assertEqual(state_dict["best_value"].item(), 0.25)
  
      # es2 should behave like es1 after loading state
      es2.load_state_dict(state_dict)
  
      should_stop = es1.check(torch.tensor(0.25))
      self.assertTrue(should_stop)
      should_stop = es2.check(torch.tensor(0.25))
      self.assertTrue(should_stop)
  
imports: import unittest
  import torch
  from torchtnt.utils.early_stop_checker import EarlyStopChecker
label_desc: Use image node_id 14 for calling the EarlyStopCheckerTest obj's underlying member method code with example usage: obj.test_early_stop_state_dict() without return types