code: def test_composable_checkpoint(self) -> None:
      with tempfile.TemporaryDirectory() as param_path, tempfile.TemporaryDirectory() as opt_path:
          self._run_multi_process_test(
              callable=self._run,
              param_path=param_path,
              opt_path=opt_path,
          )
  
imports: import tempfile
  import unittest
  import torch
  from torch import nn
  from torch.distributed._composable import fully_shard
  from torch.distributed._shard.sharded_tensor import ShardedTensor
  from torch.distributed.checkpoint import FileSystemReader, FileSystemWriter, load_state_dict, save_state_dict
  from torch.distributed.fsdp.fully_sharded_data_parallel import FullyShardedDataParallel
  from torch.distributed.fsdp.wrap import ModuleWrapPolicy
  from torch.distributed.optim import _apply_optimizer_in_backward
  from torchrec.distributed.shard import shard
  from torchrec.distributed.sharding_plan import row_wise
  from torchrec.distributed.test_utils.multi_process import MultiProcessContext, MultiProcessTestBase
  from torchrec.distributed.test_utils.test_model import ModelInput, TestSparseNN
  from torchrec.modules.embedding_configs import EmbeddingBagConfig
  from torchrec.optim.keyed import CombinedOptimizer, KeyedOptimizerWrapper
  from torchrec.optim.optimizers import in_backward_optimizer_filter
  from torchrec.optim.rowwise_adagrad import RowWiseAdagrad
  from torchrec.optim.warmup import WarmupOptimizer, WarmupPolicy, WarmupStage
  from torchrec.test_utils import skip_if_asan
label_desc: Use image node_id 2 for calling the FullyShardTest obj's underlying member method code with example usage: obj.test_composable_checkpoint() without return types