code: def cgo(request):
      remote = RemoteConfig(machine_list=[])
      remote.machine_list.append(
          RemoteMachineConfig(
              host="test", gpu_indices=list(range(request.param))
          )
      )
  
      cgo = CrossGraphOptimization(
          remote_config=remote, batch_waiting_time=0
      )
  
      yield cgo
  
      cgo.shutdown()
  
imports: from pathlib import Path
  import pytest
  import torch
  import torch.nn
  import torchmetrics
  from torchvision.datasets import MNIST
  from torchvision import transforms
  from pytorch_lightning import seed_everything
  import nni
  from nni.experiment.config import RemoteConfig, RemoteMachineConfig
  from nni.nas.evaluator.pytorch import Lightning, DataLoader
  from nni.nas.execution import SequentialExecutionEngine
  from nni.nas.execution.cgo import CrossGraphOptimization
  from nni.nas.execution.cgo.evaluator import MultiModelLightningModule, MultiModelTrainer
  from nni.nas.execution.cgo.logical_optimizer.logical_plan import LogicalPlan
  from nni.nas.execution.cgo.logical_optimizer.opt_dedup_input import DedupInputOptimizer
  from nni.nas.space import Node, ModelStatus
  from nni.nas.space.pytorch import PytorchGraphModelSpace
  from nni.runtime.trial_command_channel import get_default_trial_command_channel, set_default_trial_command_channel
  from ut.sdk.helper.trial_command_channel import TestHelperTrialCommandChannel
label_desc: Use image node_id 6 for calling a global function with example usage: cgo(request) without return types