code: def test_proxyless_bp():
      op = ProxylessMixedLayer(
          {
              name: value(3, 3, 1)
              for name, value in OPS_WITH_STRIDE.items()
          },
          nn.Parameter(torch.randn(len(OPS_WITH_STRIDE))),
          nn.Softmax(-1),
          "proxyless",
      )
  
      optimizer = torch.optim.SGD(op.arch_parameters(), 0.1)
  
      for _ in range(10):
          x = torch.randn(1, 3, 9, 9).requires_grad_()
          assert op.resample({})["proxyless"] in OPS_WITH_STRIDE
          y = op(x).sum()
          optimizer.zero_grad()
          y.backward()
          assert op._arch_alpha.grad.abs().sum().item() != 0
  
      assert op.export({})["proxyless"] in OPS_WITH_STRIDE
  
imports: import random
  import pytest
  import torch
  import torch.nn
  from torch.utils.data import TensorDataset, DataLoader
  import nni
  from nni.mutable import frozen
  from nni.nas.hub.pytorch.nasbench201 import OPS_WITH_STRIDE
  from nni.nas.nn.pytorch import Repeat
  from nni.nas.oneshot.pytorch.supermodule.base import BaseSuperNetModule
  from nni.nas.oneshot.pytorch.supermodule.proxyless import ProxylessMixedLayer, ProxylessMixedInput, ProxylessMixedRepeat, _iter_tensors
  from pytorch_lightning import LightningModule, Trainer
label_desc: Use image node_id 2 for calling a global function with example usage: test_proxyless_bp() without return types