class_docstr: Search implementation of :class:`~nni.nas.strategy.DARTS`.
  
  The dataloader is expected to be a CombinedLoader with two keys: ``train`` and ``val``.
  
  See Also
  --------
  nni.nas.strategy.DARTS
  nni.nas.pytorch.oneshot.base_lightning.BaseOneShotLightningModule
class_docstr_tok: ["Search","implementation","of",":","class",":","`","~nni.nas.strategy.DARTS","`",".","The","dataloader","is","expected","to","be","a","CombinedLoader","with","two","keys",":","``","train","``","and","``","val","``",".","See","Also","--","--","--","--","nni.nas.strategy.DARTS","nni.nas.pytorch.oneshot.base_lightning.BaseOneShotLightningModule"]
code: def arch_parameters(self) -> list[nn.Parameter]:
      # The alpha in DartsXXXChoices are the architecture parameters of DARTS. They share one optimizer.
      ctrl_params = []
      for m in self.supernet_modules():
          if hasattr(m, "arch_parameters"):
              ctrl_params += list(m.arch_parameters())  # type: ignore
      # Follow the hyper-parameters used in
      # https://github.com/quark0/darts/blob/f276dd346a09ae3160f8e3aca5c7b193fda1da37/cnn/architect.py#L17
      return list(set(ctrl_params))
  
imports: from __future__ import annotations
  import logging
  import pytorch_lightning
  import torch
  import torch.nn
  import torch.optim
  from .base_lightning import BaseOneShotLightningModule
  from .supermodule.differentiable import GumbelSoftmax
  from .profiler import ExpectationProfilerPenalty
label_desc: Use image node_id 3 for calling the DartsLightningModule obj's underlying member method code with example usage: obj.arch_parameters() and returns: list