code: def test_linear(predictor):
      net = nn.Sequential(nn.Linear(3, 3), nn.Linear(3, 3))
      profiler = NnMeterProfiler(net, torch.randn(1, 3), predictor)
      assert profiler.profile({}) < 1
  
      net = MutableLinear(1000, Categorical([2, 3000], label="x"))
      profiler = NnMeterProfiler(net, torch.randn(1, 1000), predictor)
      assert profiler.profile({"x": 2}) < profiler.profile({"x": 3000})
  
imports: import pytest
  import torch
  from torch import nn
  import nni
  from nni.mutable import Categorical
  from nni.nas.hub.pytorch import *
  from nni.nas.hub.pytorch.mobilenetv3 import SqueezeExcite
  from nni.nas.hub.pytorch.proxylessnas import ConvBNReLU, DepthwiseSeparableConv, InvertedResidual
  from nni.nas.nn.pytorch import MutableConv2d, MutableLinear, LayerChoice, Repeat
  from nni.nas.profiler.pytorch.nn_meter import NnMeterProfiler, to_onnx, combinations
  from nni.nas.profiler.pytorch.utils import MutableShape
  from nn_meter import load_latency_predictor
  from ut.nas.nn.models import MODELS
label_desc: Use image node_id 3 for calling a global function with example usage: test_linear(predictor) without return types