code: def test_memory_tracking_performance_impact(self) -> None:
      torch.manual_seed(0)
      model = models.resnet18()
      with with_timing("no_tracking"):
          model(torch.randn(size=(1, 3, 224, 224)))
      with with_timing("with_tracking"):
          tracker = LayerwiseMemoryTracker()
          tracker.monitor(model)
          model(torch.randn(size=(1, 3, 224, 224)))
  
file_path: vissl/tests/test_layer_memory_tracking.py
imports: import unittest
  import torch
  import torch.distributed
  import torch.multiprocessing
  import torch.nn
  import torchvision.models
  from fairscale.nn import FullyShardedDataParallel
  from vissl.utils.layer_memory_tracking import find_best_reset_points, LayerwiseMemoryTracker, ProcessGroupTracker
  from vissl.utils.test_utils import gpu_test, init_distributed_on_file, with_temp_files, with_timing
label_desc: Use image node_id 4 for calling the TestLayerMemoryTracking obj's underlying member method code with example usage: obj.test_memory_tracking_performance_impact() without return types