code: def temp_files():
      num = 15  # 1 DDP and 4 FSDP cases each needs 3 files.
      files = [tempfile.mkstemp()[1] for _ in range(num)]
  
      yield tuple(files)
  
      # temp files could have been removed, so we use rmf.
      for name in files:
          rmf(name)
  
imports: from enum import Enum
  from itertools import product
  import tempfile
  import pytest
  import torch
  import torch.multiprocessing
  import torch.nn
  from torch.nn.parallel import DistributedDataParallel
  import torch.optim
  from fairscale.fair_dev.testing.testing import dist_init, objects_are_equal, rmf, skip_if_single_gpu, teardown
  from fairscale.nn.data_parallel import FullyShardedDataParallel
label_desc: Use image node_id 5 for calling a global function with example usage: temp_files() without return types