class_docstr: Model used to check different inputs and outputs
class_docstr_tok: ["Model","used","to","check","different","inputs","and","outputs"]
code: def __init__(self, multiout=False, checkpoint_config=0):
      super().__init__()
      torch.manual_seed(0)  # make sure weights are deterministic.
  
      self.multiout = multiout
  
      self.conv1 = nn.Sequential(
          nn.Conv2d(1, 5, 3), nn.ReLU(), nn.Conv2d(5, 5, 3)
      )
      self.conv2 = nn.Sequential(
          nn.Conv2d(3, 5, 3), nn.ReLU(), nn.Conv2d(5, 5, 3)
      )
  
      assert 0 <= checkpoint_config <= 3
      if checkpoint_config & 1:
          self.conv1 = checkpoint_wrapper(self.conv1)
      if checkpoint_config & (1 << 1):
          self.conv2 = checkpoint_wrapper(self.conv2)
  
imports: import pytest
  import torch
  import torch.nn
  from torch.utils.checkpoint import checkpoint
  from fairscale.fair_dev.testing.testing import skip_if_no_cuda
  from fairscale.internal import torch_version
  from fairscale.nn.checkpoint.checkpoint_activations import checkpoint_wrapper, disable_checkpointing
  from fairscale.nn.misc import FlattenParamsWrapper
  from fairscale.nn.misc import checkpoint_wrapper
label_desc: Use image node_id 1 to create a new MultiinMultioutModel object from inherited base classes: nn with example: obj = MultiinMultioutModel(multiout, checkpoint_config)