class_docstr: Fixed architecture mutator that always selects a certain graph, allowing deepcopy
  
  Parameters
  ----------
  model : nn.Module
      A mutable network.
  fixed_arc : dict
      Preloaded architecture object.
  strict : bool
      Force everything that appears in ``fixed_arc`` to be used at least once.
  verbose : bool
      Print log messages if set to True
docstr: Replace all choices with selected candidates. It's done with best effort.
  In case of weighted choices or multiple choices. if some of the choices on weighted with zero, delete them.
  If single choice, replace the module with a normal module.
  
  Parameters
  ----------
  module : nn.Module
      Module to be processed.
  prefix : str
      Module name under global namespace.
docstr_tok: ["Replace","all","choices","with","selected","candidates",".","It","'s","done","with","best","effort",".","In","case","of","weighted","choices","or","multiple","choices",".","if","some","of","the","choices","on","weighted","with","zero",",","delete","them",".","If","single","choice",",","replace","the","module","with","a","normal","module",".","Parameters","--","--","--","--","--","module",":","nn.Module","Module","to","be","processed",".","prefix",":","str","Module","name","under","global","namespace","."]
code: def replace_all_choice(self, module=None, prefix=""):
      """
      Replace all choices with selected candidates. It's done with best effort.
      In case of weighted choices or multiple choices. if some of the choices on weighted with zero, delete them.
      If single choice, replace the module with a normal module.
  
      Parameters
      ----------
      module : nn.Module
          Module to be processed.
      prefix : str
          Module name under global namespace.
      """
  
      if module is None:
          module = self.model
      for name, mutable in module.named_children():
          global_name = (prefix + "." if prefix else "") + name
          if isinstance(mutable, OrderedLayerChoice):
              chosen = self._fixed_arc[mutable.key]
              if (
                  sum(chosen) == 1
                  and max(chosen) == 1
                  and not mutable.return_mask
              ):
                  # sum is one, max is one, there has to be an only one
                  # this is compatible with both integer arrays, boolean arrays and float arrays
                  setattr(module, name, mutable[chosen.index(1)])
              else:
                  # remove unused parameters
                  for ch, n in zip(chosen, mutable.names):
                      if ch == 0 and not isinstance(ch, float):
                          setattr(mutable, n, None)
          elif isinstance(mutable, OrderedInputChoice):
              chosen = self._fixed_arc[mutable.key]
              setattr(module, name, FixedInputChoice(chosen))
          else:
              self.replace_all_choice(mutable, global_name)
  
imports: from abc import abstractmethod
  import torch.nn
  from nni.nas.pytorch import mutables
  from nni.nas.pytorch.fixed import FixedArchitecture
  import json
  from copy import deepcopy
  import torch
  from ...model import BaseAutoModel
  from ....utils import get_logger
  from ..utils import get_hardware_aware_metric
label_desc: Use image node_id 2 for calling the CleanFixedArchitecture obj's underlying member method code with example usage: obj.replace_all_choice(module, prefix) without return types